Work on JCR remoting
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jackrabbit / src / main / java / org / argeo / server / jackrabbit / JackrabbitContainer.java
index 1be03827a914aba67432d86df4d7a63729ca096f..6ec6065a542b7f2f3d8f422b9c6bfb9c7bef3609 100644 (file)
@@ -77,6 +77,8 @@ public class JackrabbitContainer implements InitializingBean, DisposableBean,
        /** Namespaces to register: key is prefix, value namespace */
        private Map<String, String> namespaces = new HashMap<String, String>();
 
+       private Boolean autocreateWorkspaces = false;
+
        public void afterPropertiesSet() throws Exception {
                // Load cnds as resources
                for (String resUrl : cndFiles) {
@@ -162,7 +164,10 @@ public class JackrabbitContainer implements InitializingBean, DisposableBean,
                try {
                        session = repository.login(credentials, workspaceName);
                } catch (NoSuchWorkspaceException e) {
-                       session = createWorkspaceAndLogsIn(credentials, workspaceName);
+                       if (autocreateWorkspaces)
+                               session = createWorkspaceAndLogsIn(credentials, workspaceName);
+                       else
+                               throw e;
                }
                processNewSession(session);
                return session;
@@ -181,7 +186,10 @@ public class JackrabbitContainer implements InitializingBean, DisposableBean,
                try {
                        session = repository.login(workspaceName);
                } catch (NoSuchWorkspaceException e) {
-                       session = createWorkspaceAndLogsIn(null, workspaceName);
+                       if (autocreateWorkspaces)
+                               session = createWorkspaceAndLogsIn(null, workspaceName);
+                       else
+                               throw e;
                }
                processNewSession(session);
                return session;