[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