You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2019/12/02 12:42:13 UTC

svn commit: r1870707 - in /jackrabbit/commons/filevault/trunk/vault-validation/src: main/java/org/apache/jackrabbit/vault/validation/spi/impl/ test/java/org/apache/jackrabbit/vault/validation/spi/impl/

Author: kwin
Date: Mon Dec  2 12:42:13 2019
New Revision: 1870707

URL: http://svn.apache.org/viewvc?rev=1870707&view=rev
Log:
JCRVLT-345 call nested validators also in sub packages

Modified:
    jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidator.java
    jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorFactory.java
    jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedPropertiesValidatorFactory.java
    jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/DocumentViewParserValidatorFactory.java
    jackrabbit/commons/filevault/trunk/vault-validation/src/test/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorTest.java

Modified: jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidator.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidator.java?rev=1870707&r1=1870706&r2=1870707&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidator.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidator.java Mon Dec  2 12:42:13 2019
@@ -82,6 +82,7 @@ public final class AdvancedFilterValidat
     
     static final Path FILTER_XML_PATH = Paths.get(Constants.VAULT_DIR, Constants.FILTER_XML);
 
+    private final boolean isSubPackage;
     private final Collection<String> validRoots;
     private final ValidationMessageSeverity defaultSeverity;
     private final ValidationMessageSeverity severityForUncoveredAncestorNode;
@@ -93,7 +94,8 @@ public final class AdvancedFilterValidat
     private final Collection<String> danglingNodePaths;
     private final Map<PathFilterSet, List<Entry<PathFilter>>> orphanedFilterSets;
 
-    public AdvancedFilterValidator(@Nonnull ValidationMessageSeverity defaultSeverity, @Nonnull ValidationMessageSeverity severityForUncoveredAncestorNodes, @Nonnull ValidationMessageSeverity severityForUncoveredFilterRootAncestors, @Nonnull ValidationMessageSeverity severityForOrphanedFilterEntries, @Nonnull Collection<PackageInfo> dependenciesMetaInfo, @Nonnull WorkspaceFilter filter, @Nonnull Collection<String> validRoots) {
+    public AdvancedFilterValidator(@Nonnull ValidationMessageSeverity defaultSeverity, @Nonnull ValidationMessageSeverity severityForUncoveredAncestorNodes, @Nonnull ValidationMessageSeverity severityForUncoveredFilterRootAncestors, @Nonnull ValidationMessageSeverity severityForOrphanedFilterEntries, boolean isSubPackage, @Nonnull Collection<PackageInfo> dependenciesMetaInfo, @Nonnull WorkspaceFilter filter, @Nonnull Collection<String> validRoots) {
+        this.isSubPackage = isSubPackage;
         this.filterValidators = new HashMap<>();
         this.defaultSeverity = defaultSeverity;
         this.severityForUncoveredAncestorNode = severityForUncoveredAncestorNodes;
@@ -112,11 +114,13 @@ public final class AdvancedFilterValidat
             }
         }
         this.orphanedFilterSets = new LinkedHashMap<>();
-        for (PathFilterSet pathFilter : filter.getFilterSets()) {
-            if (!PathFilterSet.TYPE_CLEANUP.equals(pathFilter.getType())) {
-                List<Entry<PathFilter>> entries = pathFilter.getEntries().stream().filter(Entry<PathFilter>::isInclude).collect(Collectors.toList());
-                // add all includes to a new list
-                this.orphanedFilterSets.put(pathFilter, entries);
+        if (!isSubPackage) {
+            for (PathFilterSet pathFilter : filter.getFilterSets()) {
+                if (!PathFilterSet.TYPE_CLEANUP.equals(pathFilter.getType())) {
+                    List<Entry<PathFilter>> entries = pathFilter.getEntries().stream().filter(Entry<PathFilter>::isInclude).collect(Collectors.toList());
+                    // add all includes to a new list
+                    this.orphanedFilterSets.put(pathFilter, entries);
+                }
             }
         }
     }
@@ -156,6 +160,9 @@ public final class AdvancedFilterValidat
 
     @Override
     public Collection<ValidationMessage> validate(WorkspaceFilter filter) {
+        if (isSubPackage) {
+            return null; // not relevant for sub packages
+        }
         Collection<ValidationMessage> messages = new LinkedList<>();
         messages.addAll(validatePathFilterSets(filter.getFilterSets(), true));
         messages.addAll(validatePathFilterSets(filter.getPropertyFilterSets(), false));
@@ -204,7 +211,7 @@ public final class AdvancedFilterValidat
         return messages;
     }
 
-    public Collection<ValidationMessage> validatePathFilterSets(Collection<PathFilterSet> pathFilterSets, boolean checkRoots) {
+    private Collection<ValidationMessage> validatePathFilterSets(Collection<PathFilterSet> pathFilterSets, boolean checkRoots) {
         Collection<ValidationMessage> messages = new LinkedList<>();
         for (PathFilterSet pathFilterSet : pathFilterSets) {
             // check for validity of root path
@@ -318,6 +325,9 @@ public final class AdvancedFilterValidat
 
     @Override
     public Collection<ValidationMessage> validate(String nodePath) {
+        if (isSubPackage) {
+            return null; // not relevant for sub packages
+        }
         // remove from orphaned list
         removeFromOrphanedFilterEntries(nodePath);
         

Modified: jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorFactory.java?rev=1870707&r1=1870706&r2=1870707&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorFactory.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorFactory.java Mon Dec  2 12:42:13 2019
@@ -92,12 +92,13 @@ public final class AdvancedFilterValidat
         } else {
             validRoots.addAll(DEFAULT_VALID_ROOTS);
         }
-        return new AdvancedFilterValidator(settings.getDefaultSeverity(), severityForUncoveredAncestorNode, severityForUncoveredFilterRootAncestors, severityForOrphanedFilterRules, context.getDependenciesMetaInfo(), context.getFilter(), validRoots);
+        return new AdvancedFilterValidator(settings.getDefaultSeverity(), severityForUncoveredAncestorNode, severityForUncoveredFilterRootAncestors, severityForOrphanedFilterRules, context.getContainerValidationContext() != null, context.getDependenciesMetaInfo(), context.getFilter(), validRoots);
     }
 
     @Override
     public boolean shouldValidateSubpackages() {
-        return false;
+        // necessary to call nested validators which should be called for subpackages
+        return true;
     }
 
     @Override

Modified: jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedPropertiesValidatorFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedPropertiesValidatorFactory.java?rev=1870707&r1=1870706&r2=1870707&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedPropertiesValidatorFactory.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedPropertiesValidatorFactory.java Mon Dec  2 12:42:13 2019
@@ -32,7 +32,8 @@ public final class AdvancedPropertiesVal
 
     @Override
     public boolean shouldValidateSubpackages() {
-        return false;
+        // necessary to call nested validators which should be called for subpackages
+        return true;
     }
 
     @Override

Modified: jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/DocumentViewParserValidatorFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/DocumentViewParserValidatorFactory.java?rev=1870707&r1=1870706&r2=1870707&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/DocumentViewParserValidatorFactory.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/spi/impl/DocumentViewParserValidatorFactory.java Mon Dec  2 12:42:13 2019
@@ -47,7 +47,7 @@ public class DocumentViewParserValidator
 
     @Override
     public boolean shouldValidateSubpackages() {
-        return false;
+        return true;
     }
 
     @Override

Modified: jackrabbit/commons/filevault/trunk/vault-validation/src/test/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-validation/src/test/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorTest.java?rev=1870707&r1=1870706&r2=1870707&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-validation/src/test/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorTest.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-validation/src/test/java/org/apache/jackrabbit/vault/validation/spi/impl/AdvancedFilterValidatorTest.java Mon Dec  2 12:42:13 2019
@@ -103,6 +103,7 @@ public class AdvancedFilterValidatorTest
                     AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                     ValidationMessageSeverity.ERROR,
                     ValidationMessageSeverity.ERROR,
+                    false,
                     dependenciesMetaInfo,
                     filter, // this is per test
                     validRoots);
@@ -137,6 +138,7 @@ public class AdvancedFilterValidatorTest
                 AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);
@@ -158,6 +160,7 @@ public class AdvancedFilterValidatorTest
                 AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);
@@ -181,6 +184,7 @@ public class AdvancedFilterValidatorTest
                 AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);
@@ -199,6 +203,7 @@ public class AdvancedFilterValidatorTest
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);
@@ -215,6 +220,7 @@ public class AdvancedFilterValidatorTest
                 ValidationMessageSeverity.WARN,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 Collections.emptyList());
@@ -241,6 +247,7 @@ public class AdvancedFilterValidatorTest
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);
@@ -265,6 +272,7 @@ public class AdvancedFilterValidatorTest
                 AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);
@@ -292,6 +300,7 @@ public class AdvancedFilterValidatorTest
                 AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                 ValidationMessageSeverity.INFO,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);
@@ -311,6 +320,7 @@ public class AdvancedFilterValidatorTest
                     AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                     ValidationMessageSeverity.ERROR,
                     ValidationMessageSeverity.ERROR,
+                    false,
                     dependenciesMetaInfo,
                     filter,
                     validRoots);
@@ -336,6 +346,7 @@ public class AdvancedFilterValidatorTest
                 AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);
@@ -382,6 +393,7 @@ public class AdvancedFilterValidatorTest
                 AdvancedFilterValidatorFactory.DEFAULT_SEVERITY_FOR_UNCOVERED_ANCESTOR_NODES,
                 ValidationMessageSeverity.ERROR,
                 ValidationMessageSeverity.ERROR,
+                false,
                 dependenciesMetaInfo,
                 filter, // this is per test
                 validRoots);