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/11/07 09:42:51 UTC

[sling-org-apache-sling-installer-factory-configuration] 15/40: SLING-2342 : Support old factory configurations

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.installer.factory.configuration-1.0.10
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-installer-factory-configuration.git

commit 4186ea683f703c0de9a168fafdb6214c23de2814
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Dec 22 10:52:58 2011 +0000

    SLING-2342 : Support old factory configurations
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/installer/factories/configuration@1222174 13f79535-47bb-0310-9956-ffa450edef68
---
 .../factories/configuration/impl/AbstractConfigTask.java   |  2 +-
 .../installer/factories/configuration/impl/ConfigUtil.java | 14 ++++++++++++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java b/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java
index 5b98118..84cdfa9 100644
--- a/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java
+++ b/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java
@@ -90,6 +90,6 @@ abstract class AbstractConfigTask extends InstallTask {
     protected Configuration getConfiguration(final ConfigurationAdmin ca,
                                              final boolean createIfNeeded)
     throws IOException, InvalidSyntaxException {
-        return ConfigUtil.getConfiguration(ca, this.factoryPid, (this.factoryPid != null ? this.aliasPid : this.configPid), createIfNeeded);
+        return ConfigUtil.getConfiguration(ca, this.factoryPid, (this.factoryPid != null && this.aliasPid != null ? this.aliasPid : this.configPid), createIfNeeded);
     }
 }
diff --git a/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java b/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java
index 582e6ca..552345c 100644
--- a/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java
+++ b/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java
@@ -147,8 +147,18 @@ abstract class ConfigUtil {
                         + "))");
             }
             if (configs == null || configs.length == 0) {
-                if (createIfNeeded) {
-                    result = ca.createFactoryConfiguration(factoryPid, null);
+                // check for old style with alias pid
+                configs = ca.listConfigurations(
+                        "(&(" + ConfigurationAdmin.SERVICE_FACTORYPID
+                        + "=" + factoryPid + ")(" + ALIAS_KEY + "=" + configPid
+                        + "))");
+
+                if (configs == null || configs.length == 0) {
+                    if (createIfNeeded) {
+                        result = ca.createFactoryConfiguration(factoryPid, null);
+                    }
+                } else {
+                    result = configs[0];
                 }
             } else {
                 result = configs[0];

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.