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 ) );