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>.