You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by si...@apache.org on 2019/04/04 09:13:04 UTC
[sling-whiteboard] branch master updated: [feature-diff] compacted
output format
This is an automated email from the ASF dual-hosted git repository.
simonetripodi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git
The following commit(s) were added to refs/heads/master by this push:
new 0382243 [feature-diff] compacted output format
0382243 is described below
commit 03822431f3c0d5f0eb61e7c0207c82d41666757a
Author: stripodi <st...@192.168.1.111>
AuthorDate: Thu Apr 4 11:12:55 2019 +0200
[feature-diff] compacted output format
---
feature-diff/README.md | 37 ++++++++++------------
.../diff/io/json/FeatureDiffJSONSerializer.java | 17 ++++------
.../sling/feature/diff/io/json/expectedDiff.json | 37 ++++++++++------------
3 files changed, 38 insertions(+), 53 deletions(-)
diff --git a/feature-diff/README.md b/feature-diff/README.md
index 3d9fb47..e2b35d0 100644
--- a/feature-diff/README.md
+++ b/feature-diff/README.md
@@ -88,7 +88,7 @@ output is quiet easy to interpret, i.e. from a unit test case:
"vendorURL":"http://www.apache.org/",
"generator":"Apache Sling Feature Diff tool",
"generatorURL":"https://github.com/apache/sling-org-apache-sling-feature-diff",
- "generatedOn":"2019-04-04T12:24:25 +0200",
+ "generatedOn":"2019-04-04T11:08:51 +0200",
"id":"org.apache.sling:org.apache.sling.feature.diff:1.0.0",
"previousVersion":"0.9.0",
"framework-properties":{
@@ -98,13 +98,12 @@ output is quiet easy to interpret, i.e. from a unit test case:
"added":[
"sling.framework.install.startlevel"
],
- "updated":[
- {
- "id":"env",
+ "updated":{
+ "env":{
"previous":"staging",
"current":"prod"
}
- ]
+ }
},
"bundles":{
"removed":[
@@ -113,18 +112,16 @@ output is quiet easy to interpret, i.e. from a unit test case:
"added":[
"org.apache.sling:org.apache.sling.feature.diff:added:1.0.0"
],
- "updated":[
- {
- "id":"org.apache.sling:org.apache.sling.feature.diff:updated:2.0.0",
- "updated":[
- {
- "id":"version",
+ "updated":{
+ "org.apache.sling:org.apache.sling.feature.diff:updated:2.0.0":{
+ "updated":{
+ "version":{
"previous":"1.0.0",
"current":"2.0.0"
}
- ]
+ }
}
- ]
+ }
},
"configurations":{
"removed":[
@@ -133,24 +130,22 @@ output is quiet easy to interpret, i.e. from a unit test case:
"added":[
"org.apache.sling.feature.diff.config.added"
],
- "updated":[
- {
- "id":"org.apache.sling.feature.diff.config.updated",
+ "updated":{
+ "org.apache.sling.feature.diff.config.updated":{
"removed":[
"it.will.appear.in.the.removed.section"
],
"added":[
"it.will.appear.in.the.added.section"
],
- "updated":[
- {
- "id":"it.will.appear.in.the.updated.section",
+ "updated":{
+ "it.will.appear.in.the.updated.section":{
"previous":"[{/log}]",
"current":"[{/log,/etc}]"
}
- ]
+ }
}
- ]
+ }
}
}
```
diff --git a/feature-diff/src/main/java/org/apache/sling/feature/diff/io/json/FeatureDiffJSONSerializer.java b/feature-diff/src/main/java/org/apache/sling/feature/diff/io/json/FeatureDiffJSONSerializer.java
index df2da47..d146dd3 100644
--- a/feature-diff/src/main/java/org/apache/sling/feature/diff/io/json/FeatureDiffJSONSerializer.java
+++ b/feature-diff/src/main/java/org/apache/sling/feature/diff/io/json/FeatureDiffJSONSerializer.java
@@ -65,19 +65,14 @@ public final class FeatureDiffJSONSerializer {
generator.write("previousVersion", featureDiff.getPrevious().getId().getVersion());
for (DiffSection diffSection : featureDiff.getSections()) {
- serializeDiffSection(diffSection, true, generator);
+ serializeDiffSection(diffSection, generator);
}
generator.writeEnd().close();
}
- private static void serializeDiffSection(DiffSection diffSection, boolean main, JsonGenerator generator) {
- if (main) {
- generator.writeStartObject(diffSection.getId());
- } else {
- generator.writeStartObject()
- .write("id", diffSection.getId());
- }
+ private static void serializeDiffSection(DiffSection diffSection, JsonGenerator generator) {
+ generator.writeStartObject(diffSection.getId());
if (diffSection.hasRemoved()) {
writeArray("removed", diffSection.getRemoved(), generator);
@@ -88,17 +83,17 @@ public final class FeatureDiffJSONSerializer {
}
if (diffSection.hasUpdatedItems() || diffSection.hasUpdates()) {
- generator.writeStartArray("updated");
+ generator.writeStartObject("updated");
for (UpdatedItem<?> updatedItem : diffSection.getUpdatedItems()) {
- generator.writeStartObject().write("id", updatedItem.getId());
+ generator.writeStartObject(updatedItem.getId());
writeValue("previous", updatedItem.getPrevious(), generator);
writeValue("current", updatedItem.getCurrent(), generator);
generator.writeEnd();
}
for (DiffSection updatesDiffSection : diffSection.getUpdates()) {
- serializeDiffSection(updatesDiffSection, false, generator);
+ serializeDiffSection(updatesDiffSection, generator);
}
generator.writeEnd();
diff --git a/feature-diff/src/test/resources/org/apache/sling/feature/diff/io/json/expectedDiff.json b/feature-diff/src/test/resources/org/apache/sling/feature/diff/io/json/expectedDiff.json
index 7b1b55a..969406c 100644
--- a/feature-diff/src/test/resources/org/apache/sling/feature/diff/io/json/expectedDiff.json
+++ b/feature-diff/src/test/resources/org/apache/sling/feature/diff/io/json/expectedDiff.json
@@ -3,7 +3,7 @@
"vendorURL":"http://www.apache.org/",
"generator":"Apache Sling Feature Diff tool",
"generatorURL":"https://github.com/apache/sling-org-apache-sling-feature-diff",
- "generatedOn":"2019-04-04T12:24:25 +0200",
+ "generatedOn":"2019-04-04T11:08:51 +0200",
"id":"org.apache.sling:org.apache.sling.feature.diff:1.0.0",
"previousVersion":"0.9.0",
"framework-properties":{
@@ -13,13 +13,12 @@
"added":[
"sling.framework.install.startlevel"
],
- "updated":[
- {
- "id":"env",
+ "updated":{
+ "env":{
"previous":"staging",
"current":"prod"
}
- ]
+ }
},
"bundles":{
"removed":[
@@ -28,18 +27,16 @@
"added":[
"org.apache.sling:org.apache.sling.feature.diff:added:1.0.0"
],
- "updated":[
- {
- "id":"org.apache.sling:org.apache.sling.feature.diff:updated:2.0.0",
- "updated":[
- {
- "id":"version",
+ "updated":{
+ "org.apache.sling:org.apache.sling.feature.diff:updated:2.0.0":{
+ "updated":{
+ "version":{
"previous":"1.0.0",
"current":"2.0.0"
}
- ]
+ }
}
- ]
+ }
},
"configurations":{
"removed":[
@@ -48,23 +45,21 @@
"added":[
"org.apache.sling.feature.diff.config.added"
],
- "updated":[
- {
- "id":"org.apache.sling.feature.diff.config.updated",
+ "updated":{
+ "org.apache.sling.feature.diff.config.updated":{
"removed":[
"it.will.appear.in.the.removed.section"
],
"added":[
"it.will.appear.in.the.added.section"
],
- "updated":[
- {
- "id":"it.will.appear.in.the.updated.section",
+ "updated":{
+ "it.will.appear.in.the.updated.section":{
"previous":"[{/log}]",
"current":"[{/log,/etc}]"
}
- ]
+ }
}
- ]
+ }
}
}