Having a DomainModel interface doesn't makes sense in the current context. We no longer have general transforms.

git-svn-id: https://svn.apache.org/repos/asf/maven/components/branches/MNG-2766@769836 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Britton Isbell 2009-04-29 17:12:08 +00:00
parent baf09a4148
commit a6d2ac847a
6 changed files with 316 additions and 324 deletions

View File

@ -38,7 +38,7 @@ import org.apache.maven.model.Build;
import org.apache.maven.model.DomainModel; import org.apache.maven.model.DomainModel;
import org.apache.maven.model.Model; import org.apache.maven.model.Model;
import org.apache.maven.model.ModelEventListener; import org.apache.maven.model.ModelEventListener;
import org.apache.maven.model.PomClassicDomainModel; import org.apache.maven.model.DomainModel;
import org.apache.maven.model.ProcessorContext; import org.apache.maven.model.ProcessorContext;
import org.apache.maven.model.Profile; import org.apache.maven.model.Profile;
import org.apache.maven.model.interpolator.Interpolator; import org.apache.maven.model.interpolator.Interpolator;
@ -116,7 +116,7 @@ public class DefaultMavenProjectBuilder
throws ProjectBuildingException throws ProjectBuildingException
{ {
//Do inheritance //Do inheritance
PomClassicDomainModel domainModel; DomainModel domainModel;
try try
{ {
domainModel = build( "unknown", pomFile, configuration ); domainModel = build( "unknown", pomFile, configuration );
@ -242,7 +242,7 @@ public class DefaultMavenProjectBuilder
{ {
throw new ProjectBuildingException( artifact.getId(), "Error resolving project artifact.", e ); throw new ProjectBuildingException( artifact.getId(), "Error resolving project artifact.", e );
} }
PomClassicDomainModel domainModel; DomainModel domainModel;
try try
{ {
domainModel = build( "unknown", artifact.getFile(), configuration ); domainModel = build( "unknown", artifact.getFile(), configuration );
@ -392,7 +392,7 @@ public class DefaultMavenProjectBuilder
return new MavenProjectBuildingResult( project, result ); return new MavenProjectBuildingResult( project, result );
} }
private Model interpolateDomainModel( PomClassicDomainModel domainModel, ProjectBuilderConfiguration config, File projectDescriptor ) private Model interpolateDomainModel( DomainModel domainModel, ProjectBuilderConfiguration config, File projectDescriptor )
throws ProjectBuildingException throws ProjectBuildingException
{ {
Model model; Model model;
@ -453,7 +453,7 @@ public class DefaultMavenProjectBuilder
return project; return project;
} }
private PomClassicDomainModel build( String projectId, File pomFile, ProjectBuilderConfiguration projectBuilderConfiguration ) private DomainModel build( String projectId, File pomFile, ProjectBuilderConfiguration projectBuilderConfiguration )
throws ProjectBuildingException, IOException throws ProjectBuildingException, IOException
{ {
List<String> activeProfileIds = ( projectBuilderConfiguration != null && projectBuilderConfiguration.getGlobalProfileManager() != null && projectBuilderConfiguration.getGlobalProfileManager() List<String> activeProfileIds = ( projectBuilderConfiguration != null && projectBuilderConfiguration.getGlobalProfileManager() != null && projectBuilderConfiguration.getGlobalProfileManager()
@ -467,7 +467,7 @@ public class DefaultMavenProjectBuilder
interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( projectBuilderConfiguration.getExecutionProperties(), PomInterpolatorTag.EXECUTION_PROPERTIES.name() ) ); interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( projectBuilderConfiguration.getExecutionProperties(), PomInterpolatorTag.EXECUTION_PROPERTIES.name() ) );
ProfileManagerInfo profileInfo = new ProfileManagerInfo(interpolatorProperties, activeProfileIds, inactiveProfileIds); ProfileManagerInfo profileInfo = new ProfileManagerInfo(interpolatorProperties, activeProfileIds, inactiveProfileIds);
PomClassicDomainModel domainModel = new PomClassicDomainModel( pomFile ); DomainModel domainModel = new DomainModel( pomFile );
domainModel.setProjectDirectory( pomFile.getParentFile() ); domainModel.setProjectDirectory( pomFile.getParentFile() );
domainModel.setMostSpecialized( true ); domainModel.setMostSpecialized( true );
@ -498,7 +498,7 @@ public class DefaultMavenProjectBuilder
if ( mavenParents.size() > 0 ) if ( mavenParents.size() > 0 )
{ {
PomClassicDomainModel dm = (PomClassicDomainModel) mavenParents.get( 0 ); DomainModel dm = (DomainModel) mavenParents.get( 0 );
parentFile = dm.getFile(); parentFile = dm.getFile();
domainModel.setParentFile( parentFile ); domainModel.setParentFile( parentFile );
lineageCount = mavenParents.size(); lineageCount = mavenParents.size();
@ -507,12 +507,12 @@ public class DefaultMavenProjectBuilder
domainModels.addAll( mavenParents ); domainModels.addAll( mavenParents );
} }
domainModels.add( new PomClassicDomainModel( getSuperModel(), false ) ); domainModels.add( new DomainModel( getSuperModel(), false ) );
List<DomainModel> profileModels = new ArrayList<DomainModel>(); List<DomainModel> profileModels = new ArrayList<DomainModel>();
//Process Profiles //Process Profiles
for(DomainModel domain : domainModels) for(DomainModel domain : domainModels)
{ {
PomClassicDomainModel dm = (PomClassicDomainModel) domain; DomainModel dm = (DomainModel) domain;
if(!dm.getModel().getProfiles().isEmpty()) if(!dm.getModel().getProfiles().isEmpty())
{ {
@ -536,7 +536,7 @@ public class DefaultMavenProjectBuilder
} }
} }
PomClassicDomainModel transformedDomainModel = ProcessorContext.build(profileModels, listeners); DomainModel transformedDomainModel = ProcessorContext.build(profileModels, listeners);
// Lineage count is inclusive to add the POM read in itself. // Lineage count is inclusive to add the POM read in itself.
transformedDomainModel.setLineageCount( lineageCount + 1 ); transformedDomainModel.setLineageCount( lineageCount + 1 );
@ -545,7 +545,7 @@ public class DefaultMavenProjectBuilder
return transformedDomainModel; return transformedDomainModel;
} }
private static boolean useTopLevelProjectForParent(PomClassicDomainModel currentModel, MavenProject topProject) throws IOException private static boolean useTopLevelProjectForParent(DomainModel currentModel, MavenProject topProject) throws IOException
{ {
if(topProject == null || currentModel.getModel().getParent() == null) if(topProject == null || currentModel.getModel().getParent() == null)
{ {
@ -633,7 +633,7 @@ public class DefaultMavenProjectBuilder
} }
} }
private List<DomainModel> getDomainModelParentsFromRepository( PomClassicDomainModel domainModel, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories ) private List<DomainModel> getDomainModelParentsFromRepository( DomainModel domainModel, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
throws IOException throws IOException
{ {
List<DomainModel> domainModels = new ArrayList<DomainModel>(); List<DomainModel> domainModels = new ArrayList<DomainModel>();
@ -659,7 +659,7 @@ public class DefaultMavenProjectBuilder
+ " could not be retrieved from any repository" ).initCause( e ); + " could not be retrieved from any repository" ).initCause( e );
} }
PomClassicDomainModel parentDomainModel = new PomClassicDomainModel( artifactParent.getFile() ); DomainModel parentDomainModel = new DomainModel( artifactParent.getFile() );
if ( !parentDomainModel.matchesParentOf( domainModel ) ) if ( !parentDomainModel.matchesParentOf( domainModel ) )
{ {
@ -684,7 +684,7 @@ public class DefaultMavenProjectBuilder
* @return * @return
* @throws IOException * @throws IOException
*/ */
private List<DomainModel> getDomainModelParentsFromLocalPath( PomClassicDomainModel domainModel, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories, private List<DomainModel> getDomainModelParentsFromLocalPath( DomainModel domainModel, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
File projectDirectory, ProjectBuilderConfiguration projectBuilderConfiguration ) File projectDirectory, ProjectBuilderConfiguration projectBuilderConfiguration )
throws IOException throws IOException
{ {
@ -704,19 +704,19 @@ public class DefaultMavenProjectBuilder
} }
MavenProject topProject = projectBuilderConfiguration.getTopLevelProjectFromReactor(); MavenProject topProject = projectBuilderConfiguration.getTopLevelProjectFromReactor();
boolean isTop = useTopLevelProjectForParent(domainModel, topProject); boolean isTop = useTopLevelProjectForParent(domainModel, topProject);
PomClassicDomainModel parentDomainModel = null; DomainModel parentDomainModel = null;
if ( !isTop ) if ( !isTop )
{ {
if(!parentFile.isFile()) if(!parentFile.isFile())
{ {
throw new IOException( "File does not exist: File = " + parentFile.getAbsolutePath() ); throw new IOException( "File does not exist: File = " + parentFile.getAbsolutePath() );
} }
parentDomainModel = new PomClassicDomainModel( parentFile ); parentDomainModel = new DomainModel( parentFile );
parentDomainModel.setProjectDirectory( parentFile.getParentFile() ); parentDomainModel.setProjectDirectory( parentFile.getParentFile() );
} }
else else
{ {
parentDomainModel = new PomClassicDomainModel(projectBuilderConfiguration.getTopLevelProjectFromReactor().getFile()); parentDomainModel = new DomainModel(projectBuilderConfiguration.getTopLevelProjectFromReactor().getFile());
} }
if ( !parentDomainModel.matchesParentOf( domainModel ) ) if ( !parentDomainModel.matchesParentOf( domainModel ) )

View File

@ -25,13 +25,13 @@ import java.util.Iterator;
import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.JXPathContext;
import org.apache.commons.jxpath.JXPathNotFoundException; import org.apache.commons.jxpath.JXPathNotFoundException;
import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl; import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
import org.apache.maven.model.PomClassicDomainModel; import org.apache.maven.model.DomainModel;
import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProject;
public class PomTestWrapper public class PomTestWrapper
{ {
private PomClassicDomainModel domainModel; private DomainModel domainModel;
private File pomFile; private File pomFile;
@ -44,13 +44,13 @@ public class PomTestWrapper
JXPathContextReferenceImpl.addNodePointerFactory( new Xpp3DomPointerFactory() ); JXPathContextReferenceImpl.addNodePointerFactory( new Xpp3DomPointerFactory() );
} }
public PomTestWrapper( PomClassicDomainModel domainModel ) public PomTestWrapper( DomainModel domainModel )
throws IOException throws IOException
{ {
this( null, domainModel ); this( null, domainModel );
} }
public PomTestWrapper( File pomFile, PomClassicDomainModel domainModel ) public PomTestWrapper( File pomFile, DomainModel domainModel )
throws IOException throws IOException
{ {
if ( domainModel == null ) if ( domainModel == null )
@ -93,7 +93,7 @@ public class PomTestWrapper
throw new IllegalArgumentException( "file: null" ); throw new IllegalArgumentException( "file: null" );
} }
this.domainModel = new PomClassicDomainModel( file ); this.domainModel = new DomainModel( file );
context = JXPathContext.newContext( domainModel.getModel() ); context = JXPathContext.newContext( domainModel.getModel() );
} }
@ -102,11 +102,11 @@ public class PomTestWrapper
return mavenProject; return mavenProject;
} }
public PomClassicDomainModel getDomainModel() public DomainModel getDomainModel()
throws IOException { throws IOException {
if ( domainModel == null && mavenProject != null ) if ( domainModel == null && mavenProject != null )
{ {
domainModel = new PomClassicDomainModel( mavenProject.getModel() ); domainModel = new DomainModel( mavenProject.getModel() );
int lineageCount = 1; int lineageCount = 1;
for ( MavenProject parent = mavenProject.getParent(); parent != null; parent = parent.getParent() ) for ( MavenProject parent = mavenProject.getParent(); parent != null; parent = parent.getParent() )
{ {

View File

@ -1,8 +1,288 @@
package org.apache.maven.model; package org.apache.maven.model;
public interface DomainModel { import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.WriterFactory;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
public class DomainModel
{
/**
* Bytes containing the underlying model
*/
private byte[] inputBytes;
private String id;
private File file;
private File parentFile;
private File projectDirectory;
boolean isMostSpecialized(); private int lineageCount;
void setMostSpecialized(boolean isMostSpecialized); private boolean isMostSpecialized = false;
private String parentGroupId = null, parentArtifactId = null, parentVersion = null, parentId = null, parentRelativePath;
protected Model model;
public Model getModel() throws IOException
{
return model;
}
private void initializeProperties(Model model)
{
String groupId = null, artifactId = null, version = null;
groupId = model.getGroupId();
artifactId = model.getArtifactId();
version = model.getVersion();
if( model.getParent() != null)
{
parentArtifactId =model.getParent().getArtifactId();
parentGroupId = model.getParent().getGroupId();
parentVersion = model.getParent().getVersion();
parentRelativePath = model.getParent().getRelativePath();
if( groupId == null && parentGroupId != null)
{
groupId = parentGroupId;
}
if( artifactId == null && parentArtifactId != null)
{
artifactId = parentArtifactId;
}
if( version == null && parentVersion != null )
{
version = parentVersion;
}
if(parentGroupId != null && parentArtifactId != null && parentVersion != null)
{
parentId = parentGroupId + ":" + parentArtifactId + ":" + parentVersion;
}
}
if(parentRelativePath == null)
{
parentRelativePath = ".." + File.separator + "pom.xml";
}
id = groupId + ":" + artifactId + ":" + version;
}
public DomainModel( File file )
throws IOException
{
this( new FileInputStream( file ) );
this.file = file;
}
public DomainModel( InputStream is )
throws IOException
{
this.inputBytes = IOUtil.toByteArray( is);
MavenXpp3Reader reader = new MavenXpp3Reader();
try
{
model = reader.read( new ByteArrayInputStream( inputBytes ), false ) ;
}
catch ( XmlPullParserException e )
{
throw new IOException( e.getMessage() );
}
initializeProperties( model );
}
public DomainModel(Model model) throws IOException {
this (model, false);
}
public DomainModel(Model model, boolean b) throws IOException {
this.model = model;
this.isMostSpecialized = b;
initializeProperties( model );
}
public File getParentFile()
{
return parentFile;
}
public void setParentFile( File parentFile )
{
this.parentFile = parentFile;
}
public String getParentGroupId() {
return parentGroupId;
}
public String getParentArtifactId() {
return parentArtifactId;
}
public String getParentVersion() {
return parentVersion;
}
/**
* This should only be set for projects that are in the build. Setting for poms in the repo may cause unstable behavior.
*
* @param projectDirectory
*/
public void setProjectDirectory(File projectDirectory)
{
this.projectDirectory = projectDirectory;
}
public File getProjectDirectory()
{
return projectDirectory;
}
public boolean isPomInBuild()
{
return projectDirectory != null;
}
public String getParentId() throws IOException
{
return parentId;
}
public String getRelativePathOfParent()
{
return parentRelativePath;
}
public String getId() throws IOException
{
return id;
}
public boolean matchesParentOf( DomainModel domainModel ) throws IOException
{
if ( domainModel == null )
{
throw new IllegalArgumentException( "domainModel: null" );
}
return getId().equals(domainModel.getParentId());
}
/**
* Returns XML model as string
*
* @return XML model as string
*/
public String asString() throws IOException
{
return IOUtil.toString( ReaderFactory.newXmlReader( getInputStream() ) );
}
/**
* @see org.apache.maven.shared.model.InputStreamDomainModel#getInputStream()
*/
public InputStream getInputStream() throws IOException
{
if(inputBytes != null)
{
byte[] copy = new byte[inputBytes.length];
System.arraycopy( inputBytes, 0, copy, 0, inputBytes.length );
return new ByteArrayInputStream( copy );
}
else
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Writer out = null;
MavenXpp3Writer writer = new MavenXpp3Writer();
try
{
out = WriterFactory.newXmlWriter( baos );
writer.write( out, model );
}
finally
{
if ( out != null )
{
out.close();
}
}
inputBytes = baos.toByteArray();
return new ByteArrayInputStream(inputBytes);
}
}
/**
* @return file of pom. May be null.
*/
public File getFile()
{
return file;
}
public int getLineageCount()
{
return lineageCount;
}
public void setLineageCount( int lineageCount )
{
this.lineageCount = lineageCount;
}
/**
* Returns true if this.asString.equals(o.asString()), otherwise false.
*
* @param o domain model
* @return true if this.asString.equals(o.asString()), otherwise false.
*/
public boolean equals( Object o )
{
try {
return o instanceof DomainModel && getId().equals( ( (DomainModel) o ).getId() );
} catch (IOException e) {
return false;
}
}
public boolean isMostSpecialized()
{
return isMostSpecialized;
}
public void setMostSpecialized( boolean isMostSpecialized )
{
this.isMostSpecialized = isMostSpecialized;
}
@Override
public String toString()
{
return String.valueOf( id );
}
} }

View File

@ -1,288 +0,0 @@
package org.apache.maven.model;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.WriterFactory;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
public class PomClassicDomainModel implements DomainModel
{
/**
* Bytes containing the underlying model
*/
private byte[] inputBytes;
private String id;
private File file;
private File parentFile;
private File projectDirectory;
private int lineageCount;
private boolean isMostSpecialized = false;
private String parentGroupId = null, parentArtifactId = null, parentVersion = null, parentId = null, parentRelativePath;
protected Model model;
public Model getModel() throws IOException
{
return model;
}
private void initializeProperties(Model model)
{
String groupId = null, artifactId = null, version = null;
groupId = model.getGroupId();
artifactId = model.getArtifactId();
version = model.getVersion();
if( model.getParent() != null)
{
parentArtifactId =model.getParent().getArtifactId();
parentGroupId = model.getParent().getGroupId();
parentVersion = model.getParent().getVersion();
parentRelativePath = model.getParent().getRelativePath();
if( groupId == null && parentGroupId != null)
{
groupId = parentGroupId;
}
if( artifactId == null && parentArtifactId != null)
{
artifactId = parentArtifactId;
}
if( version == null && parentVersion != null )
{
version = parentVersion;
}
if(parentGroupId != null && parentArtifactId != null && parentVersion != null)
{
parentId = parentGroupId + ":" + parentArtifactId + ":" + parentVersion;
}
}
if(parentRelativePath == null)
{
parentRelativePath = ".." + File.separator + "pom.xml";
}
id = groupId + ":" + artifactId + ":" + version;
}
public PomClassicDomainModel( File file )
throws IOException
{
this( new FileInputStream( file ) );
this.file = file;
}
public PomClassicDomainModel( InputStream is )
throws IOException
{
this.inputBytes = IOUtil.toByteArray( is);
MavenXpp3Reader reader = new MavenXpp3Reader();
try
{
model = reader.read( new ByteArrayInputStream( inputBytes ), false ) ;
}
catch ( XmlPullParserException e )
{
throw new IOException( e.getMessage() );
}
initializeProperties( model );
}
public PomClassicDomainModel(Model model) throws IOException {
this (model, false);
}
public PomClassicDomainModel(Model model, boolean b) throws IOException {
this.model = model;
this.isMostSpecialized = b;
initializeProperties( model );
}
public File getParentFile()
{
return parentFile;
}
public void setParentFile( File parentFile )
{
this.parentFile = parentFile;
}
public String getParentGroupId() {
return parentGroupId;
}
public String getParentArtifactId() {
return parentArtifactId;
}
public String getParentVersion() {
return parentVersion;
}
/**
* This should only be set for projects that are in the build. Setting for poms in the repo may cause unstable behavior.
*
* @param projectDirectory
*/
public void setProjectDirectory(File projectDirectory)
{
this.projectDirectory = projectDirectory;
}
public File getProjectDirectory()
{
return projectDirectory;
}
public boolean isPomInBuild()
{
return projectDirectory != null;
}
public String getParentId() throws IOException
{
return parentId;
}
public String getRelativePathOfParent()
{
return parentRelativePath;
}
public String getId() throws IOException
{
return id;
}
public boolean matchesParentOf( PomClassicDomainModel domainModel ) throws IOException
{
if ( domainModel == null )
{
throw new IllegalArgumentException( "domainModel: null" );
}
return getId().equals(domainModel.getParentId());
}
/**
* Returns XML model as string
*
* @return XML model as string
*/
public String asString() throws IOException
{
return IOUtil.toString( ReaderFactory.newXmlReader( getInputStream() ) );
}
/**
* @see org.apache.maven.shared.model.InputStreamDomainModel#getInputStream()
*/
public InputStream getInputStream() throws IOException
{
if(inputBytes != null)
{
byte[] copy = new byte[inputBytes.length];
System.arraycopy( inputBytes, 0, copy, 0, inputBytes.length );
return new ByteArrayInputStream( copy );
}
else
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Writer out = null;
MavenXpp3Writer writer = new MavenXpp3Writer();
try
{
out = WriterFactory.newXmlWriter( baos );
writer.write( out, model );
}
finally
{
if ( out != null )
{
out.close();
}
}
inputBytes = baos.toByteArray();
return new ByteArrayInputStream(inputBytes);
}
}
/**
* @return file of pom. May be null.
*/
public File getFile()
{
return file;
}
public int getLineageCount()
{
return lineageCount;
}
public void setLineageCount( int lineageCount )
{
this.lineageCount = lineageCount;
}
/**
* Returns true if this.asString.equals(o.asString()), otherwise false.
*
* @param o domain model
* @return true if this.asString.equals(o.asString()), otherwise false.
*/
public boolean equals( Object o )
{
try {
return o instanceof PomClassicDomainModel && getId().equals( ( (PomClassicDomainModel) o ).getId() );
} catch (IOException e) {
return false;
}
}
public boolean isMostSpecialized()
{
return isMostSpecialized;
}
public void setMostSpecialized( boolean isMostSpecialized )
{
this.isMostSpecialized = isMostSpecialized;
}
@Override
public String toString()
{
return String.valueOf( id );
}
}

View File

@ -71,15 +71,15 @@ public class ProcessorContext
* @return * @return
* @throws IOException * @throws IOException
*/ */
public static PomClassicDomainModel build( List<DomainModel> domainModels, List<ModelEventListener> listeners ) public static DomainModel build( List<DomainModel> domainModels, List<ModelEventListener> listeners )
throws IOException throws IOException
{ {
PomClassicDomainModel child = null; DomainModel child = null;
for ( DomainModel domainModel : domainModels ) for ( DomainModel domainModel : domainModels )
{ {
if(domainModel.isMostSpecialized()) if(domainModel.isMostSpecialized())
{ {
child = (PomClassicDomainModel) domainModel; child = (DomainModel) domainModel;
} }
} }
if(child == null) if(child == null)
@ -103,14 +103,14 @@ public class ProcessorContext
listener.fire(target); listener.fire(target);
} }
} }
PomClassicDomainModel domainModel = new PomClassicDomainModel( target, child.isMostSpecialized() ); DomainModel domainModel = new DomainModel( target, child.isMostSpecialized() );
domainModel.setProjectDirectory(child.getProjectDirectory()); domainModel.setProjectDirectory(child.getProjectDirectory());
domainModel.setParentFile(child.getParentFile()); domainModel.setParentFile(child.getParentFile());
return domainModel; return domainModel;
} }
public static PomClassicDomainModel mergeProfilesIntoModel(Collection<Profile> profiles, PomClassicDomainModel domainModel) throws IOException public static DomainModel mergeProfilesIntoModel(Collection<Profile> profiles, DomainModel domainModel) throws IOException
{ {
List<Model> profileModels = new ArrayList<Model>(); List<Model> profileModels = new ArrayList<Model>();
List<Model> externalProfileModels = new ArrayList<Model>(); List<Model> externalProfileModels = new ArrayList<Model>();
@ -168,7 +168,7 @@ public class ProcessorContext
//TODO: Merge Dependency Management //TODO: Merge Dependency Management
target.setDependencyManagement( depMng ); target.setDependencyManagement( depMng );
PomClassicDomainModel targetModel = new PomClassicDomainModel( target, domainModel.isMostSpecialized()); DomainModel targetModel = new DomainModel( target, domainModel.isMostSpecialized());
targetModel.setParentFile(domainModel.getParentFile()); targetModel.setParentFile(domainModel.getParentFile());
targetModel.setProjectDirectory(domainModel.getProjectDirectory()); targetModel.setProjectDirectory(domainModel.getProjectDirectory());
return targetModel; return targetModel;
@ -198,7 +198,7 @@ public class ProcessorContext
List<Model> models = new ArrayList<Model>(); List<Model> models = new ArrayList<Model>();
for(DomainModel domainModel : domainModels) for(DomainModel domainModel : domainModels)
{ {
PomClassicDomainModel dm = (PomClassicDomainModel) domainModel; DomainModel dm = (DomainModel) domainModel;
if(dm.getModel() != null) if(dm.getModel() != null)
{ {
if(dm.isMostSpecialized()) if(dm.isMostSpecialized())

View File

@ -27,7 +27,7 @@ import javax.xml.stream.XMLStreamReader;
import org.apache.maven.model.Build; import org.apache.maven.model.Build;
import org.apache.maven.model.Model; import org.apache.maven.model.Model;
import org.apache.maven.model.PomClassicDomainModel; import org.apache.maven.model.DomainModel;
import org.apache.maven.model.ProjectUri; import org.apache.maven.model.ProjectUri;
import org.apache.maven.model.Reporting; import org.apache.maven.model.Reporting;
import org.apache.maven.model.Resource; import org.apache.maven.model.Resource;
@ -172,7 +172,7 @@ public class DefaultInterpolator
try try
{ {
String xml = unmarshalModelPropertiesToXml( modelProperties, ProjectUri.baseUri ); String xml = unmarshalModelPropertiesToXml( modelProperties, ProjectUri.baseUri );
Model m = new PomClassicDomainModel( new ByteArrayInputStream( xml.getBytes( "UTF-8" ) ) ).getModel(); Model m = new DomainModel( new ByteArrayInputStream( xml.getBytes( "UTF-8" ) ) ).getModel();
if ( projectDirectory != null ) if ( projectDirectory != null )
{ {
alignPaths( m, projectDirectory ); alignPaths( m, projectDirectory );