[exo-jcr-commits] exo-jcr SVN: r2379 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: core and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu May 13 09:47:27 EDT 2010


Author: tolusha
Date: 2010-05-13 09:47:26 -0400 (Thu, 13 May 2010)
New Revision: 2379

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryServiceImpl.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java
Log:
EXOJCR-707: synchronized createRepository & createWorkspace methods

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryServiceImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryServiceImpl.java	2010-05-13 13:09:36 UTC (rev 2378)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryServiceImpl.java	2010-05-13 13:47:26 UTC (rev 2379)
@@ -45,6 +45,7 @@
 import java.util.Map;
 import java.util.StringTokenizer;
 import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
 
 import javax.jcr.NamespaceException;
 import javax.jcr.NamespaceRegistry;
@@ -140,7 +141,8 @@
     * Add namespaces and nodetypes from service plugins.
     * 
     */
-   public void createRepository(RepositoryEntry rEntry) throws RepositoryConfigurationException, RepositoryException
+   public synchronized void createRepository(RepositoryEntry rEntry) throws RepositoryConfigurationException,
+      RepositoryException
    {
       if (repositoryContainers.containsKey(rEntry.getName()))
       {
@@ -162,8 +164,9 @@
          //TODO will be implemented unregistration in managerStartChanges
          //managerStartChanges.removeListeners(repositoryContainer);
          repositoryContainers.remove(rEntry.getName());
-         
-         throw new RepositoryConfigurationException("Repository conatainer " + rEntry.getName() + " was not started.", t);
+
+         throw new RepositoryConfigurationException("Repository conatainer " + rEntry.getName() + " was not started.",
+            t);
       }
 
       if (!config.getRepositoryConfigurations().contains(rEntry))
@@ -423,13 +426,9 @@
    public class ManagerStartChanges
    {
 
-      private HashMap<StorageKey, ItemsPersistenceListener> startChangesListeners;
+      private Map<StorageKey, ItemsPersistenceListener> startChangesListeners =
+         new HashMap<StorageKey, ItemsPersistenceListener>();
 
-      ManagerStartChanges()
-      {
-         startChangesListeners = new HashMap<StorageKey, ItemsPersistenceListener>();
-      }
-
       /**
        * Add new StartChangesPlugin to manager.
        * 

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java	2010-05-13 13:09:36 UTC (rev 2378)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java	2010-05-13 13:47:26 UTC (rev 2379)
@@ -228,7 +228,7 @@
     * @param workspaceName - Creates a new Workspace with the specified name
     * @throws RepositoryException
     */
-   public void createWorkspace(String workspaceName) throws RepositoryException
+   public synchronized void createWorkspace(String workspaceName) throws RepositoryException
    {
 
       if (isWorkspaceInitialized(workspaceName))



More information about the exo-jcr-commits mailing list