X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=server%2Fruntime%2Forg.argeo.server.modeshape%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fmodeshape%2FFileSystemRepository.java;fp=server%2Fruntime%2Forg.argeo.server.modeshape%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fmodeshape%2FFileSystemRepository.java;h=7516b6a91eee86075a0b24041aeea1ef51b6b153;hb=070a35d657ea75fa168759b739d8671386048da6;hp=0000000000000000000000000000000000000000;hpb=e66aaec2ccef450471c2301adc348d829b39e212;p=lgpl%2Fargeo-commons.git diff --git a/server/runtime/org.argeo.server.modeshape/src/main/java/org/argeo/modeshape/FileSystemRepository.java b/server/runtime/org.argeo.server.modeshape/src/main/java/org/argeo/modeshape/FileSystemRepository.java new file mode 100644 index 000000000..7516b6a91 --- /dev/null +++ b/server/runtime/org.argeo.server.modeshape/src/main/java/org/argeo/modeshape/FileSystemRepository.java @@ -0,0 +1,45 @@ +package org.argeo.modeshape; + +import java.util.UUID; + +import javax.jcr.Repository; +import javax.jcr.RepositoryException; +import javax.jcr.Session; +import javax.jcr.SimpleCredentials; + +import org.argeo.jcr.JcrUtils; +import org.modeshape.connector.filesystem.FileSystemSource; +import org.modeshape.jcr.JcrConfiguration; +import org.modeshape.jcr.JcrEngine; + +public class FileSystemRepository { + public void init() { + try { + // Required in order to load mime type definitions + Thread.currentThread().setContextClassLoader(JcrConfiguration.class.getClassLoader()); + JcrConfiguration config = new JcrConfiguration(); + config.repositorySource("fsSource") + .usingClass(FileSystemSource.class) + .setDescription("The repository for our content") + .setProperty("workspaceRootPath", "/home/mbaudier/tmp") + .setProperty("defaultWorkspaceName", "prod") + .setProperty("predefinedWorkspaceNames", + new String[] { "staging", "dev" }) + .setProperty( + "rootNodeUuid", + UUID.fromString("fd129c12-81a8-42ed-aa4b-820dba49e6f0")) + .setProperty("updatesAllowed", "true") + .setProperty("creatingWorkspaceAllowed", "false"); + config.repository("fsRepo").setSource("fsSource"); + + JcrEngine jcrEngine = config.build(); + jcrEngine.start(); + Repository repository = jcrEngine.getRepository("fsRepo"); + Session session = repository.login(new SimpleCredentials("demo", + "demo".toCharArray())); + JcrUtils.debug(session.getRootNode()); + } catch (RepositoryException e) { + e.printStackTrace(); + } + } +}