You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2012/05/14 18:18:00 UTC
svn commit: r1338272 - in
/sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl:
AbstractConfigTask.java ConfigTaskCreator.java
Author: cziegeler
Date: Mon May 14 16:17:59 2012
New Revision: 1338272
URL: http://svn.apache.org/viewvc?rev=1338272&view=rev
Log:
SLING-2450 : JcrInstaller generates incorrect node name in /apps/system/config (or else the installer doesn't process the nodename properly)
Modified:
sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java
sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java
Modified: sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java?rev=1338272&r1=1338271&r2=1338272&view=diff
==============================================================================
--- sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java (original)
+++ sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/AbstractConfigTask.java Mon May 14 16:17:59 2012
@@ -80,7 +80,12 @@ abstract class AbstractConfigTask extend
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() {
Modified: sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java?rev=1338272&r1=1338271&r2=1338272&view=diff
==============================================================================
--- sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java (original)
+++ sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java Mon May 14 16:17:59 2012
@@ -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;