This is an automated email from the ASF dual-hosted git repository.

pauls pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-extension-apiregions.git


The following commit(s) were added to refs/heads/master by this push:
     new 1b2097f  SLING-8970 - adding test & fixing logic to consider inherited 
exports in region checks
1b2097f is described below

commit 1b2097f277c7978de7e07d9052edaa878fccd2a0
Author: Karl Pauls <[email protected]>
AuthorDate: Mon Jan 20 18:30:52 2020 +0100

    SLING-8970 - adding test & fixing logic to consider inherited exports in 
region checks
---
 .../sling/feature/extension/apiregions/api/ApiRegions.java       | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/feature/extension/apiregions/api/ApiRegions.java
 
b/src/main/java/org/apache/sling/feature/extension/apiregions/api/ApiRegions.java
index 790d84c..e92908f 100644
--- 
a/src/main/java/org/apache/sling/feature/extension/apiregions/api/ApiRegions.java
+++ 
b/src/main/java/org/apache/sling/feature/extension/apiregions/api/ApiRegions.java
@@ -103,11 +103,16 @@ public class ApiRegions {
                 return false;
             }
         }
+        Set<ArtifactId> origins = new 
LinkedHashSet<>(Arrays.asList(region.getFeatureOrigins()));
+
         this.regions.stream()
             .filter(
                 existingRegion ->
-                    Stream.of(existingRegion.getFeatureOrigins())
-                        
.anyMatch(Arrays.asList(region.getFeatureOrigins())::contains)
+                {
+                    ArtifactId[] targetOrigins = 
existingRegion.getFeatureOrigins();
+                    return (targetOrigins.length == 0 && origins.isEmpty())
+                        || 
Stream.of(targetOrigins).anyMatch(origins::contains);
+                }
             ).reduce((a,b) -> b).ifPresent(region::setParent);
 
         this.regions.add(region);

Reply via email to