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;
     }