[exo-jcr-commits] exo-jcr SVN: r2443 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: config and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri May 28 06:29:30 EDT 2010
Author: areshetnyak
Date: 2010-05-28 06:29:30 -0400 (Fri, 28 May 2010)
New Revision: 2443
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/config/RepositoryServiceConfigurationImpl.java
Log:
EXOJCR-735 : Add merge extend configuration with persisted config.
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-05-28 09:59:52 UTC (rev 2442)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-05-28 10:29:30 UTC (rev 2443)
@@ -62,6 +62,7 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -534,8 +535,27 @@
private void registerWorkspacesComponents() throws RepositoryException, RepositoryConfigurationException
{
- List<WorkspaceEntry> wsEntries = config.getWorkspaceEntries();
- Collections.sort(wsEntries, new WorkspaceOrderComparator(config.getSystemWorkspaceName()));
+ List<WorkspaceEntry> wsEntries = new ArrayList<WorkspaceEntry>();
+
+ for (WorkspaceEntry ws : config.getWorkspaceEntries())
+ {
+ if (ws.getName().equals(config.getSystemWorkspaceName()))
+ {
+ if (wsEntries.size() == 0)
+ {
+ wsEntries.add(ws);
+ }
+ else
+ {
+ wsEntries.add(0, ws);
+ }
+ }
+ else
+ {
+ wsEntries.add(ws);
+ }
+ }
+
for (int i = 0; i < wsEntries.size(); i++)
{
registerWorkspace(wsEntries.get(i));
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java 2010-05-28 09:59:52 UTC (rev 2442)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java 2010-05-28 10:29:30 UTC (rev 2443)
@@ -254,6 +254,20 @@
if (configExtensionPaths.isEmpty() || (configurationPersister != null && configurationPersister.hasConfig()))
{
initFromStream(configurationService.getInputStream(param.getValue()));
+
+ if (!configExtensionPaths.isEmpty())
+ {
+ String[] paths = (String[])configExtensionPaths.toArray(new String[configExtensionPaths.size()]);
+ for (int i = paths.length - 1; i >= 0; i--)
+ {
+ merge(configurationService.getInputStream(paths[i]));
+ }
+ // Store the merged configuration
+ if (configurationPersister != null)
+ {
+ retain();
+ }
+ }
}
else
{
More information about the exo-jcr-commits
mailing list