import org.apache.maven.archiva.consumers.ConsumerException;
import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer;
import org.apache.maven.archiva.model.ArchivaProjectModel;
-import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelReader;
import org.apache.maven.archiva.repository.project.readers.ProjectModel400Reader;
+import org.apache.maven.archiva.xml.XMLException;
/**
* ProjectReaderConsumer
System.err.println( "Got null model on " + pomFile );
}
}
- catch ( ProjectModelException e )
+ catch ( XMLException e )
{
System.err.println( "Unable to process: " + pomFile );
e.printStackTrace( System.out );
import org.apache.maven.archiva.repository.RepositoryContentFactory;
import org.apache.maven.archiva.repository.RepositoryException;
import org.apache.maven.archiva.repository.content.ManagedLegacyRepositoryContent;
-import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelReader;
import org.apache.maven.archiva.repository.project.filters.EffectiveProjectModelFilter;
import org.apache.maven.archiva.repository.project.readers.ProjectModel300Reader;
import org.apache.maven.archiva.repository.project.readers.ProjectModel400Reader;
+import org.apache.maven.archiva.xml.XMLException;
import org.codehaus.plexus.cache.Cache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
}
- catch ( ProjectModelException e )
+ catch ( XMLException e )
{
- log.warn( "Unable to read project model " + artifactFile + " : " + e.getMessage(), e );
+ log.warn( "Unable to read project model " + artifactFile + " : " + e.getMessage() );
addProblem( artifact, "Unable to read project model " + artifactFile + " : " + e.getMessage() );
}
*/
import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.xml.XMLException;
import java.io.File;
*/
public interface ProjectModelReader
{
- public ArchivaProjectModel read( File pomFile ) throws ProjectModelException;
+ public ArchivaProjectModel read( File pomFile )
+ throws XMLException;
}
* under the License.
*/
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.model.ArtifactReference;
import org.apache.maven.archiva.model.Organization;
import org.apache.maven.archiva.model.ProjectRepository;
import org.apache.maven.archiva.model.Scm;
-import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelReader;
import org.apache.maven.archiva.xml.XMLException;
import org.apache.maven.archiva.xml.XMLReader;
import org.dom4j.Element;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
/**
* ProjectModel300Reader
*
{
public ArchivaProjectModel read( File pomFile )
- throws ProjectModelException
+ throws XMLException
{
- try
- {
- XMLReader xml = new XMLReader( "project", pomFile );
-
- ArchivaProjectModel model = new ArchivaProjectModel();
-
- xml.removeNamespaces();
+ XMLReader xml = new XMLReader( "project", pomFile );
- Element project = xml.getElement( "//project" );
+ ArchivaProjectModel model = new ArchivaProjectModel();
- // TODO: Handle <extend /> ?? (is this even possible?)
+ xml.removeNamespaces();
- model.setGroupId( project.elementTextTrim( "groupId" ) );
- model.setArtifactId( project.elementTextTrim( "artifactId" ) );
- // TODO: Handle <id />
- model.setVersion( project.elementTextTrim( "currentVersion" ) );
- model.setName( project.elementTextTrim( "name" ) );
- model.setDescription( project.elementTextTrim( "description" ) );
- // TODO: what to do with <shortDescription /> ?
- model.setUrl( project.elementTextTrim( "url" ) );
- // TODO: Handle <logo />
- // TODO: Handle <inceptionYear />
-
- model.setIssueManagement( getIssueManagement( xml ) );
- // TODO: What to do with <gumpRepositoryId /> ?
- // TODO: Handle <siteAddress />
- // TODO: Handle <siteDirectory /> ?
- // TODO: Handle <distributionSite />
- // TODO: Handle <distributionDirectory />
- model.setMailingLists( getMailingLists( xml ) );
- model.setIndividuals( getIndividuals( xml ) );
- model.setLicenses( getLicenses( xml ) );
- model.setReports( getReports( xml ) );
- model.setRepositories( getRepositories( xml ) );
- model.setScm( getSCM( xml ) );
- model.setOrganization( getOrganization( xml ) );
- model.setProperties( getProperties( xml.getElement( "//project/properties" ) ) );
- model.setDependencies( getDependencies( xml ) );
-
- model.setOrigin("filesystem");
-
- /* Following are not valid for <pomVersion>3</pomVersion> / Maven 1 pom files.
- *
- * model.setDependencyManagement()
- * model.setPlugins()
- * model.setParentProject()
- * model.setPackaging()
- * model.setCiManagement()
- * model.setBuildExtensions()
- * model.setRelocation()
- */
+ Element project = xml.getElement( "//project" );
- return model;
- }
- catch ( XMLException e )
- {
- throw new ProjectModelException( e.getMessage(), e );
- }
+ // TODO: Handle <extend /> ?? (is this even possible?)
+
+ model.setGroupId( project.elementTextTrim( "groupId" ) );
+ model.setArtifactId( project.elementTextTrim( "artifactId" ) );
+ // TODO: Handle <id />
+ model.setVersion( project.elementTextTrim( "currentVersion" ) );
+ model.setName( project.elementTextTrim( "name" ) );
+ model.setDescription( project.elementTextTrim( "description" ) );
+ // TODO: what to do with <shortDescription /> ?
+ model.setUrl( project.elementTextTrim( "url" ) );
+ // TODO: Handle <logo />
+ // TODO: Handle <inceptionYear />
+
+ model.setIssueManagement( getIssueManagement( xml ) );
+ // TODO: What to do with <gumpRepositoryId /> ?
+ // TODO: Handle <siteAddress />
+ // TODO: Handle <siteDirectory /> ?
+ // TODO: Handle <distributionSite />
+ // TODO: Handle <distributionDirectory />
+ model.setMailingLists( getMailingLists( xml ) );
+ model.setIndividuals( getIndividuals( xml ) );
+ model.setLicenses( getLicenses( xml ) );
+ model.setReports( getReports( xml ) );
+ model.setRepositories( getRepositories( xml ) );
+ model.setScm( getSCM( xml ) );
+ model.setOrganization( getOrganization( xml ) );
+ model.setProperties( getProperties( xml.getElement( "//project/properties" ) ) );
+ model.setDependencies( getDependencies( xml ) );
+
+ model.setOrigin( "filesystem" );
+
+ /*
+ * Following are not valid for <pomVersion>3</pomVersion> / Maven 1 pom files. model.setDependencyManagement()
+ * model.setPlugins() model.setParentProject() model.setPackaging() model.setCiManagement()
+ * model.setBuildExtensions() model.setRelocation()
+ */
+
+ return model;
}
private ArtifactReference getArtifactReference( Element elemPlugin, String defaultType )
* under the License.
*/
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.model.ArtifactReference;
import org.apache.maven.archiva.model.ProjectRepository;
import org.apache.maven.archiva.model.Scm;
import org.apache.maven.archiva.model.VersionedReference;
-import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelReader;
import org.apache.maven.archiva.xml.XMLException;
import org.apache.maven.archiva.xml.XMLReader;
import org.dom4j.Element;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
/**
* ProjectModel400Reader - read in modelVersion 4.0.0 pom files into archiva-model structures.
*
public class ProjectModel400Reader
implements ProjectModelReader
{
-
public ArchivaProjectModel read( File pomFile )
- throws ProjectModelException
+ throws XMLException
{
- try
- {
- XMLReader xml = new XMLReader( "project", pomFile );
+ XMLReader xml = new XMLReader( "project", pomFile );
- ArchivaProjectModel model = new ArchivaProjectModel();
+ ArchivaProjectModel model = new ArchivaProjectModel();
- if ( !"http://maven.apache.org/POM/4.0.0".equals( xml.getDefaultNamespaceURI() ) )
- {
- // No namespace defined
- // TODO: Output to monitor the problem with the Namespace.
- }
+ if ( !"http://maven.apache.org/POM/4.0.0".equals( xml.getDefaultNamespaceURI() ) )
+ {
+ // No namespace defined
+ // TODO: Output to monitor the problem with the Namespace.
+ }
- xml.removeNamespaces();
+ xml.removeNamespaces();
- Element project = xml.getElement( "//project" );
+ Element project = xml.getElement( "//project" );
- model.setGroupId( project.elementTextTrim( "groupId" ) );
- model.setArtifactId( project.elementTextTrim( "artifactId" ) );
- model.setVersion( project.elementTextTrim( "version" ) );
- model.setName( project.elementTextTrim( "name" ) );
- model.setDescription( project.elementTextTrim( "description" ) );
- model.setUrl( project.elementTextTrim( "url" ) );
+ model.setGroupId( project.elementTextTrim( "groupId" ) );
+ model.setArtifactId( project.elementTextTrim( "artifactId" ) );
+ model.setVersion( project.elementTextTrim( "version" ) );
+ model.setName( project.elementTextTrim( "name" ) );
+ model.setDescription( project.elementTextTrim( "description" ) );
+ model.setUrl( project.elementTextTrim( "url" ) );
- model.setPackaging( StringUtils.defaultIfEmpty( project.elementTextTrim( "packaging" ), "jar" ) );
+ model.setPackaging( StringUtils.defaultIfEmpty( project.elementTextTrim( "packaging" ), "jar" ) );
- model.setParentProject( getParentProject( xml ) );
+ model.setParentProject( getParentProject( xml ) );
- model.setMailingLists( getMailingLists( xml ) );
- model.setCiManagement( getCiManagement( xml ) );
- model.setIndividuals( getIndividuals( xml ) );
- model.setIssueManagement( getIssueManagement( xml ) );
- model.setLicenses( getLicenses( xml ) );
- model.setOrganization( getOrganization( xml ) );
- model.setScm( getSCM( xml ) );
- model.setRepositories( getRepositories( xml ) );
+ model.setMailingLists( getMailingLists( xml ) );
+ model.setCiManagement( getCiManagement( xml ) );
+ model.setIndividuals( getIndividuals( xml ) );
+ model.setIssueManagement( getIssueManagement( xml ) );
+ model.setLicenses( getLicenses( xml ) );
+ model.setOrganization( getOrganization( xml ) );
+ model.setScm( getSCM( xml ) );
+ model.setRepositories( getRepositories( xml ) );
- model.setDependencies( getDependencies( xml ) );
- model.setDependencyManagement( getDependencyManagement( xml ) );
- model.setPlugins( getPlugins( xml ) );
- model.setReports( getReports( xml ) );
- model.setProperties( getProperties( xml.getElement( "//project/properties" ) ) );
+ model.setDependencies( getDependencies( xml ) );
+ model.setDependencyManagement( getDependencyManagement( xml ) );
+ model.setPlugins( getPlugins( xml ) );
+ model.setReports( getReports( xml ) );
+ model.setProperties( getProperties( xml.getElement( "//project/properties" ) ) );
- model.setBuildExtensions( getBuildExtensions( xml ) );
+ model.setBuildExtensions( getBuildExtensions( xml ) );
- model.setRelocation( getRelocation( xml ) );
-
- model.setOrigin("filesystem");
+ model.setRelocation( getRelocation( xml ) );
- return model;
- }
- catch ( XMLException e )
- {
- throw new ProjectModelException( e.getMessage(), e );
- }
+ model.setOrigin( "filesystem" );
+
+ return model;
}
private ArtifactReference getArtifactReference( Element elemPlugin, String defaultType )
* under the License.
*/
+import java.io.File;
+
import org.apache.maven.archiva.model.ArchivaArtifact;
import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.model.VersionedReference;
import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelReader;
import org.apache.maven.archiva.repository.project.ProjectModelResolver;
-
-import java.io.File;
+import org.apache.maven.archiva.xml.XMLException;
/**
* Resolve Project from managed repository.
File repoFile = repository.toFile( artifact );
- return reader.read( repoFile );
+ try
+ {
+ return reader.read( repoFile );
+ }
+ catch ( XMLException e )
+ {
+ throw new ProjectModelException( e.getMessage(), e );
+ }
}
}
import org.apache.maven.archiva.repository.project.ProjectModelResolverFactory;
import org.apache.maven.archiva.repository.project.readers.ProjectModel400Reader;
import org.apache.maven.archiva.repository.project.resolvers.ManagedRepositoryProjectResolver;
+import org.apache.maven.archiva.xml.XMLException;
import java.io.File;
import java.util.HashMap;
}
private ArchivaProjectModel createArchivaProjectModel( String path )
- throws ProjectModelException
+ throws XMLException
{
ProjectModelReader reader = new ProjectModel400Reader();
import org.apache.maven.archiva.repository.project.ProjectModelWriter;
import org.apache.maven.archiva.repository.project.readers.ProjectModel400Reader;
import org.apache.maven.archiva.repository.project.writers.ProjectModel400Writer;
+import org.apache.maven.archiva.xml.XMLException;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
import java.io.File;
}
private ArchivaProjectModel createArchivaProjectModel( String path )
- throws ProjectModelException
+ throws XMLException
{
ProjectModelReader reader = new ProjectModel400Reader();
* under the License.
*/
+import java.io.File;
+
import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.model.Dependency;
-import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelReader;
+import org.apache.maven.archiva.xml.XMLException;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
-import java.io.File;
-
/**
* ProjectModel300ReaderTest
*
extends PlexusInSpringTestCase
{
public void testLoadSimple()
- throws ProjectModelException
+ throws XMLException
{
File defaultRepoDir = new File( getBasedir(), "src/test/repositories/legacy-repository" );
File pomFile = new File( defaultRepoDir, "org.apache.maven/poms/maven-model-v3-2.0.pom" );
* under the License.
*/
+import java.io.File;
+
import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.model.VersionedReference;
-import org.apache.maven.archiva.repository.project.ProjectModelException;
import org.apache.maven.archiva.repository.project.ProjectModelReader;
+import org.apache.maven.archiva.xml.XMLException;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
-import java.io.File;
-
/**
* ProjectModel400ReaderTest
*
extends PlexusInSpringTestCase
{
public void testLoadSimple()
- throws ProjectModelException
+ throws XMLException
{
File defaultRepoDir = new File( getBasedir(), "src/test/repositories/default-repository" );
File pomFile = new File( defaultRepoDir,
}
public void testLoadWithNamespace()
- throws ProjectModelException
+ throws XMLException
{
File defaultRepoDir = new File( getBasedir(), "src/test/repositories/default-repository" );
File pomFile = new File( defaultRepoDir,
import org.apache.maven.archiva.repository.project.ProjectModelReader;
import org.apache.maven.archiva.repository.project.ProjectModelWriter;
import org.apache.maven.archiva.repository.project.readers.ProjectModel400Reader;
+import org.apache.maven.archiva.xml.XMLException;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
import org.custommonkey.xmlunit.DetailedDiff;
import org.custommonkey.xmlunit.Diff;
}
private ArchivaProjectModel createArchivaProjectModel( String path )
- throws ProjectModelException
+ throws XMLException
{
ProjectModelReader reader = new ProjectModel400Reader();