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 2018/07/25 19:19:50 UTC

[sling-org-apache-sling-feature-io] branch master updated: SLING-7784 : Unable to add comments to the removals → bundles section

This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-io.git


The following commit(s) were added to refs/heads/master by this push:
     new 193b49f  SLING-7784 : Unable to add comments to the removals → bundles section
193b49f is described below

commit 193b49fd747ff93a52c154e839e2a65cce5d669f
Author: Carsten Ziegeler <cz...@adobe.com>
AuthorDate: Wed Jul 25 21:19:43 2018 +0200

    SLING-7784 : Unable to add comments to the removals → bundles section
---
 .../sling/feature/io/json/FeatureJSONReader.java   | 26 +++++++++++-------
 .../sling/feature/io/json/JSONReaderBase.java      | 32 ++++++++++++----------
 2 files changed, 34 insertions(+), 24 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/io/json/FeatureJSONReader.java b/src/main/java/org/apache/sling/feature/io/json/FeatureJSONReader.java
index bff858a..0862253 100644
--- a/src/main/java/org/apache/sling/feature/io/json/FeatureJSONReader.java
+++ b/src/main/java/org/apache/sling/feature/io/json/FeatureJSONReader.java
@@ -16,14 +16,6 @@
  */
 package org.apache.sling.feature.io.json;
 
-import org.apache.felix.utils.resource.CapabilityImpl;
-import org.apache.felix.utils.resource.RequirementImpl;
-import org.apache.sling.feature.ArtifactId;
-import org.apache.sling.feature.Feature;
-import org.apache.sling.feature.Include;
-import org.osgi.resource.Capability;
-import org.osgi.resource.Requirement;
-
 import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
@@ -36,6 +28,14 @@ import java.util.function.BiConsumer;
 import javax.json.Json;
 import javax.json.JsonObject;
 
+import org.apache.felix.utils.resource.CapabilityImpl;
+import org.apache.felix.utils.resource.RequirementImpl;
+import org.apache.sling.feature.ArtifactId;
+import org.apache.sling.feature.Feature;
+import org.apache.sling.feature.Include;
+import org.osgi.resource.Capability;
+import org.osgi.resource.Requirement;
+
 /**
  * This class offers a method to read a {@code Feature} using a {@code Reader} instance.
  */
@@ -210,6 +210,9 @@ public class FeatureJSONReader extends JSONReaderBase {
                             final List<Object> list = (List<Object>)removalObj.get(JSONConstants.FEATURE_BUNDLES);
                             for(final Object val : list) {
                                 checkType("Include removal bundles", val, String.class);
+                                if ( val.toString().startsWith("#")) {
+                                    continue;
+                                }
                                 include.getBundleRemovals().add(ArtifactId.parse(val.toString()));
                             }
                         }
@@ -218,7 +221,7 @@ public class FeatureJSONReader extends JSONReaderBase {
                             @SuppressWarnings("unchecked")
                             final List<Object> list = (List<Object>)removalObj.get(JSONConstants.FEATURE_CONFIGURATIONS);
                             for(final Object val : list) {
-                                checkType("Include removal bundles", val, String.class);
+                                checkType("Include removal configuration", val, String.class);
                                 include.getConfigurationRemovals().add(val.toString());
                             }
                         }
@@ -227,7 +230,7 @@ public class FeatureJSONReader extends JSONReaderBase {
                             @SuppressWarnings("unchecked")
                             final List<Object> list = (List<Object>)removalObj.get(JSONConstants.FEATURE_FRAMEWORK_PROPERTIES);
                             for(final Object val : list) {
-                                checkType("Include removal bundles", val, String.class);
+                                checkType("Include removal framework properties", val, String.class);
                                 include.getFrameworkPropertiesRemovals().add(val.toString());
                             }
                         }
@@ -238,6 +241,9 @@ public class FeatureJSONReader extends JSONReaderBase {
                             for(final Object val : list) {
                                 checkType("Include removal extension", val, String.class, Map.class);
                                 if ( val instanceof String ) {
+                                    if ( val.toString().startsWith("#")) {
+                                        continue;
+                                    }
                                     include.getExtensionRemovals().add(val.toString());
                                 } else {
                                     @SuppressWarnings("unchecked")
diff --git a/src/main/java/org/apache/sling/feature/io/json/JSONReaderBase.java b/src/main/java/org/apache/sling/feature/io/json/JSONReaderBase.java
index 35738bc..2ee18ef 100644
--- a/src/main/java/org/apache/sling/feature/io/json/JSONReaderBase.java
+++ b/src/main/java/org/apache/sling/feature/io/json/JSONReaderBase.java
@@ -16,20 +16,6 @@
  */
 package org.apache.sling.feature.io.json;
 
-import org.apache.felix.configurator.impl.json.JSMin;
-import org.apache.felix.configurator.impl.json.JSONUtil;
-import org.apache.felix.configurator.impl.json.TypeConverter;
-import org.apache.felix.configurator.impl.model.Config;
-import org.apache.sling.feature.Artifact;
-import org.apache.sling.feature.ArtifactId;
-import org.apache.sling.feature.Bundles;
-import org.apache.sling.feature.Configuration;
-import org.apache.sling.feature.Configurations;
-import org.apache.sling.feature.Extension;
-import org.apache.sling.feature.ExtensionType;
-import org.apache.sling.feature.Extensions;
-import org.apache.sling.feature.KeyValueMap;
-
 import java.io.IOException;
 import java.io.Reader;
 import java.io.StringWriter;
@@ -55,6 +41,20 @@ import javax.json.JsonObjectBuilder;
 import javax.json.JsonStructure;
 import javax.json.JsonWriter;
 
+import org.apache.felix.configurator.impl.json.JSMin;
+import org.apache.felix.configurator.impl.json.JSONUtil;
+import org.apache.felix.configurator.impl.json.TypeConverter;
+import org.apache.felix.configurator.impl.model.Config;
+import org.apache.sling.feature.Artifact;
+import org.apache.sling.feature.ArtifactId;
+import org.apache.sling.feature.Bundles;
+import org.apache.sling.feature.Configuration;
+import org.apache.sling.feature.Configurations;
+import org.apache.sling.feature.Extension;
+import org.apache.sling.feature.ExtensionType;
+import org.apache.sling.feature.Extensions;
+import org.apache.sling.feature.KeyValueMap;
+
 /**
  * Common methods for JSON reading.
  */
@@ -224,6 +224,10 @@ abstract class JSONReaderBase {
             final Artifact artifact;
             checkType(artifactType, entry, Map.class, String.class);
             if ( entry instanceof String ) {
+                // skip comments
+                if ( entry.toString().startsWith("#") ) {
+                    continue;
+                }
                 artifact = new Artifact(ArtifactId.parse(handleResolveVars(entry).toString()));
             } else {
                 @SuppressWarnings("unchecked")