You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/01/15 09:38:07 UTC

[maven-common-artifact-filters] branch master updated: [MSHARED-1017] null passed to DependencyFilter in EclipseAetherFilterTransformerTest

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

michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-common-artifact-filters.git


The following commit(s) were added to refs/heads/master by this push:
     new 2679674  [MSHARED-1017] null passed to DependencyFilter in EclipseAetherFilterTransformerTest
2679674 is described below

commit 26796743072eaba1e7e928f3b158cb8b1bbdb000
Author: Marian Koncek <mk...@redhat.com>
AuthorDate: Thu Jan 6 10:43:03 2022 +0100

    [MSHARED-1017] null passed to DependencyFilter in EclipseAetherFilterTransformerTest
---
 .../ArtifactIncludeFilterTransformer.java          | 18 +++----
 .../transform/EclipseAetherFilterTransformer.java  | 30 +++++++----
 .../EclipseAetherFilterTransformerTest.java        | 58 +++++++++++-----------
 3 files changed, 57 insertions(+), 49 deletions(-)

diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/ArtifactIncludeFilterTransformer.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/ArtifactIncludeFilterTransformer.java
index 12a42d7..60e1e7d 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/ArtifactIncludeFilterTransformer.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/ArtifactIncludeFilterTransformer.java
@@ -49,11 +49,11 @@ import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
  */
 public class ArtifactIncludeFilterTransformer implements FilterTransformer<ArtifactFilter>
 {
-    
+
     private boolean includeNullScope = true;
-    
-    private boolean actTransitivelyPattern = false; 
-    
+
+    private boolean actTransitivelyPattern = false;
+
     /**
      * Used by {@link #transform(ScopeFilter)}
      *
@@ -66,7 +66,7 @@ public class ArtifactIncludeFilterTransformer implements FilterTransformer<Artif
     {
         this.includeNullScope = includeNullScope;
     }
-    
+
     /**
      * Used by {@link #transform(PatternExclusionsFilter)} and {@link #transform(PatternInclusionsFilter)} Determines
      * whether the include/exclude patterns will be applied to the transitive path of a given artifact. If {@code true},
@@ -95,9 +95,9 @@ public class ArtifactIncludeFilterTransformer implements FilterTransformer<Artif
                 {
                     return includeNullScope;
                 }
-                
+
                 boolean isIncluded;
-                
+
                 if ( scopeFilter.getIncluded() != null )
                 {
                     isIncluded = scopeFilter.getIncluded().contains( artifact.getScope() );
@@ -106,12 +106,12 @@ public class ArtifactIncludeFilterTransformer implements FilterTransformer<Artif
                 {
                     isIncluded = true;
                 }
-                
+
                 boolean isExcluded;
 
                 if ( scopeFilter.getExcluded() != null )
                 {
-                    isExcluded = scopeFilter.getExcluded().contains( artifact.getScope() ); 
+                    isExcluded = scopeFilter.getExcluded().contains( artifact.getScope() );
                 }
                 else
                 {
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformer.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformer.java
index 238a53f..2c7c386 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformer.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformer.java
@@ -25,6 +25,8 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import static java.util.Objects.requireNonNull;
+
 import org.apache.maven.shared.artifact.filter.resolve.AbstractFilter;
 import org.apache.maven.shared.artifact.filter.resolve.AndFilter;
 import org.apache.maven.shared.artifact.filter.resolve.ExclusionsFilter;
@@ -53,11 +55,11 @@ public class EclipseAetherFilterTransformer
     implements FilterTransformer<DependencyFilter>
 {
     /**
-     * When using as regular expression, group(1) + group(3) will be the coordinate, 
+     * When using as regular expression, group(1) + group(3) will be the coordinate,
      * group(2) will be the classifier.
      */
     private static final String GAE_C_V = "(.*:.*:.*):(.+)(:.*)";
-    
+
     /** {@inheritDoc} */
     @Override
     public AndDependencyFilter transform( AndFilter andFilter )
@@ -95,13 +97,13 @@ public class EclipseAetherFilterTransformer
     {
         return new ScopeDependencyFilter( filter.getIncluded(), filter.getExcluded() );
     }
-    
+
     /** {@inheritDoc} */
     @Override
     public DependencyFilter transform( PatternExclusionsFilter filter )
     {
         return new PatternExclusionsDependencyFilter( filter.getExcludes() );
-    } 
+    }
 
     /** {@inheritDoc} */
     @Override
@@ -110,7 +112,7 @@ public class EclipseAetherFilterTransformer
         // if any include contains a classifier:
         // split all includes and make it an or-filter for every include
         // for the classifier, add an and-filter with a classifierfilter and patterninclusionfilter
-        
+
         for ( String include : filter.getIncludes() )
         {
             if ( include.matches( GAE_C_V ) )
@@ -118,10 +120,10 @@ public class EclipseAetherFilterTransformer
                 return newAdvancedPatternInclusionFilter( filter.getIncludes() );
             }
         }
-        
+
         return new PatternInclusionsDependencyFilter( filter.getIncludes() );
     }
-    
+
     /** {@inheritDoc} */
     @Override
     public DependencyFilter transform( final AbstractFilter filter )
@@ -131,9 +133,12 @@ public class EclipseAetherFilterTransformer
             @Override
             public boolean accept( DependencyNode node, List<DependencyNode> parents )
             {
+                requireNonNull( node, "node cannot be null" );
+                requireNonNull( parents, "parents cannot be null" );
+
                 return filter.accept( new EclipseAetherNode( node ), null );
             }
-        }; 
+        };
     }
 
     private DependencyFilter newAdvancedPatternInclusionFilter( Collection<String> includes )
@@ -150,19 +155,22 @@ public class EclipseAetherFilterTransformer
                     new PatternInclusionsDependencyFilter( matcher.group( 1 ) + matcher.group( 3 ) );
 
                 final String classifier = matcher.group( 2 );
-                
+
                 DependencyFilter classifierFilter = new DependencyFilter()
                 {
                     @Override
                     public boolean accept( DependencyNode node, List<DependencyNode> parents )
                     {
+                        requireNonNull( node, "node cannot be null" );
+                        requireNonNull( parents, "parents cannot be null" );
+
                         String nodeClassifier = node.getArtifact().getClassifier();
-                        
+
                         if ( nodeClassifier == null )
                         {
                             return false;
                         }
-                        else 
+                        else
                         {
                             return "*".equals( classifier ) || nodeClassifier.matches( classifier );
                         }
diff --git a/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformerTest.java b/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformerTest.java
index 0955c71..4ea9302 100644
--- a/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformerTest.java
+++ b/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformerTest.java
@@ -61,14 +61,14 @@ public class EclipseAetherFilterTransformerTest
                                                    new ExclusionsFilter( Collections.singletonList( "x:a" ) ) ) );
 
         AndDependencyFilter dependencyFilter = (AndDependencyFilter) filter.transform( transformer );
-        
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), null ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "compile" ), null ) );
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), Collections.<DependencyNode>emptyList() ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), null ) );
+        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "compile" ), Collections.<DependencyNode>emptyList() ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "test" ), null ) );
+        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), Collections.<DependencyNode>emptyList() ) );
+
+        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "test" ), Collections.<DependencyNode>emptyList() ) );
     }
 
     @Test
@@ -78,24 +78,24 @@ public class EclipseAetherFilterTransformerTest
 
         ExclusionsDependencyFilter dependencyFilter = (ExclusionsDependencyFilter) filter.transform( transformer );
 
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), null ) );
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), Collections.<DependencyNode>emptyList() ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "compile" ), null ) );
+        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "compile" ), Collections.<DependencyNode>emptyList() ) );
     }
 
     @Test
     public void testTransformOrFilter()
     {
-        OrFilter filter = new OrFilter( Arrays.<TransformableFilter>asList( ScopeFilter.including( "compile" ), 
+        OrFilter filter = new OrFilter( Arrays.<TransformableFilter>asList( ScopeFilter.including( "compile" ),
                                                                             ScopeFilter.including( "test" ) ) );
 
         OrDependencyFilter dependencyFilter = (OrDependencyFilter) filter.transform( transformer );
 
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), null ) );
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), Collections.<DependencyNode>emptyList() ) );
+
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), Collections.<DependencyNode>emptyList() ) );
 
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), null ) );
-        
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
+        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), Collections.<DependencyNode>emptyList() ) );
     }
 
     @Test
@@ -104,12 +104,12 @@ public class EclipseAetherFilterTransformerTest
         ScopeFilter filter = ScopeFilter.including( Collections.singletonList( "runtime" ) );
 
         ScopeDependencyFilter dependencyFilter = (ScopeDependencyFilter) filter.transform( transformer );
-        
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), null ) );
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), Collections.<DependencyNode>emptyList() ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), null ) );
+        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), Collections.<DependencyNode>emptyList() ) );
+
+        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), Collections.<DependencyNode>emptyList() ) );
     }
 
     @Test
@@ -121,9 +121,9 @@ public class EclipseAetherFilterTransformerTest
         PatternExclusionsDependencyFilter dependencyFilter =
             (PatternExclusionsDependencyFilter) filter.transform( transformer );
 
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), Collections.<DependencyNode>emptyList() ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "runtime" ), null ) );
+        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "runtime" ), Collections.<DependencyNode>emptyList() ) );
     }
 
     @Test
@@ -135,9 +135,9 @@ public class EclipseAetherFilterTransformerTest
         PatternInclusionsDependencyFilter dependencyFilter =
             (PatternInclusionsDependencyFilter) filter.transform( transformer );
 
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), Collections.<DependencyNode>emptyList() ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "runtime" ), null ) );
+        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "runtime" ), Collections.<DependencyNode>emptyList() ) );
     }
 
     @Test
@@ -148,11 +148,11 @@ public class EclipseAetherFilterTransformerTest
 
         DependencyFilter dependencyFilter = filter.transform( transformer );
 
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v:c:*", "runtime" ), null ) );
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v:c:*", "runtime" ), Collections.<DependencyNode>emptyList() ) );
+
+        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), Collections.<DependencyNode>emptyList() ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
-        
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v:c:*", "runtime" ), null ) );
+        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v:c:*", "runtime" ), Collections.<DependencyNode>emptyList() ) );
     }
 
     @Test
@@ -166,14 +166,14 @@ public class EclipseAetherFilterTransformerTest
                 return ArtifactUtils.isSnapshot( node.getDependency().getVersion() );
             }
         };
-        
+
         DependencyFilter dependencyFilter = snapshotFilter.transform( transformer );
-        
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:1.0-SNAPSHOT", "compile" ), null ) );
 
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:1.0", "compile" ), null ) );
+        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:1.0-SNAPSHOT", "compile" ), Collections.<DependencyNode>emptyList() ) );
+
+        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:1.0", "compile" ), Collections.<DependencyNode>emptyList() ) );
     }
-    
+
     private DependencyNode newDependencyNode( String string, String scope )
     {
         return new DefaultDependencyNode( new Dependency( new DefaultArtifact( string ), scope ) );