Author: brianf
Date: Tue Oct  3 21:07:13 2006
New Revision: 452714

URL: http://svn.apache.org/viewvc?view=rev&rev=452714
Log:
more unit tests

Added:
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/translators/
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/translators/TestClassifierTypeTranslator.java
Modified:
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/translators/ClassifierTypeTranslator.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/AbstractDependencyMojoTestCase.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/ArtifactStubFactory.java

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/translators/ClassifierTypeTranslator.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/translators/ClassifierTypeTranslator.java?view=diff&rev=452714&r1=452713&r2=452714
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/translators/ClassifierTypeTranslator.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/utils/translators/ClassifierTypeTranslator.java
 Tue Oct  3 21:07:13 2006
@@ -25,10 +25,11 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.plugin.logging.Log;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * @author brianf
- *
+ * 
  */
 public class ClassifierTypeTranslator
     implements ArtifactTranslator
@@ -47,8 +48,11 @@
         this.factory = factory;
     }
 
-    /* (non-Javadoc)
-     * @see 
org.apache.mojo.dependency.utils.translators.ArtifactTranslator#translate(java.util.Set,
 org.apache.maven.plugin.logging.Log)
+    /*
+     * (non-Javadoc)
+     * 
+     * @see 
org.apache.mojo.dependency.utils.translators.ArtifactTranslator#translate(java.util.Set,
+     *      org.apache.maven.plugin.logging.Log)
      */
     public Set translate( Set artifacts, Log log )
     {
@@ -59,9 +63,37 @@
         for ( Iterator i = artifacts.iterator(); i.hasNext(); )
         {
             Artifact artifact = (Artifact) i.next();
+
+            //this translator must pass both type and classifier here so we 
will use the
+            //base artifact value if null comes in
+            String useType = null;
+            if ( StringUtils.isNotEmpty(this.type) )
+            {
+                useType = this.type;
+            }
+            else
+            {
+                useType = artifact.getType();
+            }
+
+            String useClassifier = null;
+            if ( StringUtils.isNotEmpty(this.classifier) )
+            {
+                useClassifier = this.classifier;
+            }
+            else
+            {
+                useClassifier = artifact.getClassifier();
+            }
+
             // Create a new artifact
             Artifact newArtifact = factory.createArtifactWithClassifier( 
artifact.getGroupId(), artifact
-                .getArtifactId(), artifact.getVersion(), this.type, 
this.classifier );
+                .getArtifactId(), artifact.getVersion(), useType, 
useClassifier );
+
+            // note the new artifacts will always have the scope set to null. 
We
+            // should
+            // reset it here so that it will pass other filters if needed
+            newArtifact.setScope( artifact.getScope() );
 
             results.add( newArtifact );
         }
@@ -78,7 +110,8 @@
     }
 
     /**
-     * @param classifier The classifier to set.
+     * @param classifier
+     *            The classifier to set.
      */
     public void setClassifier( String classifier )
     {
@@ -94,7 +127,8 @@
     }
 
     /**
-     * @param type The type to set.
+     * @param type
+     *            The type to set.
      */
     public void setType( String type )
     {

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/AbstractDependencyMojoTestCase.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/AbstractDependencyMojoTestCase.java?view=diff&rev=452714&r1=452713&r2=452714
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/AbstractDependencyMojoTestCase.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/AbstractDependencyMojoTestCase.java
 Tue Oct  3 21:07:13 2006
@@ -39,17 +39,20 @@
 

     protected void tearDown()

     {

-        try

+        if ( testDir != null )

         {

-            DependencyTestUtils.removeDirectory( testDir );

+            try

+            {

+                DependencyTestUtils.removeDirectory( testDir );

+            }

+            catch ( IOException e )

+            {

+                // TODO Auto-generated catch block

+                e.printStackTrace();

+                fail("Trying to remove directory:"+testDir);

+            }

+            assertFalse( testDir.exists() );

         }

-        catch ( IOException e )

-        {

-            // TODO Auto-generated catch block

-            e.printStackTrace();

-            assertTrue( false );

-        }

-        assertFalse( testDir.exists() );

     }

 

 }


Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/ArtifactStubFactory.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/ArtifactStubFactory.java?view=diff&rev=452714&r1=452713&r2=452714
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/ArtifactStubFactory.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/ArtifactStubFactory.java
 Tue Oct  3 21:07:13 2006
@@ -10,7 +10,6 @@
 import org.apache.maven.artifact.handler.ArtifactHandler;

 import org.apache.maven.artifact.handler.DefaultArtifactHandler;

 import org.apache.maven.artifact.versioning.VersionRange;

-import org.codehaus.plexus.util.StringUtils;

 

 public class ArtifactStubFactory

 {

@@ -106,9 +105,18 @@
     {

      Set set = new HashSet();

      set.add(createArtifact("g","a","1.0",Artifact.SCOPE_COMPILE,"war",null));

-     set.add(createArtifact("g","a","1.0",Artifact.SCOPE_COMPILE,"jar",null));

-     
set.add(createArtifact("g","a","1.0",Artifact.SCOPE_COMPILE,"sources",null));

-     set.add(createArtifact("g","a","1.0",Artifact.SCOPE_COMPILE,"zip",null));

+     set.add(createArtifact("g","b","1.0",Artifact.SCOPE_COMPILE,"jar",null));

+     
set.add(createArtifact("g","c","1.0",Artifact.SCOPE_COMPILE,"sources",null));

+     set.add(createArtifact("g","d","1.0",Artifact.SCOPE_COMPILE,"zip",null));

      return set;

+    }

+    

+    public Set getMixedArtifacts()

+    {

+        Set set = new HashSet();

+        set.addAll(getTypedArtifacts());

+        set.addAll(getScopedArtifacts());

+        set.addAll(getReleaseAndSnapshotArtifacts());

+        return set;

     }

 }


Added: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/translators/TestClassifierTypeTranslator.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/translators/TestClassifierTypeTranslator.java?view=auto&rev=452714
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/translators/TestClassifierTypeTranslator.java
 (added)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/utils/translators/TestClassifierTypeTranslator.java
 Tue Oct  3 21:07:13 2006
@@ -0,0 +1,196 @@
+/*

+ *  Copyright 2005-2006 Brian Fox ([EMAIL PROTECTED])

+ *

+ * Licensed 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.

+ */

+/**

+ * 

+ */

+package org.apache.maven.plugin.dependency.utils.translators;

+

+import java.util.HashMap;

+import java.util.HashSet;

+import java.util.Iterator;

+import java.util.Set;

+

+import org.apache.maven.artifact.Artifact;

+import org.apache.maven.artifact.factory.ArtifactFactory;

+import org.apache.maven.artifact.factory.DefaultArtifactFactory;

+import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;

+import org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager;

+import org.apache.maven.plugin.dependency.AbstractDependencyMojoTestCase;

+import org.apache.maven.plugin.dependency.utils.ArtifactStubFactory;

+import org.apache.maven.plugin.dependency.utils.SilentLog;

+import org.apache.maven.plugin.logging.Log;

+

+/**

+ * @author brianf

+ * 

+ */

+public class TestClassifierTypeTranslator

+    extends AbstractDependencyMojoTestCase

+{

+    Set artifacts = new HashSet();

+

+    ArtifactFactory artifactFactory;

+

+    Log log = new SilentLog();

+

+    protected void setUp()

+        throws Exception

+    {

+        super.setUp();

+        

+        ArtifactHandlerManager manager = new DefaultArtifactHandlerManager();

+        this.setVariableValueToObject(manager,"artifactHandlers",new 
HashMap());

+        

+        artifactFactory = new DefaultArtifactFactory();

+        
this.setVariableValueToObject(artifactFactory,"artifactHandlerManager",manager);

+        

+        ArtifactStubFactory factory = new ArtifactStubFactory( null, false );

+        artifacts = factory.getMixedArtifacts();

+    }

+

+    public void testNullClassifier()

+    {

+        doTestNullEmptyClassifier(null);

+    }

+    public void testEmptyClassifier()

+    {

+        doTestNullEmptyClassifier("");

+    }

+    

+    public void doTestNullEmptyClassifier(String classifier)

+    {

+        String type = "zip";

+        

+        ArtifactTranslator at = new ClassifierTypeTranslator( classifier,type, 
artifactFactory );

+        Set results = at.translate(artifacts,log);

+        

+        Iterator iter = artifacts.iterator();

+        

+        while (iter.hasNext())

+        {

+            Artifact artifact = (Artifact) iter.next();

+            Iterator resultIter = results.iterator();

+            boolean found = false;

+            while (!found && resultIter.hasNext() )

+            {

+                Artifact translatedArtifact = (Artifact) resultIter.next(); 

+                if (artifact.getArtifactId() == 
translatedArtifact.getArtifactId() &&

+                    artifact.getGroupId() == translatedArtifact.getGroupId() &&

+                    artifact.getScope() == translatedArtifact.getScope())

+                {

+                    //classifier is null, should be the same as the artifact

+                    
assertEquals(artifact.getClassifier(),translatedArtifact.getClassifier());

+                    assertEquals(type,translatedArtifact.getType());

+                    

+                    found = true;

+                    break;

+                }

+            }

+            assertTrue(found);

+        }  

+    }

+    

+    public void testNullType()

+    {

+        doTestNullEmptyType(null);

+    }

+    public void testEmptyType()

+    {

+        doTestNullEmptyType("");

+    }

+    

+    public void doTestNullEmptyType(String type)

+    {

+        String classifier = "jdk5";

+        

+        ArtifactTranslator at = new ClassifierTypeTranslator( classifier,type, 
artifactFactory );

+        Set results = at.translate(artifacts,log);

+        

+        Iterator iter = artifacts.iterator();

+        

+        while (iter.hasNext())

+        {

+            Artifact artifact = (Artifact) iter.next();

+            Iterator resultIter = results.iterator();

+            boolean found = false;

+            while (!found && resultIter.hasNext() )

+            {

+                Artifact translatedArtifact = (Artifact) resultIter.next(); 

+                if (artifact.getArtifactId() == 
translatedArtifact.getArtifactId() &&

+                    artifact.getGroupId() == translatedArtifact.getGroupId() &&

+                    artifact.getScope() == translatedArtifact.getScope())

+                {

+                    //classifier is null, should be the same as the artifact

+                    
assertEquals(classifier,translatedArtifact.getClassifier());

+                    
assertEquals(artifact.getType(),translatedArtifact.getType());

+                    

+                    found = true;

+                    break;

+                }

+            }

+            assertTrue(found);

+        }  

+    }

+    

+    public void testClassifierAndType()

+    {

+        String classifier = "jdk14";

+        String type = "sources";

+        ArtifactTranslator at = new ClassifierTypeTranslator( classifier,type, 
artifactFactory );

+        Set results = at.translate(artifacts,log);

+        

+        Iterator iter = artifacts.iterator();

+        

+        while (iter.hasNext())

+        {

+            Artifact artifact = (Artifact) iter.next();

+            Iterator resultIter = results.iterator();

+            boolean found = false;

+            while (!found && resultIter.hasNext() )

+            {

+                Artifact translatedArtifact = (Artifact) resultIter.next(); 

+                if (artifact.getArtifactId() == 
translatedArtifact.getArtifactId() &&

+                    artifact.getGroupId() == translatedArtifact.getGroupId() &&

+                    artifact.getScope() == translatedArtifact.getScope())

+                {

+                    
assertEquals(translatedArtifact.getClassifier(),classifier);

+                    assertEquals(translatedArtifact.getType(),type);

+                    

+                    found = true;

+                    break;

+                }

+            }

+            assertTrue(found);

+        }     

+    }

+

+    public void testGetterSetter()

+    {

+        String classifier = "class";

+        String type = "type";

+        ClassifierTypeTranslator at = new ClassifierTypeTranslator( 
classifier,type, artifactFactory );

+        

+        assertEquals(classifier,at.getClassifier());

+        assertEquals(type,at.getType());

+        

+        at.setClassifier(type);

+        at.setType(classifier);

+        

+        assertEquals(type,at.getClassifier());

+        assertEquals(classifier,at.getType());

+        

+    }

+}



Reply via email to