Author: dantran
Date: Fri Jan  1 04:08:00 2010
New Revision: 894970

URL: http://svn.apache.org/viewvc?rev=894970&view=rev
Log:
[MDEP-235] Better handling of comma separated string configurations

Modified:
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyFilterMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyFilterMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyFilterMojo.java?rev=894970&r1=894969&r2=894970&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyFilterMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyFilterMojo.java
 Fri Jan  1 04:08:00 2010
@@ -1,22 +1,18 @@
 package org.apache.maven.plugin.dependency;
 
 /*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to you under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ * 
  * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.    
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
  */
 
 import java.io.File;
@@ -25,6 +21,7 @@
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.dependency.utils.DependencyStatusSets;
+import org.apache.maven.plugin.dependency.utils.DependencyUtil;
 import org.apache.maven.plugin.dependency.utils.resolvers.ArtifactsResolver;
 import 
org.apache.maven.plugin.dependency.utils.resolvers.DefaultArtifactsResolver;
 import org.apache.maven.plugin.dependency.utils.translators.ArtifactTranslator;
@@ -218,7 +215,8 @@
      * @return A HashSet of artifacts
      * @throws MojoExecutionException 
      */
-    protected Set getResolvedDependencies( boolean stopOnFailure )throws 
MojoExecutionException
+    protected Set getResolvedDependencies( boolean stopOnFailure )
+        throws MojoExecutionException
 
     {
         DependencyStatusSets status = getDependencySets( stopOnFailure );
@@ -244,11 +242,21 @@
         FilterArtifacts filter = new FilterArtifacts();
 
         filter.addFilter( new TransitivityFilter( 
project.getDependencyArtifacts(), this.excludeTransitive ) );
-        filter.addFilter( new ScopeFilter( this.includeScope, 
this.excludeScope ) );
-        filter.addFilter( new TypeFilter( this.includeTypes, this.excludeTypes 
) );
-        filter.addFilter( new ClassifierFilter( this.includeClassifiers, 
this.excludeClassifiers ) );
-        filter.addFilter( new GroupIdFilter( this.includeGroupIds, 
this.excludeGroupIds ) );
-        filter.addFilter( new ArtifactIdFilter( this.includeArtifactIds, 
this.excludeArtifactIds ) );
+
+        filter.addFilter( new ScopeFilter( 
DependencyUtil.cleanToBeTokenizedString( this.includeScope ), DependencyUtil
+            .cleanToBeTokenizedString( this.excludeScope ) ) );
+
+        filter.addFilter( new TypeFilter( 
DependencyUtil.cleanToBeTokenizedString( this.includeTypes ), DependencyUtil
+            .cleanToBeTokenizedString( this.excludeTypes ) ) );
+
+        filter.addFilter( new ClassifierFilter( 
DependencyUtil.cleanToBeTokenizedString( this.includeClassifiers ),
+                                                
DependencyUtil.cleanToBeTokenizedString( this.excludeClassifiers ) ) );
+
+        filter.addFilter( new GroupIdFilter( 
DependencyUtil.cleanToBeTokenizedString( this.includeGroupIds ),
+                                             
DependencyUtil.cleanToBeTokenizedString( this.excludeGroupIds ) ) );
+
+        filter.addFilter( new ArtifactIdFilter( 
DependencyUtil.cleanToBeTokenizedString( this.includeArtifactIds ),
+                                                
DependencyUtil.cleanToBeTokenizedString( this.excludeArtifactIds ) ) );
 
         // start with all artifacts.
         Set artifacts = project.getArtifacts();
@@ -260,7 +268,7 @@
         }
         catch ( ArtifactFilterException e )
         {
-            throw new MojoExecutionException(e.getMessage(),e);
+            throw new MojoExecutionException( e.getMessage(), e );
         }
 
         // transform artifacts if classifier is set
@@ -346,7 +354,7 @@
         }
         catch ( ArtifactFilterException e )
         {
-            throw new MojoExecutionException(e.getMessage(),e);
+            throw new MojoExecutionException( e.getMessage(), e );
         }
 
         // calculate the skipped artifacts

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java?rev=894970&r1=894969&r2=894970&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/UnpackDependenciesMojo.java
 Fri Jan  1 04:08:00 2010
@@ -111,7 +111,7 @@
      */
     public String getExcludes ()
     {
-        return this.excludes;
+        return DependencyUtil.cleanToBeTokenizedString( this.excludes );
     }
     
     /**
@@ -125,16 +125,16 @@
     }
     
     /**
-     * @return Returns a comma seperated list of included items
+     * @return Returns a comma separated list of included items
      */
     public String getIncludes()
     {
-       return this.includes;
+        return DependencyUtil.cleanToBeTokenizedString( this.includes );
     }
 
     /**
      * @param includes
-     *                         A comma seperated list of items to inmclude 
+     *                         A comma separated list of items to include 
      *                         i.e.  **\/*.xml, **\/*.properties
      */
     public void setIncludes ( String includes )

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java?rev=894970&r1=894969&r2=894970&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/fromConfiguration/ArtifactItem.java
 Fri Jan  1 04:08:00 2010
@@ -22,6 +22,7 @@
 import java.io.File;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.dependency.utils.DependencyUtil;
 import org.codehaus.plexus.util.StringUtils;
 
 /**
@@ -328,7 +329,7 @@
      */
     public String getExcludes ()
     {
-        return this.excludes;
+        return DependencyUtil.cleanToBeTokenizedString( this.excludes );
     }
     
     /**
@@ -346,7 +347,7 @@
      */
     public String getIncludes()
     {
-       return this.includes;
+       return DependencyUtil.cleanToBeTokenizedString( this.includes );
     }
 
     /**

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java?rev=894970&r1=894969&r2=894970&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/DependencyUtil.java
 Fri Jan  1 04:08:00 2010
@@ -226,4 +226,26 @@
 
         reader.close();
     }
+
+    //
+    // mainly used to parse excludes,includes configuration
+    //
+    public static String [] tokenizer( String str )
+    {
+        return StringUtils.split( cleanToBeTokenizedString( str ), "," );
+    }
+    
+    //
+    // clean up configuration string before it can be tokenized
+    //
+    public static String cleanToBeTokenizedString( String str )
+    {
+        String ret = "";
+        if ( ! StringUtils.isEmpty( str ) )
+        {
+            ret = StringUtils.join( StringUtils.split( str ), "," );
+        }
+        
+        return ret;
+    }    
 }

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java?rev=894970&r1=894969&r2=894970&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/TestDependencyUtil.java
 Fri Jan  1 04:08:00 2010
@@ -259,4 +259,20 @@
         assertEquals( expectedResult, name );
 
     }
+    
+    public void testTokenizer()
+    {
+        
+        String [] tokens = DependencyUtil.tokenizer( " \r\n a, \t \n \r b \t 
\n \r" );
+        assertEquals( 2, tokens.length );
+        assertEquals( "a", tokens[0] );
+        assertEquals( "b", tokens[1] );
+        
+        tokens = DependencyUtil.tokenizer( null );
+        assertEquals( 0, tokens.length );
+        
+        tokens = DependencyUtil.tokenizer( "  " );
+        assertEquals( 0, tokens.length );
+        
+    }
 }


Reply via email to