SLING-8583 - [r2f] Lookup bundles ArtifactId in idbsnver.properties and
skip the bundle 0
diff --git a/src/main/java/org/apache/sling/feature/r2f/impl/RuntimeEnvironment2FeatureModelService.java b/src/main/java/org/apache/sling/feature/r2f/impl/RuntimeEnvironment2FeatureModelService.java
index 37cd8a8..04b661c 100644
--- a/src/main/java/org/apache/sling/feature/r2f/impl/RuntimeEnvironment2FeatureModelService.java
+++ b/src/main/java/org/apache/sling/feature/r2f/impl/RuntimeEnvironment2FeatureModelService.java
@@ -78,7 +78,7 @@
protected BundleContext bundleContext;
- private Map<Entry<String, Version>, ArtifactId> bvm;
+ private final Map<Entry<String, Version>, ArtifactId> bvm = new HashMap<>();
private Feature launchFeature;
@@ -86,13 +86,11 @@
public void start(BundleContext bundleContext) {
this.bundleContext = bundleContext;
- bvm = readBSNVerMap(bundleContext);
- launchFeature = readLaunchFeature(bundleContext);
+ readBSNVerMap();
+ readLaunchFeature();
}
- private static Map<Entry<String, Version>, ArtifactId> readBSNVerMap(BundleContext bundleContext) {
- Map<Entry<String, Version>, ArtifactId> bvm = new HashMap<>();
-
+ private void readBSNVerMap() {
try {
URI idbsnverFile = getDataFileURI(bundleContext, IDBSNVER_FILENAME);
@@ -112,8 +110,6 @@
} catch (Exception e) {
throw new IllegalStateException("An error occurred while loading 'idbsnver.properties' file, impossible to assemble the bundles map", e);
}
-
- return bvm;
}
// borrowed from org.apache.sling.feature.apiregions.impl.RegionEnforcer
@@ -148,7 +144,7 @@
}
}
- private static Feature readLaunchFeature(BundleContext bundleContext) {
+ private void readLaunchFeature() {
String launchFeatureLocation = bundleContext.getProperty(SLING_FEATURE_PROPERTY_NAME);
if (launchFeatureLocation == null) {
@@ -159,7 +155,7 @@
Path launchFeaturePath = Paths.get(launchFeatureURI);
try (BufferedReader reader = newBufferedReader(launchFeaturePath)) {
- return read(reader, launchFeatureLocation);
+ launchFeature = read(reader, launchFeatureLocation);
} catch (IOException cause) {
throw new UncheckedIOException(cause);
}
@@ -168,6 +164,7 @@
@Deactivate
public void stop() {
bundleContext = null;
+ bvm.clear();
launchFeature = null;
}