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 <cziege...@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" <commits@sling.apache.org>.

Reply via email to