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 5b5ddd5c2ed049ba3716fa67c78c4e4ecbf17cf0 Author: Carsten Ziegeler <cziege...@apache.org> AuthorDate: Mon May 14 16:17:59 2012 +0000 SLING-2450 : JcrInstaller generates incorrect node name in /apps/system/config (or else the installer doesn't process the nodename properly) git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/installer/factories/configuration@1338272 13f79535-47bb-0310-9956-ffa450edef68 --- .../configuration/impl/AbstractConfigTask.java | 7 ++++++- .../factories/configuration/impl/ConfigTaskCreator.java | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 2 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 84cdfa9..c1d82e5 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 @@ -80,7 +80,12 @@ abstract class AbstractConfigTask extends InstallTask { if ( this.aliasPid == null || this.factoryPid == null ) { return null; } - return factoryPid + "." + this.aliasPid; + final String alias = factoryPid + "." + this.aliasPid; + final int pos = this.getResource().getEntityId().indexOf(':'); + if ( this.getResource().getEntityId().substring(pos + 1).equals(alias) ) { + return null; + } + return alias; } protected Dictionary<String, Object> getDictionary() { diff --git a/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java b/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java index 3ee9fde..b14dbd3 100644 --- a/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java +++ b/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java @@ -181,7 +181,22 @@ public class ConfigTaskCreator final String configPid; int n = pid.indexOf('-'); if (n > 0) { - configPid = pid.substring(n + 1); + // quick check if this is an existing configuration + final String fString = pid.substring(0, n); + final String cString = pid.substring(n + 1); + boolean useExtendedPid = false; + try { + if ( ConfigUtil.getConfiguration(this.configAdmin, fString, fString + '.' + cString, false) != null ) { + useExtendedPid = true; + } + } catch ( final Exception ignore) { + // ignore this + } + if ( useExtendedPid ) { + configPid = fString + '.' + cString; + } else { + configPid = pid.substring(n + 1); + } factoryPid = pid.substring(0, n); } else { factoryPid = null; -- To stop receiving notification emails like this one, please contact "commits@sling.apache.org" <commits@sling.apache.org>.