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