Merge pull request #16 from angulito/SLING-10577-include-enforce-on-and-since-infor-for-config-validations
Add new enforce-on and since attributes for osgi configurations
diff --git a/src/main/java/org/apache/sling/feature/extension/apiregions/launcher/LauncherProperties.java b/src/main/java/org/apache/sling/feature/extension/apiregions/launcher/LauncherProperties.java
index 091450c..9cfc1f7 100644
--- a/src/main/java/org/apache/sling/feature/extension/apiregions/launcher/LauncherProperties.java
+++ b/src/main/java/org/apache/sling/feature/extension/apiregions/launcher/LauncherProperties.java
@@ -90,7 +90,7 @@
{
features = new HashSet<>();
}
- features.addAll(Arrays.asList(bundle.getFeatureOrigins()));
+ features.addAll(Arrays.asList(bundle.getFeatureOrigins(app.getId())));
return features;
});
}
diff --git a/src/test/java/org/apache/sling/feature/extension/apiregions/launcher/LauncherPropertiesTest.java b/src/test/java/org/apache/sling/feature/extension/apiregions/launcher/LauncherPropertiesTest.java
index 99cea3d..ba2a355 100644
--- a/src/test/java/org/apache/sling/feature/extension/apiregions/launcher/LauncherPropertiesTest.java
+++ b/src/test/java/org/apache/sling/feature/extension/apiregions/launcher/LauncherPropertiesTest.java
@@ -19,6 +19,9 @@
import java.io.IOException;
import java.util.Properties;
+import org.apache.sling.feature.Artifact;
+import org.apache.sling.feature.ArtifactId;
+import org.apache.sling.feature.Feature;
import org.apache.sling.feature.extension.apiregions.api.ApiRegions;
import org.junit.Assert;
import org.junit.Test;
@@ -61,4 +64,34 @@
Assert.assertEquals("region3,region4", properties.getProperty("f:f2:1"));
Assert.assertEquals("region1,region2,region3,region4,region5", properties.getProperty("__region.order__"));
}
+
+ @Test
+ public void testGetBundleIDtoFeaturesMapWithOrigins() {
+ final ArtifactId featureId = ArtifactId.parse("g:f:1");
+ final ArtifactId artifactId = ArtifactId.parse("g:a:2");
+ final ArtifactId originId = ArtifactId.parse("g:o:5");
+
+ final Feature f = new Feature(featureId);
+ final Artifact a = new Artifact(artifactId);
+ a.setFeatureOrigins(originId);
+ f.getBundles().add(a);
+
+ final Properties prop = LauncherProperties.getBundleIDtoFeaturesMap(f);
+ Assert.assertEquals(1, prop.size());
+ Assert.assertEquals(originId.toMvnId(), prop.get(artifactId.toMvnId()));
+ }
+
+ @Test
+ public void testGetBundleIDtoFeaturesMapWithoutOrigins() {
+ final ArtifactId featureId = ArtifactId.parse("g:f:1");
+ final ArtifactId artifactId = ArtifactId.parse("g:a:2");
+
+ final Feature f = new Feature(featureId);
+ final Artifact a = new Artifact(artifactId);
+ f.getBundles().add(a);
+
+ final Properties prop = LauncherProperties.getBundleIDtoFeaturesMap(f);
+ Assert.assertEquals(1, prop.size());
+ Assert.assertEquals(featureId.toMvnId(), prop.get(artifactId.toMvnId()));
+ }
}