]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/core/AbstractJcrRepoManager.java
Manage licences
[gpl/argeo-slc.git] / runtime / org.argeo.slc.repo / src / main / java / org / argeo / slc / repo / core / AbstractJcrRepoManager.java
index 7eb57a2d4e747608e62a7a275c677284b0de41fd..4bdda83cf6eb02e2da4460e8ded1c1540581cd2a 100644 (file)
@@ -76,8 +76,9 @@ abstract class AbstractJcrRepoManager {
        }
 
        protected void workspaceInit(String workspaceName) {
+               Session workspaceAdminSession = null;
                try {
-                       Session workspaceAdminSession = jcrRepository.login(workspaceName);
+                       workspaceAdminSession = jcrRepository.login(workspaceName);
                        workspaceSessions.put(workspaceName, adminSession);
                        JcrUtils.addPrivilege(workspaceAdminSession, "/",
                                        SlcConstants.ROLE_SLC, "jcr:all");
@@ -86,6 +87,8 @@ abstract class AbstractJcrRepoManager {
                        workspaceIndexers.put(workspaceName, workspaceIndexer);
                } catch (RepositoryException e) {
                        log.error("Cannot initialize workspace " + workspaceName, e);
+               } finally {
+                       JcrUtils.logoutQuietly(workspaceAdminSession);
                }
        }
 
@@ -100,5 +103,4 @@ abstract class AbstractJcrRepoManager {
        public void setSecurityWorkspace(String securityWorkspace) {
                this.securityWorkspace = securityWorkspace;
        }
-
-}
+}
\ No newline at end of file