SLING-8633: Use start-order instead of start-level
diff --git a/src/main/java/org/apache/sling/feature/modelconverter/FeatureToProvisioning.java b/src/main/java/org/apache/sling/feature/modelconverter/FeatureToProvisioning.java
index 6cca47d..6c70a0c 100644
--- a/src/main/java/org/apache/sling/feature/modelconverter/FeatureToProvisioning.java
+++ b/src/main/java/org/apache/sling/feature/modelconverter/FeatureToProvisioning.java
@@ -162,7 +162,8 @@
bundleRunModes = getRunModes(bundle);
}
- int startLevel;
+ int startLevel = bundle.getStartOrder();
+
String sl = bundle.getMetadata().get("start-level");
// special handling for :boot or :launchpad
if ( sl != null && sl.startsWith(":") ) {
@@ -178,10 +179,12 @@
}
addFeat.getOrCreateRunMode(null).getOrCreateArtifactGroup(0).add(newBundle);
} else {
- if (sl != null) {
- startLevel = Integer.parseInt(sl);
- } else {
- startLevel = 20;
+ if (startLevel == 0) {
+ if (sl != null) {
+ startLevel = Integer.parseInt(sl);
+ } else {
+ startLevel = 20;
+ }
}
f.getOrCreateRunMode(bundleRunModes).getOrCreateArtifactGroup(startLevel).add(newBundle);
diff --git a/src/main/java/org/apache/sling/feature/modelconverter/ProvisioningToFeature.java b/src/main/java/org/apache/sling/feature/modelconverter/ProvisioningToFeature.java
index cb68d9e..896e970 100644
--- a/src/main/java/org/apache/sling/feature/modelconverter/ProvisioningToFeature.java
+++ b/src/main/java/org/apache/sling/feature/modelconverter/ProvisioningToFeature.java
@@ -385,7 +385,7 @@
startLevel = 20;
}
}
- newArtifact.getMetadata().put("start-level", String.valueOf(startLevel));
+ newArtifact.getMetadata().put("start-order", String.valueOf(startLevel));
bundles.add(newArtifact);
}
diff --git a/src/test/resources/boot.json b/src/test/resources/boot.json
index 6111623..fe3a48f 100644
--- a/src/test/resources/boot.json
+++ b/src/test/resources/boot.json
@@ -12,75 +12,75 @@
"bundles": [
{
"id": "org.slf4j/slf4j-api/1.7.25",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.commons.log/5.1.0",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.commons.logservice/1.0.6",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.slf4j/jcl-over-slf4j/1.7.25",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.slf4j/log4j-over-slf4j/1.7.25",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.settings/1.3.8",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.fragment.xml/1.0.2",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.fragment.transaction/1.0.0",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.javax.activation/0.1.0",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.fragment.ws/1.0.2",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.launchpad.installer/1.2.2",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.installer.core/3.8.12",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.installer.provider.file/1.1.0",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.installer.factory.configuration/1.1.2",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.felix/org.apache.felix.configadmin/1.8.16",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.felix/org.apache.felix.eventadmin/1.4.10",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.aries/org.apache.aries.util/1.1.3",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.geronimo.specs/geronimo-atinject_1.0_spec/1.0",
- "start-level": 1
+ "start-order": 1
}],
"framework-properties": {
diff --git a/src/test/resources/boot_gav.json b/src/test/resources/boot_gav.json
index a399637..bd0a7d1 100644
--- a/src/test/resources/boot_gav.json
+++ b/src/test/resources/boot_gav.json
@@ -12,75 +12,75 @@
"bundles": [
{
"id": "org.slf4j/slf4j-api/1.7.25",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.commons.log/5.1.0",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.commons.logservice/1.0.6",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.slf4j/jcl-over-slf4j/1.7.25",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.slf4j/log4j-over-slf4j/1.7.25",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.settings/1.3.8",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.fragment.xml/1.0.2",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.fragment.transaction/1.0.0",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.javax.activation/0.1.0",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.fragment.ws/1.0.2",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.launchpad.installer/1.2.2",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.installer.core/3.8.12",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.installer.provider.file/1.1.0",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.sling/org.apache.sling.installer.factory.configuration/1.1.2",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.felix/org.apache.felix.configadmin/1.8.16",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.felix/org.apache.felix.eventadmin/1.4.10",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.aries/org.apache.aries.util/1.1.3",
- "start-level": 1
+ "start-order": 1
},
{
"id": "org.apache.geronimo.specs/geronimo-atinject_1.0_spec/1.0",
- "start-level": 1
+ "start-order": 1
}],
"framework-properties": {
diff --git a/src/test/resources/launchpad.json b/src/test/resources/launchpad.json
index d9e7193..85b822f 100644
--- a/src/test/resources/launchpad.json
+++ b/src/test/resources/launchpad.json
@@ -6,12 +6,12 @@
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.launchpad.base:5.6.10-2.6.26",
- "start-level":"20"
+ "start-order":"20"
},
{
"id":"org.apache.sling:org.apache.sling.commons.osgi:2.4.0",
"run-modes":":something",
- "start-level":"20"
+ "start-order":"20"
}
],
"configurations":{
diff --git a/src/test/resources/oak.json b/src/test/resources/oak.json
index c5aad76..c31a077 100644
--- a/src/test/resources/oak.json
+++ b/src/test/resources/oak.json
@@ -8,46 +8,46 @@
"bundles": [
{
"id": "org.apache.felix/org.apache.felix.jaas/1.0.2",
- "start-level": 10
+ "start-order": 10
},
{
"id": "org.apache.jackrabbit/oak-core/1.6.8",
- "start-level": 15
+ "start-order": 15
},
{
"id": "org.apache.jackrabbit/oak-commons/1.6.8",
- "start-level": 15
+ "start-order": 15
},
{
"id": "org.apache.jackrabbit/oak-lucene/1.6.8",
- "start-level": 15
+ "start-order": 15
},
{
"id": "org.apache.jackrabbit/oak-blob/1.6.8",
- "start-level": 15
+ "start-order": 15
},
{
"id": "org.apache.jackrabbit/oak-jcr/1.6.8",
- "start-level": 15
+ "start-order": 15
},
{
"id": "org.apache.jackrabbit/oak-segment-tar/1.6.8",
- "start-level": 15,
+ "start-order": 15,
"run-modes": "oak_tar"
},
{
"id": "org.mongodb/mongo-java-driver/3.4.1",
- "start-level": 15,
+ "start-order": 15,
"run-modes": "oak_mongo"
},
{
"id": "com.h2database/h2-mvstore/1.4.196",
- "start-level": 15,
+ "start-order": 15,
"run-modes": "oak_mongo"
},
{
"id": "org.apache.sling/org.apache.sling.jcr.oak.server/1.1.4",
- "start-level": 16
+ "start-order": 16
}
],
"configurations": {
diff --git a/src/test/resources/repoinit.json b/src/test/resources/repoinit.json
index 24e6ae4..9c0216d 100644
--- a/src/test/resources/repoinit.json
+++ b/src/test/resources/repoinit.json
@@ -5,15 +5,15 @@
"bundles": [
{
"id": "org.apache.sling/org.apache.sling.repoinit.parser/1.2.0",
- "start-level": 20
+ "start-order": 20
},
{
"id": "org.apache.sling/org.apache.sling.jcr.repoinit/1.1.6",
- "start-level": 20
+ "start-order": 20
},
{
"id": "org.apache.sling/org.apache.sling.provisioning.model/1.8.4",
- "start-level": 20
+ "start-order": 20
}
],
"configurations": {
diff --git a/src/test/resources/simple.json b/src/test/resources/simple.json
index 4cc130a..a0422a0 100644
--- a/src/test/resources/simple.json
+++ b/src/test/resources/simple.json
@@ -3,7 +3,7 @@
"bundles":[
{
"id":"org.apache.aries:org.apache.aries.util:1.1.3",
- "start-level":"20"
+ "start-order":"20"
}
]
}
diff --git a/src/test/resources/simple2.json b/src/test/resources/simple2.json
index d324a3f..952d2a1 100644
--- a/src/test/resources/simple2.json
+++ b/src/test/resources/simple2.json
@@ -6,7 +6,7 @@
"bundles":[
{
"id":"org.apache.aries:org.apache.aries.util:1.1.3",
- "start-level":"20"
+ "start-order":"20"
}
]
}