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/11/13 08:53:16 UTC

[sling-org-apache-sling-feature-io] branch master updated: SLING-8100 : Add complete flag to Feature

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 c34cd0b  SLING-8100 : Add complete flag to Feature
c34cd0b is described below

commit c34cd0b194afc6623d0a7551661525bbb7ce951e
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Nov 13 09:53:06 2018 +0100

    SLING-8100 : Add complete flag to Feature
---
 .../java/org/apache/sling/feature/io/json/FeatureJSONReader.java   | 7 +++++++
 .../java/org/apache/sling/feature/io/json/FeatureJSONWriter.java   | 4 ++++
 src/main/java/org/apache/sling/feature/io/json/JSONConstants.java  | 3 +++
 src/main/resources/META-INF/feature/Feature-1.0.0.schema.json      | 6 ++++++
 4 files changed, 20 insertions(+)

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 33ca6e3..8cdeb0b 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
@@ -87,6 +87,13 @@ public class FeatureJSONReader extends JSONReaderBase {
             this.feature.setFinal(((Boolean) finalObj).booleanValue());
         }
 
+        // complete flag
+        if (map.containsKey(JSONConstants.FEATURE_COMPLETE)) {
+            final Object completeObj = map.get(JSONConstants.FEATURE_COMPLETE);
+            checkType(JSONConstants.FEATURE_COMPLETE, completeObj, Boolean.class);
+            this.feature.setComplete(((Boolean) completeObj).booleanValue());
+        }
+
         // title, description, vendor and license
         this.feature.setTitle(getProperty(map, JSONConstants.FEATURE_TITLE));
         this.feature.setDescription(getProperty(map, JSONConstants.FEATURE_DESCRIPTION));
diff --git a/src/main/java/org/apache/sling/feature/io/json/FeatureJSONWriter.java b/src/main/java/org/apache/sling/feature/io/json/FeatureJSONWriter.java
index 88dd549..c2f8cd5 100644
--- a/src/main/java/org/apache/sling/feature/io/json/FeatureJSONWriter.java
+++ b/src/main/java/org/apache/sling/feature/io/json/FeatureJSONWriter.java
@@ -58,6 +58,10 @@ public class FeatureJSONWriter extends JSONWriterBase {
             generator.write(JSONConstants.FEATURE_FINAL, true);
         }
 
+        if (feature.isComplete()) {
+            generator.write(JSONConstants.FEATURE_COMPLETE, true);
+        }
+
         // title, description, vendor, license
         writeProperty(generator, JSONConstants.FEATURE_TITLE, feature.getTitle());
         writeProperty(generator, JSONConstants.FEATURE_DESCRIPTION, feature.getDescription());
diff --git a/src/main/java/org/apache/sling/feature/io/json/JSONConstants.java b/src/main/java/org/apache/sling/feature/io/json/JSONConstants.java
index a5f9144..196dfed 100644
--- a/src/main/java/org/apache/sling/feature/io/json/JSONConstants.java
+++ b/src/main/java/org/apache/sling/feature/io/json/JSONConstants.java
@@ -49,6 +49,8 @@ public abstract class JSONConstants {
 
     static final String FEATURE_FINAL = "final";
 
+    static final String FEATURE_COMPLETE = "complete";
+
     static final String FEATURE_MODEL_VERSION = "model-version";
 
     static final List<String> FEATURE_KNOWN_PROPERTIES = Arrays.asList(FEATURE_ID,
@@ -64,6 +66,7 @@ public abstract class JSONConstants {
             FEATURE_DESCRIPTION,
             FEATURE_VENDOR,
             FEATURE_FINAL,
+            FEATURE_COMPLETE,
             FEATURE_LICENSE);
 
     static final String ARTIFACT_ID = "id";
diff --git a/src/main/resources/META-INF/feature/Feature-1.0.0.schema.json b/src/main/resources/META-INF/feature/Feature-1.0.0.schema.json
index 0bc0c36..14d5c59 100644
--- a/src/main/resources/META-INF/feature/Feature-1.0.0.schema.json
+++ b/src/main/resources/META-INF/feature/Feature-1.0.0.schema.json
@@ -10,6 +10,12 @@
       "type": "string",
       "pattern": "^(([^: ]+):([^: ]+)(:([^: ]*)(:([^: ]+))?)?:([^: ]+)|([^/ ]+)/([^/ ]+)(/([^/ ]+))?(/([^/ ]*)(/([^/ ]+))?)?)$"
     },
+    "final": {
+      "type": "boolean"
+    },
+    "complete": {
+      "type": "boolean"
+    },
     "title": {
       "type": "string"
     },