]> git.argeo.org Git - lgpl/argeo-commons.git/blob - server/runtime/org.argeo.server.modeshape/src/main/java/org/argeo/modeshape/FileSystemRepository.java
[maven-release-plugin] prepare for next development iteration
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.modeshape / src / main / java / org / argeo / modeshape / FileSystemRepository.java
1 package org.argeo.modeshape;
2
3 import java.util.UUID;
4
5 import javax.jcr.Repository;
6 import javax.jcr.RepositoryException;
7 import javax.jcr.Session;
8 import javax.jcr.SimpleCredentials;
9
10 import org.argeo.jcr.JcrUtils;
11 import org.modeshape.connector.filesystem.FileSystemSource;
12 import org.modeshape.jcr.JcrConfiguration;
13 import org.modeshape.jcr.JcrEngine;
14
15 public class FileSystemRepository {
16 public void init() {
17 try {
18 // Required in order to load mime type definitions
19 Thread.currentThread().setContextClassLoader(JcrConfiguration.class.getClassLoader());
20 JcrConfiguration config = new JcrConfiguration();
21 config.repositorySource("fsSource")
22 .usingClass(FileSystemSource.class)
23 .setDescription("The repository for our content")
24 .setProperty("workspaceRootPath", "/home/mbaudier/tmp")
25 .setProperty("defaultWorkspaceName", "prod")
26 .setProperty("predefinedWorkspaceNames",
27 new String[] { "staging", "dev" })
28 .setProperty(
29 "rootNodeUuid",
30 UUID.fromString("fd129c12-81a8-42ed-aa4b-820dba49e6f0"))
31 .setProperty("updatesAllowed", "true")
32 .setProperty("creatingWorkspaceAllowed", "false");
33 config.repository("fsRepo").setSource("fsSource");
34
35 JcrEngine jcrEngine = config.build();
36 jcrEngine.start();
37 Repository repository = jcrEngine.getRepository("fsRepo");
38 Session session = repository.login(new SimpleCredentials("demo",
39 "demo".toCharArray()));
40 JcrUtils.debug(session.getRootNode());
41 } catch (RepositoryException e) {
42 e.printStackTrace();
43 }
44 }
45 }