package org.example; import java.net.URL; import javax.jcr.Node; import javax.jcr.ValueFactory; import javax.jcr.Workspace; import junit.framework.TestCase; import org.exoplatform.container.StandaloneContainer; import org.exoplatform.services.jcr.RepositoryService; import org.exoplatform.services.jcr.config.WorkspaceEntry; import org.exoplatform.services.jcr.core.CredentialsImpl; import org.exoplatform.services.jcr.core.ManageableRepository; import org.exoplatform.services.jcr.core.WorkspaceContainerFacade; import org.exoplatform.services.jcr.impl.core.RepositoryImpl; import org.exoplatform.services.jcr.impl.core.SessionImpl; import org.exoplatform.services.jcr.impl.dataflow.serialization.ReaderSpoolFileHolder; import org.exoplatform.services.jcr.impl.util.io.FileCleaner; import org.exoplatform.services.jcr.impl.util.io.FileCleanerHolder; import org.exoplatform.services.jcr.storage.WorkspaceDataContainer; import org.exoplatform.services.log.ExoLogger; import org.exoplatform.services.log.Log; public class HelloJCRTest extends TestCase { protected static Log log = ExoLogger .getLogger("exo.jcr.component.core.JCRTest"); protected static String TEMP_PATH = "./temp/fsroot"; protected static String WORKSPACE = "ws"; protected SessionImpl session; protected RepositoryImpl repository; protected CredentialsImpl credentials; protected Workspace workspace; protected RepositoryService repositoryService; protected Node root; protected ValueFactory valueFactory; protected StandaloneContainer container; public int maxBufferSize = 200 * 1024; public FileCleaner fileCleaner; public ReaderSpoolFileHolder holder; public void setUp() throws Exception { String configPath = "/conf/standalone/test-configuration-ijdbc-jbc.xml"; URL configUrl = HelloJCRTest.class.getResource(configPath); System.out.println(configUrl); if (configUrl != null) { StandaloneContainer.addConfigurationURL(configUrl.toString()); } else { StandaloneContainer.addConfigurationPath(configPath); } // .addConfigurationPath("src/test/java/conf/standalone/test-configuration.xml"); // .addConfigurationPath("src/test/java/conf/standalone/test-configuration-sjdbc.xml"); // .addConfigurationPath("src/test/java/conf/standalone/test-configuration-sjdbc.pgsql.xml"); // .addConfigurationPath("src/test/java/conf/standalone/test-configuration-sjdbc.ora.xml"); // .addConfigurationPath("src/test/java/conf/standalone/test-configuration-mjdbc.mysql.xml"); String loginConf = HelloJCRTest.class.getResource("/login.conf") .toString(); container = StandaloneContainer.getInstance(); if (System.getProperty("java.security.auth.login.config") == null) { System.setProperty("java.security.auth.login.config", loginConf); } credentials = new CredentialsImpl("admin", "admin".toCharArray()); repositoryService = (RepositoryService) container .getComponentInstanceOfType(RepositoryService.class); repository = (RepositoryImpl) repositoryService.getDefaultRepository(); session = (SessionImpl) repository.login(credentials, "ws"); workspace = session.getWorkspace(); root = session.getRootNode(); valueFactory = session.getValueFactory(); // initRepository(); ManageableRepository repository = repositoryService .getDefaultRepository(); WorkspaceContainerFacade wsc = repository.getWorkspaceContainer("ws"); WorkspaceEntry wconf = (WorkspaceEntry) wsc .getComponent(WorkspaceEntry.class); maxBufferSize = wconf.getContainer().getParameterInteger( WorkspaceDataContainer.MAXBUFFERSIZE_PROP, WorkspaceDataContainer.DEF_MAXBUFFERSIZE); fileCleaner = FileCleanerHolder.getDefaultFileCleaner(); holder = new ReaderSpoolFileHolder(); } public void tearDown() throws Exception { // session = (SessionImpl) repository.login(credentials, WORKSPACE); // Node root = session.getRootNode(); // Node node = root.getNode("TestNodesTree"); // node.remove(); // root.save(); // // node.save();ipossible to call save() on removed node // // super.tearDown(); } public void testSayHello_String() throws Exception { Node root = session.getRootNode(); root.addNode("hello", "nt:unstructured"); Node node = root.getNode("hello"); System.out.println(node.getName()); assertTrue(true); } }