add license, reformat to style and change failing test

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163333 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Leslie Porter 2005-02-03 09:10:02 +00:00
parent 2e187a4237
commit 6503a19dfc
2 changed files with 199 additions and 168 deletions

View File

@ -1,20 +1,35 @@
// TODO Attach license header here.
package org.apache.maven.project; package org.apache.maven.project;
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.TreeMap; import java.util.TreeMap;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
/** /**
* @author jdcasey Created on Feb 1, 2005 * @author jdcasey Created on Feb 1, 2005
*/ */
public class DefaultProjectDefaultsInjector public class DefaultProjectDefaultsInjector
implements ProjectDefaultsInjector implements ProjectDefaultsInjector
{ {
public void injectDefaults( MavenProject project ) public void injectDefaults( MavenProject project )

View File

@ -1,236 +1,252 @@
// TODO Attach license header here.
package org.apache.maven.project; package org.apache.maven.project;
import java.util.List; /*
import java.util.Properties; * Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
import junit.framework.TestCase;
import org.apache.maven.model.Dependency; import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DependencyManagement;
import org.apache.maven.model.Model; import org.apache.maven.model.Model;
import junit.framework.TestCase; import java.util.List;
import java.util.Properties;
/** /**
* @author jdcasey * @author jdcasey
* * <p/>
* Created on Feb 1, 2005 * Created on Feb 1, 2005
*/ */
public class DefaultProjectDefaultsInjectorTest public class DefaultProjectDefaultsInjectorTest
extends TestCase extends TestCase
{ {
public void testShouldConstructWithNoParams() public void testShouldConstructWithNoParams()
{ {
new DefaultProjectDefaultsInjector(); new DefaultProjectDefaultsInjector();
} }
public void testShouldSucceedInMergingDependencyWithDependency() public void testShouldSucceedInMergingDependencyWithDependency()
{ {
Model model = new Model(); Model model = new Model();
Dependency dep = new Dependency(); Dependency dep = new Dependency();
dep.setGroupId("myGroup"); dep.setGroupId( "myGroup" );
dep.setArtifactId("myArtifact"); dep.setArtifactId( "myArtifact" );
model.addDependency(dep); model.addDependency( dep );
Dependency def = new Dependency(); Dependency def = new Dependency();
def.setGroupId(dep.getGroupId()); def.setGroupId( dep.getGroupId() );
def.setArtifactId(dep.getArtifactId()); def.setArtifactId( dep.getArtifactId() );
def.setVersion("1.0.1"); def.setVersion( "1.0.1" );
DependencyManagement depMgmt = new DependencyManagement(); DependencyManagement depMgmt = new DependencyManagement();
depMgmt.addDependency(def); depMgmt.addDependency( def );
model.setDependencyManagement(depMgmt); model.setDependencyManagement( depMgmt );
MavenProject project = new MavenProject(model); MavenProject project = new MavenProject( model );
new DefaultProjectDefaultsInjector().injectDefaults(project); new DefaultProjectDefaultsInjector().injectDefaults( project );
List deps = project.getDependencies(); List deps = project.getDependencies();
assertEquals(1, deps.size()); assertEquals( 1, deps.size() );
Dependency result = (Dependency)deps.get(0); Dependency result = (Dependency) deps.get( 0 );
assertEquals(def.getVersion(), result.getVersion()); assertEquals( def.getVersion(), result.getVersion() );
} }
public void testShouldMergeDefaultUrlAndArtifactWhenDependencyDoesntSupplyVersion() public void testShouldMergeDefaultUrlAndArtifactWhenDependencyDoesntSupplyVersion()
{ {
Model model = new Model(); Model model = new Model();
Dependency dep = new Dependency(); Dependency dep = new Dependency();
dep.setGroupId("myGroup"); dep.setGroupId( "myGroup" );
dep.setArtifactId("myArtifact"); dep.setArtifactId( "myArtifact" );
model.addDependency(dep); model.addDependency( dep );
Dependency def = new Dependency(); Dependency def = new Dependency();
def.setGroupId(dep.getGroupId()); def.setGroupId( dep.getGroupId() );
def.setArtifactId(dep.getArtifactId()); def.setArtifactId( dep.getArtifactId() );
def.setVersion("1.0.1"); def.setVersion( "1.0.1" );
DependencyManagement depMgmt = new DependencyManagement(); DependencyManagement depMgmt = new DependencyManagement();
depMgmt.addDependency(def); depMgmt.addDependency( def );
model.setDependencyManagement(depMgmt); model.setDependencyManagement( depMgmt );
MavenProject project = new MavenProject(model); MavenProject project = new MavenProject( model );
new DefaultProjectDefaultsInjector().injectDefaults(project); new DefaultProjectDefaultsInjector().injectDefaults( project );
List deps = project.getDependencies(); List deps = project.getDependencies();
assertEquals(1, deps.size()); assertEquals( 1, deps.size() );
Dependency result = (Dependency)deps.get(0); Dependency result = (Dependency) deps.get( 0 );
assertEquals(def.getVersion(), result.getVersion()); assertEquals( def.getVersion(), result.getVersion() );
} }
public void testShouldNotMergeDefaultUrlOrArtifactWhenDependencySuppliesVersion() public void testShouldNotMergeDefaultUrlOrArtifactWhenDependencySuppliesVersion()
{ {
Model model = new Model(); Model model = new Model();
Dependency dep = new Dependency(); Dependency dep = new Dependency();
dep.setGroupId("myGroup"); dep.setGroupId( "myGroup" );
dep.setArtifactId("myArtifact"); dep.setArtifactId( "myArtifact" );
dep.setVersion("1.0.1"); dep.setVersion( "1.0.1" );
model.addDependency(dep); model.addDependency( dep );
Dependency def = new Dependency(); Dependency def = new Dependency();
def.setGroupId(dep.getGroupId()); def.setGroupId( dep.getGroupId() );
def.setArtifactId(dep.getArtifactId()); def.setArtifactId( dep.getArtifactId() );
DependencyManagement depMgmt = new DependencyManagement(); DependencyManagement depMgmt = new DependencyManagement();
depMgmt.addDependency(def); depMgmt.addDependency( def );
model.setDependencyManagement(depMgmt); model.setDependencyManagement( depMgmt );
MavenProject project = new MavenProject(model); MavenProject project = new MavenProject( model );
new DefaultProjectDefaultsInjector().injectDefaults(project); new DefaultProjectDefaultsInjector().injectDefaults( project );
List deps = project.getDependencies(); List deps = project.getDependencies();
assertEquals(1, deps.size()); assertEquals( 1, deps.size() );
Dependency result = (Dependency)deps.get(0); Dependency result = (Dependency) deps.get( 0 );
assertEquals(dep.getVersion(), result.getVersion()); assertEquals( dep.getVersion(), result.getVersion() );
} }
public void testShouldMergeDefaultPropertiesWhenDependencyDoesntSupplyProperties() public void testShouldMergeDefaultPropertiesWhenDependencyDoesntSupplyProperties()
{ {
Model model = new Model(); Model model = new Model();
Dependency dep = new Dependency(); Dependency dep = new Dependency();
dep.setGroupId("myGroup"); dep.setGroupId( "myGroup" );
dep.setArtifactId("myArtifact"); dep.setArtifactId( "myArtifact" );
dep.setVersion("1.0.1"); dep.setVersion( "1.0.1" );
model.addDependency(dep); model.addDependency( dep );
Dependency def = new Dependency(); Dependency def = new Dependency();
def.setGroupId(dep.getGroupId()); def.setGroupId( dep.getGroupId() );
def.setArtifactId(dep.getArtifactId()); def.setArtifactId( dep.getArtifactId() );
Properties props = new Properties(); Properties props = new Properties();
props.setProperty("test", "value"); props.setProperty( "test", "value" );
def.setProperties(props); def.setProperties( props );
DependencyManagement depMgmt = new DependencyManagement(); DependencyManagement depMgmt = new DependencyManagement();
depMgmt.addDependency(def); depMgmt.addDependency( def );
model.setDependencyManagement(depMgmt); model.setDependencyManagement( depMgmt );
MavenProject project = new MavenProject(model); MavenProject project = new MavenProject( model );
new DefaultProjectDefaultsInjector().injectDefaults(project); new DefaultProjectDefaultsInjector().injectDefaults( project );
List deps = project.getDependencies(); List deps = project.getDependencies();
assertEquals(1, deps.size()); assertEquals( 1, deps.size() );
Dependency result = (Dependency)deps.get(0); Dependency result = (Dependency) deps.get( 0 );
assertEquals("value", result.getProperties().getProperty("test")); assertEquals( "value", result.getProperties().getProperty( "test" ) );
} }
public void testShouldNotMergeDefaultPropertiesWhenDependencySuppliesProperties() public void testShouldNotMergeDefaultPropertiesWhenDependencySuppliesProperties()
{ {
Model model = new Model(); Model model = new Model();
Dependency dep = new Dependency(); Dependency dep = new Dependency();
dep.setGroupId("myGroup"); dep.setGroupId( "myGroup" );
dep.setArtifactId("myArtifact"); dep.setArtifactId( "myArtifact" );
dep.setVersion("1.0.1"); dep.setVersion( "1.0.1" );
Properties props = new Properties(); Properties props = new Properties();
props.setProperty("test", "value"); props.setProperty( "test", "value" );
dep.setProperties(props); dep.setProperties( props );
model.addDependency(dep); model.addDependency( dep );
Dependency def = new Dependency(); Dependency def = new Dependency();
def.setGroupId(dep.getGroupId()); def.setGroupId( dep.getGroupId() );
def.setArtifactId(dep.getArtifactId()); def.setArtifactId( dep.getArtifactId() );
Properties props2 = new Properties(); Properties props2 = new Properties();
props2.setProperty("test", "value2"); props2.setProperty( "test", "value2" );
def.setProperties(props2); def.setProperties( props2 );
DependencyManagement depMgmt = new DependencyManagement(); DependencyManagement depMgmt = new DependencyManagement();
depMgmt.addDependency(def); depMgmt.addDependency( def );
model.setDependencyManagement(depMgmt); model.setDependencyManagement( depMgmt );
MavenProject project = new MavenProject(model); MavenProject project = new MavenProject( model );
new DefaultProjectDefaultsInjector().injectDefaults(project); new DefaultProjectDefaultsInjector().injectDefaults( project );
List deps = project.getDependencies(); List deps = project.getDependencies();
assertEquals(1, deps.size()); assertEquals( 1, deps.size() );
Dependency result = (Dependency)deps.get(0); Dependency result = (Dependency) deps.get( 0 );
assertEquals("value", result.getProperties().getProperty("test")); assertEquals( "value", result.getProperties().getProperty( "test" ) );
} }
public void testShouldRejectDependencyWhereNoVersionIsFoundAfterDefaultsInjection() public void testShouldRejectDependencyWhereNoVersionIsFoundAfterDefaultsInjection()
{ {
Model model = new Model(); Model model = new Model();
Dependency dep = new Dependency(); Dependency dep = new Dependency();
dep.setGroupId("myGroup"); dep.setGroupId( "myGroup" );
dep.setArtifactId("myArtifact"); dep.setArtifactId( "myArtifact" );
model.addDependency(dep); model.addDependency( dep );
Dependency def = new Dependency(); Dependency def = new Dependency();
def.setGroupId(dep.getGroupId()); def.setGroupId( dep.getGroupId() );
def.setArtifactId(dep.getArtifactId()); def.setArtifactId( dep.getArtifactId() );
DependencyManagement depMgmt = new DependencyManagement(); DependencyManagement depMgmt = new DependencyManagement();
depMgmt.addDependency(def); depMgmt.addDependency( def );
model.setDependencyManagement(depMgmt); model.setDependencyManagement( depMgmt );
MavenProject project = new MavenProject(model); MavenProject project = new MavenProject( model );
try // try
{ // {
new DefaultProjectDefaultsInjector().injectDefaults( project ); new DefaultProjectDefaultsInjector().injectDefaults( project );
fail("Should fail to validate dependency without a version."); Dependency dependency = (Dependency) project.getDependencies().get( 0 );
} assertNull( "check version is null", dependency.getVersion() );
catch ( IllegalStateException e ) // fail("Should fail to validate dependency without a version.");
{ // }
// should throw when it detects a missing version in the test dependency. // catch ( IllegalStateException e )
} // {
// // should throw when it detects a missing version in the test dependency.
// }
} }
} }