Author: tolusha
Date: 2010-09-29 04:07:16 -0400 (Wed, 29 Sep 2010)
New Revision: 3213
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
Log:
EXOJCR-747: when try to register component in parent container first try to unregister it,
It useful in case when try to register system workspace during restore.
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-09-28
21:55:03 UTC (rev 3212)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-09-29
08:07:16 UTC (rev 3213)
@@ -253,8 +253,12 @@
workspaceContainer.registerComponentImplementation(containerType);
if (isSystem)
{
- registerComponentInstance(new
SystemDataContainerHolder((WorkspaceDataContainer)workspaceContainer
- .getComponentInstanceOfType(WorkspaceDataContainer.class)));
+ if (getComponentInstanceOfType(SystemDataContainerHolder.class) != null)
+ {
+ unregisterComponent(SystemDataContainerHolder.class);
+ }
+ registerComponentInstance(new SystemDataContainerHolder(
+
(WorkspaceDataContainer)workspaceContainer.getComponentInstanceOfType(WorkspaceDataContainer.class)));
}
}
catch (ClassNotFoundException e)
@@ -379,6 +383,11 @@
{
// system workspace
systemDataManager = wsDataManager;
+
+ if (getComponentInstanceOfType(LocalWorkspaceDataManagerStub.class) != null)
+ {
+ unregisterComponent(LocalWorkspaceDataManagerStub.class);
+ }
registerComponentInstance(systemDataManager);
}
Show replies by date