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
{
Show replies by date