You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/03/08 09:36:10 UTC
svn commit: r1785938 - in
/sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl:
ConfigInstallTask.java ConfigUtil.java
Author: rombert
Date: Wed Mar 8 09:36:10 2017
New Revision: 1785938
URL: http://svn.apache.org/viewvc?rev=1785938&view=rev
Log:
SLING-6313 - Sling installer can duplicate factory configurations if an
invalid RegisteredResourceList.ser is found
Reinstate the behaviour of adding a
'org.apache.sling.installer.osgi.factoryaliaspid' property to factory
configs to prevent duplicate factory configurations from being
generated.
Modified:
sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigInstallTask.java
sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java
Modified: sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigInstallTask.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigInstallTask.java?rev=1785938&r1=1785937&r2=1785938&view=diff
==============================================================================
--- sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigInstallTask.java (original)
+++ sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigInstallTask.java Wed Mar 8 09:36:10 2017
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.factories.configuration.impl;
+import java.util.Dictionary;
+
import org.apache.sling.installer.api.tasks.InstallationContext;
import org.apache.sling.installer.api.tasks.ResourceState;
import org.apache.sling.installer.api.tasks.TaskResourceGroup;
@@ -72,7 +74,11 @@ public class ConfigInstallTask extends A
}
if (config != null) {
- config.update(getDictionary());
+ Dictionary<String, Object> dictionary = getDictionary();
+ if ( this.factoryPid != null && this.configPid != null ) {
+ dictionary.put(ConfigUtil.ALIAS_KEY, this.configPid);
+ }
+ config.update(dictionary);
ctx.log("Installed configuration {} from resource {}", config.getPid(), getResource());
if ( this.factoryPid != null ) {
this.aliasPid = config.getPid();
Modified: sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java?rev=1785938&r1=1785937&r2=1785938&view=diff
==============================================================================
--- sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java (original)
+++ sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java Wed Mar 8 09:36:10 2017
@@ -48,10 +48,9 @@ abstract class ConfigUtil {
private static final String CONFIG_PATH_KEY = "org.apache.sling.installer.osgi.path";
/**
- * This property has been used in older versions to keep track of factory
- * configurations.
+ * This property is used to keep track of factory configurations.
*/
- private static final String ALIAS_KEY = "org.apache.sling.installer.osgi.factoryaliaspid";
+ static final String ALIAS_KEY = "org.apache.sling.installer.osgi.factoryaliaspid";
/** Configuration properties to ignore when comparing configs */
private static final Set<String> IGNORED_PROPERTIES = new HashSet<String>();