You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/08/16 01:24:55 UTC

svn commit: r566397 - in /maven/shared/trunk/maven-common-artifact-filters/src: main/java/org/apache/maven/shared/artifact/filter/ test/java/org/apache/maven/shared/artifact/filter/

Author: jdcasey
Date: Wed Aug 15 16:24:53 2007
New Revision: 566397

URL: http://svn.apache.org/viewvc?view=rev&rev=566397
Log:
[MASSEMBLY-223] Fixed problem where patterns >= first are not used. Applied patch and wrote unit test to verify.

Modified:
    maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java
    maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternArtifactFilterTCK.java
    maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternExcludesArtifactFilterTest.java
    maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilterTest.java

Modified: maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java?view=diff&rev=566397&r1=566396&r2=566397
==============================================================================
--- maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java (original)
+++ maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java Wed Aug 15 16:24:53 2007
@@ -164,6 +164,7 @@
 
     private boolean matchAgainst( String value, List patterns, boolean regionMatch )
     {
+    	boolean match = false;
         for ( Iterator i = patterns.iterator(); i.hasNext(); )
         {
             // TODO: what about wildcards? Just specifying groups? versions?
@@ -180,7 +181,7 @@
                 if ( value.indexOf( pattern ) > -1 )
                 {
                     patternsTriggered.add( pattern );
-                    return true;
+                    match = true;
                 }
             }
             else
@@ -188,7 +189,7 @@
                 if ( value.equals( pattern ) )
                 {
                     patternsTriggered.add( pattern );
-                    return true;
+                    match = true;
                 }
             }
 
@@ -212,18 +213,17 @@
 
                     idxes[j] = value.indexOf( subPattern, lastIdx );
 
-                    if ( idxes[j] < 0 )
+                    if ( idxes[j] >= 0 )
                     {
-                        return false;
+                    	patternsTriggered.add( pattern );
+                        match = true;
                     }
-                }
-
-                patternsTriggered.add( pattern );
-                return true;
+                }            	
+                
             }
         }
 
-        return false;
+        return match;
     }
 
     public void reportMissedCriteria( Logger logger )

Modified: maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternArtifactFilterTCK.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternArtifactFilterTCK.java?view=diff&rev=566397&r1=566396&r2=566397
==============================================================================
--- maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternArtifactFilterTCK.java (original)
+++ maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternArtifactFilterTCK.java Wed Aug 15 16:24:53 2007
@@ -39,6 +39,39 @@
 
     protected abstract ArtifactFilter createFilter( List patterns, boolean actTransitively );
 
+    public void testShouldTriggerBothPatternsWithWildcards( boolean reverse )
+    {
+        String groupId1 = "group";
+        String artifactId1 = "artifact";
+
+        String groupId2 = "group2";
+        String artifactId2 = "artifact2";
+
+        ArtifactMockAndControl mac1 = new ArtifactMockAndControl( groupId1, artifactId1 );
+        ArtifactMockAndControl mac2 = new ArtifactMockAndControl( groupId2, artifactId2 );
+
+        mockManager.replayAll();
+
+        List patterns = new ArrayList();
+        patterns.add( groupId1 + ":" + artifactId1 + ":*" );
+        patterns.add( groupId2 + ":" + artifactId2 + ":*" );
+
+        ArtifactFilter filter = createFilter( patterns );
+
+        if ( reverse )
+        {
+            assertFalse( filter.include( mac1.artifact ) );
+            assertFalse( filter.include( mac2.artifact ) );
+        }
+        else
+        {
+            assertTrue( filter.include( mac1.artifact ) );
+            assertTrue( filter.include( mac2.artifact ) );
+        }
+
+        mockManager.verifyAll();
+    }
+
     public void testShouldIncludeDirectlyMatchedArtifactByGroupIdArtifactId( boolean reverse )
     {
         String groupId = "group";

Modified: maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternExcludesArtifactFilterTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternExcludesArtifactFilterTest.java?view=diff&rev=566397&r1=566396&r2=566397
==============================================================================
--- maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternExcludesArtifactFilterTest.java (original)
+++ maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternExcludesArtifactFilterTest.java Wed Aug 15 16:24:53 2007
@@ -43,6 +43,11 @@
 
     };
 
+    public void testShouldTriggerBothPatternsWithWildcards()
+    {
+        tck.testShouldTriggerBothPatternsWithWildcards( true );
+    }
+
     public void testShouldNotIncludeDirectlyMatchedArtifactByDependencyConflictId()
     {
         tck.testShouldIncludeDirectlyMatchedArtifactByDependencyConflictId( true );

Modified: maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilterTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilterTest.java?view=diff&rev=566397&r1=566396&r2=566397
==============================================================================
--- maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilterTest.java (original)
+++ maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilterTest.java Wed Aug 15 16:24:53 2007
@@ -42,6 +42,11 @@
 
     };
 
+    public void testShouldTriggerBothPatternsWithWildcards()
+    {
+        tck.testShouldTriggerBothPatternsWithWildcards( false );
+    }
+
     public void testShouldIncludeDirectlyMatchedArtifactByDependencyConflictId()
     {
         tck.testShouldIncludeDirectlyMatchedArtifactByDependencyConflictId( false );