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 2016/11/11 06:37:33 UTC
svn commit: r1769250 - in
/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model:
MergeUtility.java package-info.java
Author: cziegeler
Date: Fri Nov 11 06:37:33 2016
New Revision: 1769250
URL: http://svn.apache.org/viewvc?rev=1769250&view=rev
Log:
SLING-6272 : Comments in the provisioning model get lost
Modified:
sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/MergeUtility.java
sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/package-info.java
Modified: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/MergeUtility.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/MergeUtility.java?rev=1769250&r1=1769249&r2=1769250&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/MergeUtility.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/MergeUtility.java Fri Nov 11 06:37:33 2016
@@ -140,15 +140,18 @@ public abstract class MergeUtility {
baseFeature.getRunModes().clear();
baseFeature.getAdditionalSections().clear();
baseFeature.getVariables().clear();
+ baseFeature.setComment(null);
}
+ mergeComments(baseFeature, feature);
baseFeature.setType(feature.getType());
- // additional sections
+ // additional sections (sections are not cloned, therefore comments do not need to be merged)
baseFeature.getAdditionalSections().addAll(feature.getAdditionalSections());
// variables
baseFeature.getVariables().putAll(feature.getVariables());
+ mergeComments(baseFeature.getVariables(), feature.getVariables());
// run modes
for(final RunMode runMode : feature.getRunModes()) {
@@ -165,6 +168,8 @@ public abstract class MergeUtility {
for(final ArtifactGroup group : runMode.getArtifactGroups()) {
final ArtifactGroup baseGroup = baseRunMode.getOrCreateArtifactGroup(group.getStartLevel());
+ mergeComments(baseGroup, group);
+
int foundStartLevel = 0;
for(final Artifact artifact : group) {
@@ -198,6 +203,7 @@ public abstract class MergeUtility {
}
}
if ( addArtifact ) {
+ // artifacts are not cloned, therefore comments do not need to be merged
if ( group.getStartLevel() == 0 && foundStartLevel != 0 ) {
baseRunMode.getOrCreateArtifactGroup(foundStartLevel).add(artifact);
} else {
@@ -212,12 +218,14 @@ public abstract class MergeUtility {
final Configuration found = baseRunMode.getOrCreateConfiguration(config.getPid(), config.getFactoryPid());
mergeConfiguration(found, config);
+ mergeComments(found, config);
}
// settings
for(final Map.Entry<String, String> entry : runMode.getSettings() ) {
baseRunMode.getSettings().put(entry.getKey(), entry.getValue());
}
+ mergeComments(baseRunMode.getSettings(), runMode.getSettings());
}
}
@@ -380,4 +388,18 @@ public abstract class MergeUtility {
}
}
}
+
+ /**
+ * Merge the comments
+ * @param base The base model object
+ * @param additional The additional model object
+ * @since 1.9.0
+ */
+ public static void mergeComments(final Commentable base, final Commentable additional) {
+ if ( base.getComment() == null ) {
+ base.setComment(additional.getComment());
+ } else if ( additional.getComment() != null ) {
+ base.setComment(base.getComment() + "\n" + additional.getComment());
+ }
+ }
}
Modified: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/package-info.java?rev=1769250&r1=1769249&r2=1769250&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/package-info.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/package-info.java Fri Nov 11 06:37:33 2016
@@ -17,7 +17,7 @@
* under the License.
*/
-@org.osgi.annotation.versioning.Version("1.8.0")
+@org.osgi.annotation.versioning.Version("1.9.0")
package org.apache.sling.provisioning.model;