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 2015/10/21 07:47:52 UTC
svn commit: r1709720 - in
/sling/trunk/tooling/support/provisioning-model/src:
main/java/org/apache/sling/provisioning/model/
main/java/org/apache/sling/provisioning/model/io/
test/java/org/apache/sling/provisioning/model/
Author: cziegeler
Date: Wed Oct 21 05:47:52 2015
New Revision: 1709720
URL: http://svn.apache.org/viewvc?rev=1709720&view=rev
Log:
SLING-5148 : Support OSGi Subsystems in the Sling Provisioning model.
Added:
sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/FeatureTypes.java (with props)
Modified:
sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/Feature.java
sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java
sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelWriter.java
sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/FeatureTest.java
sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelProcessorTest.java
sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java
sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/U.java
Modified: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/Feature.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/Feature.java?rev=1709720&r1=1709719&r2=1709720&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/Feature.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/Feature.java Wed Oct 21 05:47:52 2015
@@ -32,43 +32,11 @@ public class Feature
extends Commentable
implements Comparable<Feature> {
- /**
- * The feature type
- * @since 1.4.0
- */
- public enum Type {
- PLAIN("plain"),
- SUBSYSTEM_FEATURE("osgi.subsystem.feature"),
- SUBSYSTEM_APPLICATION("osgi.subsystem.application"),
- SUBSYSTEM_COMPOSITE("osgi.subsystem.composite");
-
- private final String textRepresentation;
-
- private Type(final String textRep) {
- textRepresentation = textRep;
- }
-
- public String getTextRepresentation() {
- return textRepresentation;
- }
-
- public static Type fromTextRepresentation(final String textRep) {
- if (textRep == null)
- return PLAIN;
-
- for (final Type t : values()) {
- if (t.getTextRepresentation().equals(textRep))
- return t;
- }
- return null;
- }
- }
-
/** All run modes. */
private final List<RunMode> runModes = new ArrayList<RunMode>();
/** The type of feature */
- private volatile Type type = Type.PLAIN;
+ private volatile String type = FeatureTypes.PLAIN;
/** Variables. */
private final KeyValueMap<String> variables = new KeyValueMap<String>();
@@ -156,7 +124,7 @@ public class Feature
* @return The feature type.
* @since 1.4.0
*/
- public Type getType() {
+ public String getType() {
return type;
}
@@ -165,8 +133,8 @@ public class Feature
* @param t The new type
* @since 1.4.0
*/
- public void setType(final Type t) {
- type = ( t == null ? Type.PLAIN : t);
+ public void setType(final String t) {
+ type = ( t == null ? FeatureTypes.PLAIN : t);
}
/**
@@ -213,7 +181,7 @@ public class Feature
public String toString() {
return "Feature [runModes=" + runModes + ", variables=" + variables
+ ", name=" + name
- + ( type != Type.PLAIN ? ", type=" + type : "" )
+ + ( FeatureTypes.PLAIN.equals(this.type) ? "" : ", type=" + type )
+ ( additionalSections.isEmpty() ? "" : ", additionalSections=" + this.additionalSections)
+ ( this.getLocation() != null ? ", location=" + this.getLocation() : "")
+ "]";
Added: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/FeatureTypes.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/FeatureTypes.java?rev=1709720&view=auto
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/FeatureTypes.java (added)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/FeatureTypes.java Wed Oct 21 05:47:52 2015
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.sling.provisioning.model;
+
+/**
+ * Constants for common feature types.
+ * @since 1.4.0
+ */
+public abstract class FeatureTypes {
+
+ public static final String PLAIN = "plain";
+ public static final String SUBSYSTEM_FEATURE = "osgi.subsystem.feature";
+ public static final String SUBSYSTEM_APPLICATION = "osgi.subsystem.application";
+ public static final String SUBSYSTEM_COMPOSITE = "osgi.subsystem.composite";
+
+}
Propchange: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/FeatureTypes.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/FeatureTypes.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Modified: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java?rev=1709720&r1=1709719&r2=1709720&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java Wed Oct 21 05:47:52 2015
@@ -196,7 +196,7 @@ public class ModelReader {
throw new IOException(exceptionPrefix + "Duplicate feature in line " + this.lineNumberReader.getLineNumber() + ": " + line);
}
this.feature = model.getOrCreateFeature(name);
- this.feature.setType(Feature.Type.fromTextRepresentation(parameters.get("type")));
+ this.feature.setType(parameters.get("type"));
this.init(this.feature);
this.runMode = null;
this.artifactGroup = null;
Modified: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelWriter.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelWriter.java?rev=1709720&r1=1709719&r2=1709720&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelWriter.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelWriter.java Wed Oct 21 05:47:52 2015
@@ -30,6 +30,7 @@ import org.apache.sling.provisioning.mod
import org.apache.sling.provisioning.model.Commentable;
import org.apache.sling.provisioning.model.Configuration;
import org.apache.sling.provisioning.model.Feature;
+import org.apache.sling.provisioning.model.FeatureTypes;
import org.apache.sling.provisioning.model.Model;
import org.apache.sling.provisioning.model.ModelConstants;
import org.apache.sling.provisioning.model.RunMode;
@@ -88,9 +89,9 @@ public class ModelWriter {
writeComment(pw, feature);
pw.print("[feature name=");
pw.print(feature.getName());
- if (feature.getType() != Feature.Type.PLAIN) {
+ if (! FeatureTypes.PLAIN.equals(feature.getType()) ) {
pw.print(" type=");
- pw.print(feature.getType().getTextRepresentation());
+ pw.print(feature.getType());
}
pw.println("]");
pw.println();
Modified: sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/FeatureTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/FeatureTest.java?rev=1709720&r1=1709719&r2=1709720&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/FeatureTest.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/FeatureTest.java Wed Oct 21 05:47:52 2015
@@ -16,35 +16,18 @@
*/
package org.apache.sling.provisioning.model;
-import org.junit.Test;
-
import static org.junit.Assert.assertEquals;
-public class FeatureTest {
- @Test
- public void testTypeEnum() {
- assertEquals(Feature.Type.SUBSYSTEM_APPLICATION,
- Feature.Type.fromTextRepresentation("osgi.subsystem.application"));
- assertEquals(Feature.Type.SUBSYSTEM_COMPOSITE,
- Feature.Type.fromTextRepresentation("osgi.subsystem.composite"));
- assertEquals(Feature.Type.SUBSYSTEM_FEATURE,
- Feature.Type.fromTextRepresentation("osgi.subsystem.feature"));
- assertEquals(Feature.Type.PLAIN, Feature.Type.fromTextRepresentation(null));
+import org.junit.Test;
- assertEquals("osgi.subsystem.application",
- Feature.Type.SUBSYSTEM_APPLICATION.getTextRepresentation());
- assertEquals("osgi.subsystem.composite",
- Feature.Type.SUBSYSTEM_COMPOSITE.getTextRepresentation());
- assertEquals("osgi.subsystem.feature",
- Feature.Type.SUBSYSTEM_FEATURE.getTextRepresentation());
- }
+public class FeatureTest {
@Test
public void testFeatureType() {
Feature f = new Feature("blah");
- assertEquals(Feature.Type.PLAIN, f.getType());
+ assertEquals(FeatureTypes.PLAIN, f.getType());
- f.setType(Feature.Type.SUBSYSTEM_APPLICATION);
- assertEquals(Feature.Type.SUBSYSTEM_APPLICATION, f.getType());
+ f.setType(FeatureTypes.SUBSYSTEM_APPLICATION);
+ assertEquals(FeatureTypes.SUBSYSTEM_APPLICATION, f.getType());
}
}
Modified: sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelProcessorTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelProcessorTest.java?rev=1709720&r1=1709719&r2=1709720&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelProcessorTest.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelProcessorTest.java Wed Oct 21 05:47:52 2015
@@ -18,15 +18,15 @@
*/
package org.apache.sling.provisioning.model;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
import java.util.Enumeration;
import java.util.Map.Entry;
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
public class ModelProcessorTest {
private Model testModel;
@@ -40,7 +40,7 @@ public class ModelProcessorTest {
Feature feature1 = testModel.getOrCreateFeature("feature1");
feature1.setLocation("LocF1");
feature1.setComment("ComF1");
- feature1.setType(Feature.Type.SUBSYSTEM_COMPOSITE);
+ feature1.setType(FeatureTypes.SUBSYSTEM_COMPOSITE);
feature1.getVariables().setLocation("LocFV1");
feature1.getVariables().setComment("ComFV1");
feature1.getVariables().put("k1", "v1");
@@ -96,7 +96,7 @@ public class ModelProcessorTest {
assertNotNull(feature1);
assertEquals("LocF1", feature1.getLocation());
assertEquals("ComF1", feature1.getComment());
- assertEquals(Feature.Type.SUBSYSTEM_COMPOSITE, feature1.getType());
+ assertEquals(FeatureTypes.SUBSYSTEM_COMPOSITE, feature1.getType());
assertEquals("LocFV1", feature1.getVariables().getLocation());
assertEquals("ComFV1", feature1.getVariables().getComment());
assertEquals("#v1", feature1.getVariables().get("k1"));
Modified: sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java?rev=1709720&r1=1709719&r2=1709720&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java Wed Oct 21 05:47:52 2015
@@ -16,16 +16,16 @@
*/
package org.apache.sling.provisioning.model;
-import java.util.List;
-
-import org.junit.Test;
-
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import java.util.List;
+
+import org.junit.Test;
+
public class ModelUtilityTest {
@Test public void mergeArtifactsTest() throws Exception {
@@ -41,7 +41,7 @@ public class ModelUtilityTest {
final List<Artifact> list = U.assertArtifactsInGroup(model.getFeature("f").getRunMode().getArtifactGroup(3), 1);
U.assertArtifact(list.get(0), "g", "a", "2.0.0", "jar", null);
- assertEquals(Feature.Type.SUBSYSTEM_COMPOSITE, model.getFeature("f").getType());
+ assertEquals(FeatureTypes.SUBSYSTEM_COMPOSITE, model.getFeature("f").getType());
}
@Test public void removeTest() throws Exception {
@@ -52,7 +52,7 @@ public class ModelUtilityTest {
assertNotNull(model.getFeature("f").getRunMode());
assertNotNull(model.getFeature("f").getRunMode().getArtifactGroup(5));
assertNotNull(model.getFeature("f").getRunMode().getArtifactGroup(7));
- assertEquals(Feature.Type.PLAIN, model.getFeature("f").getType());
+ assertEquals(FeatureTypes.PLAIN, model.getFeature("f").getType());
final List<Artifact> group5 = U.assertArtifactsInGroup(model.getFeature("f").getRunMode().getArtifactGroup(5), 1);
U.assertArtifact(group5.get(0), "g", "a", "1.0.0", "jar", null);
Modified: sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/U.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/U.java?rev=1709720&r1=1709719&r2=1709720&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/U.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/U.java Wed Oct 21 05:47:52 2015
@@ -16,14 +16,6 @@
*/
package org.apache.sling.provisioning.model;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.sling.provisioning.model.io.ModelReader;
-
import static org.apache.sling.provisioning.model.ModelConstants.DEFAULT_RUN_MODE;
import static org.apache.sling.provisioning.model.ModelConstants.DEFAULT_START_LEVEL;
import static org.junit.Assert.assertEquals;
@@ -32,6 +24,14 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.sling.provisioning.model.io.ModelReader;
+
/** Test utilities */
public class U {
@@ -120,7 +120,7 @@ public class U {
final Feature exampleFeature = m.getFeature("example");
final RunMode defaultExampleRM = exampleFeature.getRunMode();
final List<Configuration> configs = assertConfigurationsInRunMode(defaultExampleRM, 3);
- assertEquals(Feature.Type.SUBSYSTEM_FEATURE, exampleFeature.getType());
+ assertEquals(FeatureTypes.SUBSYSTEM_FEATURE, exampleFeature.getType());
final Configuration cfg = assertConfiguration(configs, "org.apache.sling.another.config");
}