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"
},