Author: carlos
Date: Wed Nov 23 14:16:22 2005
New Revision: 348583

URL: http://svn.apache.org/viewcvs?rev=348583&view=rev
Log:
Handle optional property
PR: MRM-27

Modified:
    
maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4Translator.java
    
maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4TranslatorTest.java

Modified: 
maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4Translator.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4Translator.java?rev=348583&r1=348582&r2=348583&view=diff
==============================================================================
--- 
maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4Translator.java
 (original)
+++ 
maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4Translator.java
 Wed Nov 23 14:16:22 2005
@@ -587,6 +587,12 @@
                         dep.setScope( scope );
                     }
 
+                    String optional = v3Dep.getProperty( "optional" );
+                    if ( StringUtils.isNotEmpty( optional ) )
+                    {
+                        dep.setOptional( Boolean.parseBoolean(optional) );
+                    }
+
                     deps.add( dep );
                 }
             }

Modified: 
maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4TranslatorTest.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4TranslatorTest.java?rev=348583&r1=348582&r2=348583&view=diff
==============================================================================
--- 
maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4TranslatorTest.java
 (original)
+++ 
maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/translate/PomV3ToV4TranslatorTest.java
 Wed Nov 23 14:16:22 2005
@@ -27,21 +27,36 @@
 public class PomV3ToV4TranslatorTest
     extends PlexusTestCase
 {
+    
+    private PomV3ToV4Translator translator;
 
-    public void testShouldConvertScopePropertyToDependencyScope()
+    private Reporter reporter;
+    
+    private org.apache.maven.model.v3_0_0.Dependency v3Dep;
+    
+    private org.apache.maven.model.v3_0_0.Model v3Model;
+    
+    protected void setUp()
         throws Exception
     {
-        PomV3ToV4Translator translator = (PomV3ToV4Translator) lookup( 
PomV3ToV4Translator.ROLE );
+        super.setUp();
+        translator = (PomV3ToV4Translator) lookup( PomV3ToV4Translator.ROLE );
 
-        Reporter reporter = new DummyReporter();
+        reporter = new DummyReporter();
 
-        org.apache.maven.model.v3_0_0.Dependency v3Dep = new 
org.apache.maven.model.v3_0_0.Dependency();
+        v3Dep = new org.apache.maven.model.v3_0_0.Dependency();
         v3Dep.setGroupId( "testGroup" );
         v3Dep.setArtifactId( "testArtifact" );
         v3Dep.setVersion( "1.0" );
+
+        v3Model = new org.apache.maven.model.v3_0_0.Model();
+    }
+
+    public void testShouldConvertScopePropertyToDependencyScope()
+        throws Exception
+    {
         v3Dep.addProperty( "scope", "test" );
 
-        org.apache.maven.model.v3_0_0.Model v3Model = new 
org.apache.maven.model.v3_0_0.Model();
         v3Model.addDependency( v3Dep );
 
         Model result = translator.translate( v3Model, reporter );
@@ -49,20 +64,47 @@
 
     }
 
-    public void testShouldConvertDependencyWithTypePluginToBuildPluginEntry()
+    public void testShouldConvertOptionalPropertyToDependencyOptional()
         throws Exception
     {
-        PomV3ToV4Translator translator = (PomV3ToV4Translator) lookup( 
PomV3ToV4Translator.ROLE );
+        v3Dep.addProperty( "optional", "true" );
 
-        Reporter reporter = new DummyReporter();
+        v3Model.addDependency( v3Dep );
 
-        org.apache.maven.model.v3_0_0.Dependency v3Dep = new 
org.apache.maven.model.v3_0_0.Dependency();
-        v3Dep.setGroupId( "testGroup" );
-        v3Dep.setArtifactId( "testArtifact" );
-        v3Dep.setVersion( "1.0" );
+        Model result = translator.translate( v3Model, reporter );
+        assertTrue( ( (Dependency) result.getDependencies().get( 0 ) 
).isOptional() );
+
+        v3Dep.addProperty( "optional", "TRUE" );
+
+        v3Model.addDependency( v3Dep );
+
+        result = translator.translate( v3Model, reporter );
+        assertTrue( ( (Dependency) result.getDependencies().get( 0 ) 
).isOptional() );
+    }
+
+    public void testDontBreakWithMalformedOptionalProperty()
+        throws Exception
+    {
+        v3Dep.addProperty( "optional", "xxx" );
+
+        v3Model.addDependency( v3Dep );
+
+        Model result = translator.translate( v3Model, reporter );
+        assertFalse( ( (Dependency) result.getDependencies().get( 0 ) 
).isOptional() );
+
+        v3Dep.addProperty( "optional", "" );
+
+        v3Model.addDependency( v3Dep );
+
+        result = translator.translate( v3Model, reporter );
+        assertFalse( ( (Dependency) result.getDependencies().get( 0 ) 
).isOptional() );
+    }
+
+    public void testShouldConvertDependencyWithTypePluginToBuildPluginEntry()
+        throws Exception
+    {
         v3Dep.setType( "plugin" );
 
-        org.apache.maven.model.v3_0_0.Model v3Model = new 
org.apache.maven.model.v3_0_0.Model();
         v3Model.addDependency( v3Dep );
 
         Model result = translator.translate( v3Model, reporter );
@@ -79,17 +121,9 @@
     public void 
testShouldConvertDependencyWithTypePluginAndGroupMavenToBuildPluginEntryWithOAMPluginsGroup()
         throws Exception
     {
-        PomV3ToV4Translator translator = (PomV3ToV4Translator) lookup( 
PomV3ToV4Translator.ROLE );
-
-        Reporter reporter = new DummyReporter();
-
-        org.apache.maven.model.v3_0_0.Dependency v3Dep = new 
org.apache.maven.model.v3_0_0.Dependency();
         v3Dep.setGroupId( "maven" );
-        v3Dep.setArtifactId( "testArtifact" );
-        v3Dep.setVersion( "1.0" );
         v3Dep.setType( "plugin" );
 
-        org.apache.maven.model.v3_0_0.Model v3Model = new 
org.apache.maven.model.v3_0_0.Model();
         v3Model.addDependency( v3Dep );
 
         Model result = translator.translate( v3Model, reporter );


Reply via email to