Merge pull request #14 from bosschaert/SLING-10404
SLING-10404 Log: 'No Configuration Admin API available' when it is available
diff --git a/src/main/java/org/apache/sling/feature/apiregions/impl/RegionConfiguration.java b/src/main/java/org/apache/sling/feature/apiregions/impl/RegionConfiguration.java
index acb7720..d94cd6b 100644
--- a/src/main/java/org/apache/sling/feature/apiregions/impl/RegionConfiguration.java
+++ b/src/main/java/org/apache/sling/feature/apiregions/impl/RegionConfiguration.java
@@ -265,8 +265,8 @@
for(final String val : convert(valObj)) {
final String[] parts = val.split("=");
final String n = parts[0];
- final String[] features = parts[1].split(",");
- addValuesToMap(map, n, Arrays.asList(features), constructor);
+ final List<String> features = parts.length == 1 ? Collections.emptyList() : Arrays.asList(parts[1].split(","));
+ addValuesToMap(map, n, features, constructor);
}
}
diff --git a/src/test/java/org/apache/sling/feature/apiregions/impl/RegionConfigurationTest.java b/src/test/java/org/apache/sling/feature/apiregions/impl/RegionConfigurationTest.java
index db3ca70..0ff9c9a 100644
--- a/src/test/java/org/apache/sling/feature/apiregions/impl/RegionConfigurationTest.java
+++ b/src/test/java/org/apache/sling/feature/apiregions/impl/RegionConfigurationTest.java
@@ -180,6 +180,20 @@
re.bundleFeatureMap.get("org.sling:b2:1"));
assertEquals(new HashSet<>(Arrays.asList("some.other:feature:123", "org.sling:something:1.2.3:slingosgifeature:myclassifier")),
re.bundleFeatureMap.get("org.sling:b3:1"));
+
+ // add a config with an empty feature list
+ props.put(RegionConstants.PROP_bundleFeatures, "g3:b3:2.7=");
+ re.setConfig("new.config", props);
+
+ assertEquals(4, re.bundleFeatureMap.size());
+ assertEquals(Collections.emptySet(),
+ re.bundleFeatureMap.get("g3:b3:2.7"));
+ assertEquals(Collections.singleton("org.sling:something:1.2.3:slingosgifeature:myclassifier"),
+ re.bundleFeatureMap.get("org.sling:b1:1"));
+ assertEquals(Collections.singleton("org.sling:something:1.2.3:slingosgifeature:myclassifier"),
+ re.bundleFeatureMap.get("org.sling:b2:1"));
+ assertEquals(new HashSet<>(Arrays.asList("some.other:feature:123", "org.sling:something:1.2.3:slingosgifeature:myclassifier")),
+ re.bundleFeatureMap.get("org.sling:b3:1"));
}
@Test