You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by da...@apache.org on 2018/11/07 11:37:35 UTC
[sling-org-apache-sling-feature-extension-apiregions] 11/13: Handle
extension merging with null target
This is an automated email from the ASF dual-hosted git repository.
davidb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-extension-apiregions.git
commit 40b24975d6604dcec9d1711ef2771ea34ad95c2f
Author: David Bosschaert <bo...@adobe.com>
AuthorDate: Tue Nov 6 13:58:43 2018 +0000
Handle extension merging with null target
---
.../extension/apiregions/APIRegionMergeHandler.java | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/apache/sling/feature/extension/apiregions/APIRegionMergeHandler.java b/src/main/java/org/apache/sling/feature/extension/apiregions/APIRegionMergeHandler.java
index f1c0d52..fbd695f 100644
--- a/src/main/java/org/apache/sling/feature/extension/apiregions/APIRegionMergeHandler.java
+++ b/src/main/java/org/apache/sling/feature/extension/apiregions/APIRegionMergeHandler.java
@@ -41,14 +41,24 @@ public class APIRegionMergeHandler implements MergeHandler {
@Override
public void merge(HandlerContext context, Feature target, Feature source, Extension targetEx, Extension sourceEx) {
- if (!targetEx.getName().equals("api-regions") || !sourceEx.getName().equals("api-regions"))
+ if (!sourceEx.getName().equals("api-regions"))
+ return;
+ if (targetEx != null && !targetEx.getName().equals("api-regions"))
return;
JsonReader srcJR = Json.createReader(new StringReader(sourceEx.getJSON()));
JsonArray srcJA = srcJR.readArray();
- JsonReader tgtJR = Json.createReader(new StringReader(targetEx.getJSON()));
- JsonArray tgtJA = tgtJR.readArray();
+ JsonArray tgtJA;
+ if (targetEx != null) {
+ JsonReader tgtJR = Json.createReader(new StringReader(targetEx.getJSON()));
+ tgtJA = tgtJR.readArray();
+ } else {
+ targetEx = new Extension(sourceEx.getType(), sourceEx.getName(), sourceEx.isRequired());
+ target.getExtensions().add(targetEx);
+
+ tgtJA = Json.createArrayBuilder().build();
+ }
StringWriter sw = new StringWriter();
JsonGenerator gen = Json.createGenerator(sw);