Author: cziegeler Date: Tue Aug 15 13:06:02 2017 New Revision: 1805076 URL: http://svn.apache.org/viewvc?rev=1805076&view=rev Log: Add missing read of framework id
Modified: sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/ApplicationJSONReader.java sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/FeatureJSONReader.java sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/JSONReaderBase.java Modified: sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/ApplicationJSONReader.java URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/ApplicationJSONReader.java?rev=1805076&r1=1805075&r2=1805076&view=diff ============================================================================== --- sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/ApplicationJSONReader.java (original) +++ sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/ApplicationJSONReader.java Tue Aug 15 13:06:02 2017 @@ -16,16 +16,18 @@ */ package org.apache.sling.feature.support.json; -import org.apache.felix.configurator.impl.json.JSONUtil; -import org.apache.sling.feature.Application; - -import javax.json.Json; -import javax.json.JsonObject; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import java.util.Map; +import javax.json.Json; +import javax.json.JsonObject; + +import org.apache.felix.configurator.impl.json.JSONUtil; +import org.apache.sling.feature.Application; +import org.apache.sling.feature.ArtifactId; + /** * This class offers a method to read an {@code Application} using a {@code Reader} instance. */ @@ -73,6 +75,10 @@ public class ApplicationJSONReader exten @SuppressWarnings("unchecked") final Map<String, Object> map = (Map<String, Object>) JSONUtil.getValue(json); + final String frameworkId = this.getProperty(map, JSONConstants.APP_FRAMEWORK); + if ( frameworkId != null ) { + app.setFramework(ArtifactId.fromMvnId(frameworkId)); + } this.readBundles(map, app.getBundles(), app.getConfigurations()); this.readFrameworkProperties(map, app.getFrameworkProperties()); this.readConfigurations(map, app.getConfigurations()); Modified: sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/FeatureJSONReader.java URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/FeatureJSONReader.java?rev=1805076&r1=1805075&r2=1805076&view=diff ============================================================================== --- sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/FeatureJSONReader.java (original) +++ sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/FeatureJSONReader.java Tue Aug 15 13:06:02 2017 @@ -16,15 +16,10 @@ */ package org.apache.sling.feature.support.json; -import org.apache.felix.configurator.impl.json.JSONUtil; -import org.apache.sling.feature.ArtifactId; -import org.apache.sling.feature.Capability; -import org.apache.sling.feature.Feature; -import org.apache.sling.feature.Include; -import org.apache.sling.feature.Requirement; +import static org.apache.sling.feature.support.util.LambdaUtil.rethrowBiConsumer; +import static org.apache.sling.feature.support.util.ManifestUtil.unmarshalAttribute; +import static org.apache.sling.feature.support.util.ManifestUtil.unmarshalDirective; -import javax.json.Json; -import javax.json.JsonObject; import java.io.IOException; import java.io.Reader; import java.io.StringReader; @@ -32,9 +27,15 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import static org.apache.sling.feature.support.util.LambdaUtil.rethrowBiConsumer; -import static org.apache.sling.feature.support.util.ManifestUtil.unmarshalAttribute; -import static org.apache.sling.feature.support.util.ManifestUtil.unmarshalDirective; +import javax.json.Json; +import javax.json.JsonObject; + +import org.apache.felix.configurator.impl.json.JSONUtil; +import org.apache.sling.feature.ArtifactId; +import org.apache.sling.feature.Capability; +import org.apache.sling.feature.Feature; +import org.apache.sling.feature.Include; +import org.apache.sling.feature.Requirement; /** * This class offers a method to read a {@code Feature} using a {@code Reader} instance. @@ -157,15 +158,6 @@ public class FeatureJSONReader extends J return feature; } - private String getProperty(final Map<String, Object> map, final String key) throws IOException { - final Object val = map.get(key); - if ( val != null ) { - checkType(key, val, String.class); - return val.toString(); - } - return null; - } - private void readIncludes(final Map<String, Object> map) throws IOException { if ( map.containsKey(JSONConstants.FEATURE_INCLUDES)) { final Object includesObj = map.get(JSONConstants.FEATURE_INCLUDES); Modified: sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/JSONReaderBase.java URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/JSONReaderBase.java?rev=1805076&r1=1805075&r2=1805076&view=diff ============================================================================== --- sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/JSONReaderBase.java (original) +++ sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/json/JSONReaderBase.java Tue Aug 15 13:06:02 2017 @@ -16,6 +16,24 @@ */ package org.apache.sling.feature.support.json; +import java.io.IOException; +import java.io.Reader; +import java.io.StringWriter; +import java.io.Writer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.json.Json; +import javax.json.JsonArrayBuilder; +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; @@ -30,23 +48,6 @@ import org.apache.sling.feature.Extensio import org.apache.sling.feature.Extensions; import org.apache.sling.feature.KeyValueMap; -import javax.json.Json; -import javax.json.JsonArrayBuilder; -import javax.json.JsonObjectBuilder; -import javax.json.JsonStructure; -import javax.json.JsonWriter; -import java.io.IOException; -import java.io.Reader; -import java.io.StringWriter; -import java.io.Writer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - /** * Common methods for JSON reading. */ @@ -82,6 +83,15 @@ abstract class JSONReaderBase { return contents; } + protected String getProperty(final Map<String, Object> map, final String key) throws IOException { + final Object val = map.get(key); + if ( val != null ) { + checkType(key, val, String.class); + return val.toString(); + } + return null; + } + /** * Read the bundles / start levels section * @param map The map describing the feature