Reading carefully the javadoc I see the mistakes i made in clone :( I can fix that
The problem arised with a delegate pattern implementation, the MavenProject instance is encapsulated [1], but the problem comes with other classes using this constructor to make copies, which will ignore any customizations made in the delegating object (the subclass). If the way to make a copy where defined in a method ( clone() seems to be the right one ) then subclasses could just override that method and there wouldnt be any need of getters/setters, but right now that constructor is used in the maven archiver. Adding the getters and setters is a patch until the other classes are updated to use clone() and to keep backwards compatibility. [1] http://tinyurl.com/29jzte On Thu, Feb 14, 2008 at 4:15 PM, Brett Porter <[EMAIL PROTECTED]> wrote: > Carlos, > > Can you elaborate on the need for this? > > I understand that since MavenProject is non-final and so are the get/ > sets they can be overridden and so we should be using the get/set > internally. However, it would seem we don't need that funcationality > for every field - which particular ones do you see as needing to be > overridden? > > Also, I don't think the clone() stuff is right: > - you've deprecated the copy constructor even though it is still > useful. You also require it's existence which means it shouldn't be > deprecated. > - clone()'s contract says that it doesn't call any constructors, > making the method work but not as documented by the JDK > - clone() should call super.clone() to get a valid MavenProject instance > - MavenProject doesn't implement clonable > Why did you need clone()? > > Thanks, > Brett > > On 14/02/2008, at 5:40 PM, [EMAIL PROTECTED] wrote: > > > Author: carlos > > Date: Wed Feb 13 22:40:35 2008 > > New Revision: 627675 > > > > URL: http://svn.apache.org/viewvc?rev=627675&view=rev > > Log: > > [MNG-3400] MavenProject is not extensible. Merge rev 627670 from trunk > > > > Modified: > > maven/components/branches/maven-2.0.x/maven-project/src/main/java/ > > org/apache/maven/project/MavenProject.java > > maven/components/branches/maven-2.0.x/maven-project/src/test/java/ > > org/apache/maven/project/MavenProjectTest.java > > > > Modified: maven/components/branches/maven-2.0.x/maven-project/src/ > > main/java/org/apache/maven/project/MavenProject.java > > URL: > http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=627675&r1=627674&r2=627675&view=diff > > = > > = > > = > > = > > = > > = > > = > > = > > ====================================================================== > > --- maven/components/branches/maven-2.0.x/maven-project/src/main/ > > java/org/apache/maven/project/MavenProject.java (original) > > +++ maven/components/branches/maven-2.0.x/maven-project/src/main/ > > java/org/apache/maven/project/MavenProject.java Wed Feb 13 22:40:35 > > 2008 > > @@ -158,103 +158,107 @@ > > model.setArtifactId( EMPTY_PROJECT_ARTIFACT_ID ); > > model.setVersion( EMPTY_PROJECT_VERSION ); > > > > - this.model = model; > > + this.setModel( model ); > > } > > > > public MavenProject( Model model ) > > { > > - this.model = model; > > + this.setModel( model ); > > } > > > > + /** > > + * @deprecated use [EMAIL PROTECTED] #clone()} > > + */ > > public MavenProject( MavenProject project ) > > { > > // disown the parent > > > > // copy fields > > - this.file = project.file; > > + setFile( project.getFile() ); > > > > - // don't need a deep copy, they don't get modified or added/ > > removed to/from - but make them unmodifiable to be sure! > > - if ( project.dependencyArtifacts != null ) > > + // don't need a deep copy, they don't get modified or added/ > > removed to/from - but make them unmodifiable to be > > + // sure! > > + if ( project.getDependencyArtifacts() != null ) > > { > > - this.dependencyArtifacts = > > Collections.unmodifiableSet( project.dependencyArtifacts ); > > + > > setDependencyArtifacts > > ( Collections.unmodifiableSet( project.getDependencyArtifacts() ) ); > > } > > - > > - if ( project.artifacts != null ) > > + > > + if ( project.getArtifacts() != null ) > > { > > - this.artifacts = > > Collections.unmodifiableSet( project.artifacts ); > > + > > setArtifacts( Collections.unmodifiableSet( project.getArtifacts() ) ); > > } > > - > > - if ( project.pluginArtifacts != null ) > > + > > + if ( project.getPluginArtifacts() != null ) > > { > > - this.pluginArtifacts = > > Collections.unmodifiableSet( project.pluginArtifacts ); > > + > > setPluginArtifacts > > ( Collections.unmodifiableSet( project.getPluginArtifacts() ) ); > > } > > - > > - if ( project.reportArtifacts != null ) > > + > > + if ( project.getReportArtifacts() != null ) > > { > > - this.reportArtifacts = > > Collections.unmodifiableSet( project.reportArtifacts ); > > - } > > - > > - if ( project.extensionArtifacts != null ) > > + > > setReportArtifacts > > ( Collections.unmodifiableSet( project.getReportArtifacts() ) ); > > + } > > + > > + if ( project.getExtensionArtifacts() != null ) > > { > > - this.extensionArtifacts = > > Collections.unmodifiableSet( project.extensionArtifacts ); > > - } > > - > > - this.parentArtifact = project.parentArtifact; > > + > > setExtensionArtifacts > > ( Collections.unmodifiableSet( project.getExtensionArtifacts() ) ); > > + } > > + > > + setParentArtifact( ( project.getParentArtifact() ) ); > > > > - if ( project.remoteArtifactRepositories != null ) > > + if ( project.getRemoteArtifactRepositories() != null ) > > { > > - this.remoteArtifactRepositories = > > Collections.unmodifiableList( project.remoteArtifactRepositories ); > > - } > > - > > - if ( project.pluginArtifactRepositories != null ) > > + > > setRemoteArtifactRepositories > > ( Collections > > .unmodifiableList( project.getRemoteArtifactRepositories() ) ); > > + } > > + > > + if ( project.getPluginArtifactRepositories() != null ) > > { > > - this.pluginArtifactRepositories = > > Collections.unmodifiableList( project.pluginArtifactRepositories ); > > - } > > - > > - if ( project.collectedProjects != null ) > > + > > setPluginArtifactRepositories > > ( ( Collections > > .unmodifiableList( project.getPluginArtifactRepositories() ) ) ); > > + } > > + > > + if ( project.getCollectedProjects() != null ) > > { > > - this.collectedProjects = > > Collections.unmodifiableList( project.collectedProjects ); > > - } > > - > > - if ( project.activeProfiles != null ) > > + > > setCollectedProjects > > ( ( Collections > > .unmodifiableList( project.getCollectedProjects() ) ) ); > > + } > > + > > + if ( project.getActiveProfiles() != null ) > > { > > - this.activeProfiles = > > Collections.unmodifiableList( project.activeProfiles ); > > - } > > - > > + > > setActiveProfiles > > ( ( Collections.unmodifiableList( project.getActiveProfiles() ) ) ); > > + } > > + > > if ( project.getAttachedArtifacts() != null ) > > { > > // clone properties modifyable by plugins in a forked > > lifecycle > > - this.attachedArtifacts = new > > ArrayList( project.getAttachedArtifacts() ); > > - } > > - > > - if ( project.compileSourceRoots != null ) > > + setAttachedArtifacts( new > > ArrayList( project.getAttachedArtifacts() ) ); > > + } > > + > > + if ( project.getCompileSourceRoots() != null ) > > { > > // clone source roots > > - this.compileSourceRoots = new > > ArrayList( project.compileSourceRoots ); > > - } > > - > > - if ( project.testCompileSourceRoots != null ) > > + setCompileSourceRoots( ( new > > ArrayList( project.getCompileSourceRoots() ) ) ); > > + } > > + > > + if ( project.getTestCompileSourceRoots() != null ) > > { > > - this.testCompileSourceRoots = new > > ArrayList( project.testCompileSourceRoots ); > > - } > > - > > - if ( project.scriptSourceRoots != null ) > > + setTestCompileSourceRoots( ( new > > ArrayList( project.getTestCompileSourceRoots() ) ) ); > > + } > > + > > + if ( project.getScriptSourceRoots() != null ) > > { > > - this.scriptSourceRoots = new > > ArrayList( project.scriptSourceRoots ); > > - } > > - > > - this.model = ModelUtils.cloneModel( project.model ); > > + setScriptSourceRoots( ( new > > ArrayList( project.getScriptSourceRoots() ) ) ); > > + } > > > > - if ( project.originalModel != null ) > > + setModel( ( ModelUtils.cloneModel( project.getModel() ) ) ); > > + > > + if ( project.getOriginalModel() != null ) > > { > > - this.originalModel = > > ModelUtils.cloneModel( project.originalModel ); > > + > > setOriginalModel > > ( ( ModelUtils.cloneModel( project.getOriginalModel() ) ) ); > > } > > > > - this.executionRoot = project.executionRoot; > > + setExecutionRoot( project.isExecutionRoot() ); > > > > - if ( project.artifact != null ) > > + if ( project.getArtifact() != null ) > > { > > - this.artifact = > > ArtifactUtils.copyArtifact( project.artifact ); > > + > > setArtifact( ArtifactUtils.copyArtifact( project.getArtifact() ) ); > > } > > > > if ( project.getManagedVersionMap() != null ) > > @@ -262,14 +266,14 @@ > > setManagedVersionMap( new > > ManagedVersionMap( project.getManagedVersionMap() ) ); > > } > > > > - if ( project.releaseArtifactRepository != null ) > > + if ( project.getReleaseArtifactRepository() != null ) > > { > > - releaseArtifactRepository = > > project.releaseArtifactRepository; > > + > > setReleaseArtifactRepository > > ( project.getReleaseArtifactRepository() ); > > } > > > > - if ( project.snapshotArtifactRepository != null ) > > + if ( project.getSnapshotArtifactRepository() != null ) > > { > > - snapshotArtifactRepository = > > project.snapshotArtifactRepository; > > + > > setSnapshotArtifactRepository > > ( project.getSnapshotArtifactRepository() ); > > } > > } > > > > @@ -403,17 +407,17 @@ > > > > public void setDependencies( List dependencies ) > > { > > - model.setDependencies( dependencies ); > > + getModel().setDependencies( dependencies ); > > } > > > > public List getDependencies() > > { > > - return model.getDependencies(); > > + return getModel().getDependencies(); > > } > > > > public DependencyManagement getDependencyManagement() > > { > > - return model.getDependencyManagement(); > > + return getModel().getDependencyManagement(); > > } > > > > // > > ---------------------------------------------------------------------- > > @@ -427,9 +431,9 @@ > > path = path.trim(); > > if ( path.length() != 0 ) > > { > > - if ( !compileSourceRoots.contains( path ) ) > > + if ( !getCompileSourceRoots().contains( path ) ) > > { > > - compileSourceRoots.add( path ); > > + getCompileSourceRoots().add( path ); > > } > > } > > } > > @@ -442,9 +446,9 @@ > > path = path.trim(); > > if ( path.length() != 0 ) > > { > > - if ( !scriptSourceRoots.contains( path ) ) > > + if ( !getScriptSourceRoots().contains( path ) ) > > { > > - scriptSourceRoots.add( path ); > > + getScriptSourceRoots().add( path ); > > } > > } > > } > > @@ -457,9 +461,9 @@ > > path = path.trim(); > > if ( path.length() != 0 ) > > { > > - if ( !testCompileSourceRoots.contains( path ) ) > > + if ( !getTestCompileSourceRoots().contains( path ) ) > > { > > - testCompileSourceRoots.add( path ); > > + getTestCompileSourceRoots().add( path ); > > } > > } > > } > > @@ -821,31 +825,31 @@ > > > > public void setModelVersion( String pomVersion ) > > { > > - model.setModelVersion( pomVersion ); > > + getModel().setModelVersion( pomVersion ); > > } > > > > public String getModelVersion() > > { > > - return model.getModelVersion(); > > + return getModel().getModelVersion(); > > } > > > > public String getId() > > { > > - return model.getId(); > > + return getModel().getId(); > > } > > > > public void setGroupId( String groupId ) > > { > > - model.setGroupId( groupId ); > > + getModel().setGroupId( groupId ); > > } > > > > public String getGroupId() > > { > > - String groupId = model.getGroupId(); > > - > > - if ( groupId == null && model.getParent() != null ) > > + String groupId = getModel().getGroupId(); > > + > > + if ( ( groupId == null ) && ( getModel().getParent() != > > null ) ) > > { > > - groupId = model.getParent().getGroupId(); > > + groupId = getModel().getParent().getGroupId(); > > } > > > > return groupId; > > @@ -853,25 +857,25 @@ > > > > public void setArtifactId( String artifactId ) > > { > > - model.setArtifactId( artifactId ); > > + getModel().setArtifactId( artifactId ); > > } > > > > public String getArtifactId() > > { > > - return model.getArtifactId(); > > + return getModel().getArtifactId(); > > } > > > > public void setName( String name ) > > { > > - model.setName( name ); > > + getModel().setName( name ); > > } > > > > public String getName() > > { > > // TODO: this should not be allowed to be null. > > - if ( model.getName() != null ) > > + if ( getModel().getName() != null ) > > { > > - return model.getName(); > > + return getModel().getName(); > > } > > else > > { > > @@ -881,16 +885,16 @@ > > > > public void setVersion( String version ) > > { > > - model.setVersion( version ); > > + getModel().setVersion( version ); > > } > > > > public String getVersion() > > { > > - String version = model.getVersion(); > > - > > - if ( version == null && model.getParent() != null ) > > + String version = getModel().getVersion(); > > + > > + if ( ( version == null ) && ( getModel().getParent() != > > null ) ) > > { > > - version = model.getParent().getVersion(); > > + version = getModel().getParent().getVersion(); > > } > > > > return version; > > @@ -898,149 +902,149 @@ > > > > public String getPackaging() > > { > > - return model.getPackaging(); > > + return getModel().getPackaging(); > > } > > > > public void setPackaging( String packaging ) > > { > > - model.setPackaging( packaging ); > > + getModel().setPackaging( packaging ); > > } > > > > public void setInceptionYear( String inceptionYear ) > > { > > - model.setInceptionYear( inceptionYear ); > > + getModel().setInceptionYear( inceptionYear ); > > } > > > > public String getInceptionYear() > > { > > - return model.getInceptionYear(); > > + return getModel().getInceptionYear(); > > } > > > > public void setUrl( String url ) > > { > > - model.setUrl( url ); > > + getModel().setUrl( url ); > > } > > > > public String getUrl() > > { > > - return model.getUrl(); > > + return getModel().getUrl(); > > } > > > > public Prerequisites getPrerequisites() > > { > > - return model.getPrerequisites(); > > + return getModel().getPrerequisites(); > > } > > > > public void setIssueManagement( IssueManagement issueManagement ) > > { > > - model.setIssueManagement( issueManagement ); > > + getModel().setIssueManagement( issueManagement ); > > } > > > > public CiManagement getCiManagement() > > { > > - return model.getCiManagement(); > > + return getModel().getCiManagement(); > > } > > > > public void setCiManagement( CiManagement ciManagement ) > > { > > - model.setCiManagement( ciManagement ); > > + getModel().setCiManagement( ciManagement ); > > } > > > > public IssueManagement getIssueManagement() > > { > > - return model.getIssueManagement(); > > + return getModel().getIssueManagement(); > > } > > > > public void setDistributionManagement( DistributionManagement > > distributionManagement ) > > { > > - model.setDistributionManagement( distributionManagement ); > > + > > getModel().setDistributionManagement( distributionManagement ); > > } > > > > public DistributionManagement getDistributionManagement() > > { > > - return model.getDistributionManagement(); > > + return getModel().getDistributionManagement(); > > } > > > > public void setDescription( String description ) > > { > > - model.setDescription( description ); > > + getModel().setDescription( description ); > > } > > > > public String getDescription() > > { > > - return model.getDescription(); > > + return getModel().getDescription(); > > } > > > > public void setOrganization( Organization organization ) > > { > > - model.setOrganization( organization ); > > + getModel().setOrganization( organization ); > > } > > > > public Organization getOrganization() > > { > > - return model.getOrganization(); > > + return getModel().getOrganization(); > > } > > > > public void setScm( Scm scm ) > > { > > - model.setScm( scm ); > > + getModel().setScm( scm ); > > } > > > > public Scm getScm() > > { > > - return model.getScm(); > > + return getModel().getScm(); > > } > > > > public void setMailingLists( List mailingLists ) > > { > > - model.setMailingLists( mailingLists ); > > + getModel().setMailingLists( mailingLists ); > > } > > > > public List getMailingLists() > > { > > - return model.getMailingLists(); > > + return getModel().getMailingLists(); > > } > > > > public void addMailingList( MailingList mailingList ) > > { > > - model.addMailingList( mailingList ); > > + getModel().addMailingList( mailingList ); > > } > > > > public void setDevelopers( List developers ) > > { > > - model.setDevelopers( developers ); > > + getModel().setDevelopers( developers ); > > } > > > > public List getDevelopers() > > { > > - return model.getDevelopers(); > > + return getModel().getDevelopers(); > > } > > > > public void addDeveloper( Developer developer ) > > { > > - model.addDeveloper( developer ); > > + getModel().addDeveloper( developer ); > > } > > > > public void setContributors( List contributors ) > > { > > - model.setContributors( contributors ); > > + getModel().setContributors( contributors ); > > } > > > > public List getContributors() > > { > > - return model.getContributors(); > > + return getModel().getContributors(); > > } > > > > public void addContributor( Contributor contributor ) > > { > > - model.addContributor( contributor ); > > + getModel().addContributor( contributor ); > > } > > > > public void setBuild( Build build ) > > { > > this.buildOverlay = new BuildOverlay( build ); > > > > - model.setBuild( build ); > > + getModel().setBuild( build ); > > } > > > > public Build getBuild() > > @@ -1075,27 +1079,27 @@ > > > > public void setReporting( Reporting reporting ) > > { > > - model.setReporting( reporting ); > > + getModel().setReporting( reporting ); > > } > > > > public Reporting getReporting() > > { > > - return model.getReporting(); > > + return getModel().getReporting(); > > } > > > > public void setLicenses( List licenses ) > > { > > - model.setLicenses( licenses ); > > + getModel().setLicenses( licenses ); > > } > > > > public List getLicenses() > > { > > - return model.getLicenses(); > > + return getModel().getLicenses(); > > } > > > > public void addLicense( License license ) > > { > > - model.addLicense( license ); > > + getModel().addLicense( license ); > > } > > > > public void setArtifacts( Set artifacts ) > > @@ -1206,7 +1210,7 @@ > > > > public List getRepositories() > > { > > - return model.getRepositories(); > > + return getModel().getRepositories(); > > } > > > > // > > ---------------------------------------------------------------------- > > @@ -1215,33 +1219,33 @@ > > > > public List getReportPlugins() > > { > > - if ( model.getReporting() == null ) > > + if ( getModel().getReporting() == null ) > > { > > return null; > > } > > - return model.getReporting().getPlugins(); > > + return getModel().getReporting().getPlugins(); > > > > } > > > > public List getBuildPlugins() > > { > > - if ( model.getBuild() == null ) > > + if ( getModel().getBuild() == null ) > > { > > return null; > > } > > - return model.getBuild().getPlugins(); > > + return getModel().getBuild().getPlugins(); > > } > > > > public List getModules() > > { > > - return model.getModules(); > > + return getModel().getModules(); > > } > > > > public PluginManagement getPluginManagement() > > { > > PluginManagement pluginMgmt = null; > > > > - Build build = model.getBuild(); > > + Build build = getModel().getBuild(); > > if ( build != null ) > > { > > pluginMgmt = build.getPluginManagement(); > > @@ -1252,13 +1256,13 @@ > > > > private Build getModelBuild() > > { > > - Build build = model.getBuild(); > > + Build build = getModel().getBuild(); > > > > if ( build == null ) > > { > > build = new Build(); > > > > - model.setBuild( build ); > > + getModel().setBuild( build ); > > } > > > > return build; > > @@ -1322,13 +1326,13 @@ > > > > public ArtifactRepository > > getDistributionManagementArtifactRepository() > > { > > - return getArtifact().isSnapshot() && > > snapshotArtifactRepository != null ? snapshotArtifactRepository > > - : releaseArtifactRepository; > > + return getArtifact().isSnapshot() && > > ( getSnapshotArtifactRepository() != null ) ? > > getSnapshotArtifactRepository() > > + : getReleaseArtifactRepository(); > > } > > > > public List getPluginRepositories() > > { > > - return model.getPluginRepositories(); > > + return getModel().getPluginRepositories(); > > } > > > > public void setActiveProfiles( List activeProfiles ) > > @@ -1624,6 +1628,42 @@ > > return getBuild() != null ? getBuild().getDefaultGoal() : > > null; > > } > > > > + > > + protected void setModel( Model model ) > > + { > > + this.model = model; > > + } > > + > > + protected void setAttachedArtifacts( List attachedArtifacts ) > > + { > > + this.attachedArtifacts = attachedArtifacts; > > + } > > + > > + protected void setCompileSourceRoots( List compileSourceRoots ) > > + { > > + this.compileSourceRoots = compileSourceRoots; > > + } > > + > > + protected void setTestCompileSourceRoots( List > > testCompileSourceRoots ) > > + { > > + this.testCompileSourceRoots = testCompileSourceRoots; > > + } > > + > > + protected void setScriptSourceRoots( List scriptSourceRoots ) > > + { > > + this.scriptSourceRoots = scriptSourceRoots; > > + } > > + > > + protected ArtifactRepository getReleaseArtifactRepository() > > + { > > + return releaseArtifactRepository; > > + } > > + > > + protected ArtifactRepository getSnapshotArtifactRepository() > > + { > > + return snapshotArtifactRepository; > > + } > > + > > public Artifact replaceWithActiveArtifact( Artifact > > pluginArtifact ) > > { > > if ( getProjectReferences() != null && ! > > getProjectReferences().isEmpty() ) > > @@ -1743,6 +1783,14 @@ > > } > > > > return sb.toString(); > > + } > > + > > + /** > > + * @since 2.0.9 > > + */ > > + public Object clone() > > + { > > + return new MavenProject( this ); > > } > > > > } > > > > Modified: maven/components/branches/maven-2.0.x/maven-project/src/ > > test/java/org/apache/maven/project/MavenProjectTest.java > > URL: > http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/MavenProjectTest.java?rev=627675&r1=627674&r2=627675&view=diff > > = > > = > > = > > = > > = > > = > > = > > = > > ====================================================================== > > --- maven/components/branches/maven-2.0.x/maven-project/src/test/ > > java/org/apache/maven/project/MavenProjectTest.java (original) > > +++ maven/components/branches/maven-2.0.x/maven-project/src/test/ > > java/org/apache/maven/project/MavenProjectTest.java Wed Feb 13 > > 22:40:35 2008 > > @@ -21,15 +21,13 @@ > > > > import java.io.File; > > import java.io.IOException; > > -import java.util.Map; > > -import java.util.Iterator; > > import java.util.List; > > +import java.util.Map; > > > > +import org.apache.maven.artifact.versioning.ManagedVersionMap; > > +import org.apache.maven.model.DependencyManagement; > > import org.apache.maven.model.Model; > > import org.apache.maven.model.Parent; > > -import org.apache.maven.model.DependencyManagement; > > -import org.apache.maven.model.Dependency; > > -import org.apache.maven.artifact.versioning.ManagedVersionMap; > > > > public class MavenProjectTest > > extends AbstractMavenProjectTestCase > > @@ -90,20 +88,20 @@ > > + MavenProject.EMPTY_PROJECT_VERSION, > > project.getId() ); > > } > > > > - public void testCopyConstructor() > > + public void testClone() > > throws Exception > > { > > File f = getFileForClasspathResource( "canonical-pom.xml" ); > > MavenProject projectToClone = getProject( f ); > > > > - MavenProject clonedProject = new > > MavenProject( projectToClone ); > > + MavenProject clonedProject = (MavenProject) > > projectToClone.clone(); > > assertEquals( "maven-core", clonedProject.getArtifactId() ); > > Map clonedMap = clonedProject.getManagedVersionMap(); > > assertNotNull("ManagedVersionMap not copied", clonedMap); > > assertTrue("ManagedVersionMap is not empty", > > clonedMap.isEmpty()); > > } > > > > - public void testCopyConstructorWithDependencyManagement() > > + public void testCloneWithDependencyManagement() > > throws Exception > > { > > File f = getFileForClasspathResource( "dependencyManagement- > > pom.xml" ); > > @@ -118,7 +116,7 @@ > > assertNotNull("No ManagedVersionMap", map); > > assertTrue("ManagedVersionMap is empty", !map.isEmpty()); > > > > - MavenProject clonedProject = new > > MavenProject( projectToClone ); > > + MavenProject clonedProject = (MavenProject) > > projectToClone.clone(); > > assertEquals( "maven-core", clonedProject.getArtifactId() ); > > Map clonedMap = clonedProject.getManagedVersionMap(); > > assertNotNull("ManagedVersionMap not copied", clonedMap); > > @@ -146,13 +144,13 @@ > > assertEquals( "..", pathAdjustment ); > > } > > > > - public void testCopyConstructorWithDistributionManagement() > > throws Exception > > + public void testCloneWithDistributionManagement() throws > > Exception > > { > > > > File f = > > getFileForClasspathResource( "distributionManagement-pom.xml" ); > > MavenProject projectToClone = getProject( f ); > > > > - MavenProject clonedProject = new > > MavenProject( projectToClone ); > > + MavenProject clonedProject = (MavenProject) > > projectToClone.clone(); > > assertNotNull( "clonedProject - distributionManagement", > > clonedProject.getDistributionManagementArtifactRepository() ); > > } > > } > > > > > > -- > Brett Porter > [EMAIL PROTECTED] > http://blogs.exist.com/bporter/ > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- I could give you my word as a Spaniard. No good. I've known too many Spaniards. -- The Princess Bride --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]