You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/02/14 15:45:07 UTC
svn commit: r507550 [5/7] - in /maven/archiva/branches/archiva-MRM-239: ./
archiva-cli/src/main/java/org/apache/maven/archiva/cli/
archiva-converter/src/main/java/org/apache/maven/archiva/converter/
archiva-converter/src/main/java/org/apache/maven/arch...
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -19,7 +19,6 @@
* under the License.
*/
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Model;
@@ -31,5 +30,5 @@
{
String ROLE = ArtifactReportProcessor.class.getName();
- void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter );
+ void processArtifact( Artifact artifact, Model model );
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -22,7 +22,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.layer.RepositoryQueryLayer;
import org.apache.maven.archiva.layer.RepositoryQueryLayerFactory;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.MetadataResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -61,6 +61,11 @@
*/
private RepositoryQueryLayerFactory repositoryQueryLayerFactory;
+ /**
+ * @plexus.requirement
+ */
+ private MetadataResultsDatabase database;
+
private static final String ROLE_HINT = "bad-metadata";
/**
@@ -70,18 +75,17 @@
* @param repository the repository where the metadata was encountered
* @param reporter the ReportingDatabase to receive processing results
*/
- public void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ public void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository )
{
if ( metadata.storedInGroupDirectory() )
{
try
{
- checkPluginMetadata( metadata, repository, reporter );
+ checkPluginMetadata( metadata, repository );
}
catch ( IOException e )
{
- addWarning( reporter, metadata, null, "Error getting plugin artifact directories versions: " + e );
+ addWarning( metadata, null, "Error getting plugin artifact directories versions: " + e );
}
}
else
@@ -98,36 +102,34 @@
}
if ( !found )
{
- addFailure( reporter, metadata, "missing-last-updated",
- "Missing lastUpdated element inside the metadata." );
+ addFailure( metadata, "missing-last-updated", "Missing lastUpdated element inside the metadata." );
}
if ( metadata.storedInArtifactVersionDirectory() )
{
- checkSnapshotMetadata( metadata, repository, reporter );
+ checkSnapshotMetadata( metadata, repository );
}
else
{
- checkMetadataVersions( metadata, repository, reporter );
+ checkMetadataVersions( metadata, repository );
try
{
- checkRepositoryVersions( metadata, repository, reporter );
+ checkRepositoryVersions( metadata, repository );
}
catch ( IOException e )
{
String reason = "Error getting plugin artifact directories versions: " + e;
- addWarning( reporter, metadata, null, reason );
+ addWarning( metadata, null, reason );
}
}
}
}
- private static void addWarning( ReportingDatabase reporter, RepositoryMetadata metadata, String problem,
- String reason )
+ private void addWarning( RepositoryMetadata metadata, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addWarning( metadata, ROLE_HINT, problem, reason );
+ database.addWarning( metadata, ROLE_HINT, problem, reason );
}
/**
@@ -137,12 +139,11 @@
* @param repository the repository where the metadata was encountered
* @param reporter the ReportingDatabase to receive processing results
*/
- private void checkPluginMetadata( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ private void checkPluginMetadata( RepositoryMetadata metadata, ArtifactRepository repository )
throws IOException
{
- File metadataDir =
- new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( metadata ) ).getParentFile();
+ File metadataDir = new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( metadata ) )
+ .getParentFile();
List pluginDirs = getArtifactIdFiles( metadataDir );
Map prefixes = new HashMap();
@@ -153,22 +154,22 @@
String artifactId = plugin.getArtifactId();
if ( artifactId == null || artifactId.length() == 0 )
{
- addFailure( reporter, metadata, "missing-artifact-id:" + plugin.getPrefix(),
+ addFailure( metadata, "missing-artifact-id:" + plugin.getPrefix(),
"Missing or empty artifactId in group metadata for plugin " + plugin.getPrefix() );
}
String prefix = plugin.getPrefix();
if ( prefix == null || prefix.length() == 0 )
{
- addFailure( reporter, metadata, "missing-plugin-prefix:" + artifactId,
+ addFailure( metadata, "missing-plugin-prefix:" + artifactId,
"Missing or empty plugin prefix for artifactId " + artifactId + "." );
}
else
{
if ( prefixes.containsKey( prefix ) )
{
- addFailure( reporter, metadata, "duplicate-plugin-prefix:" + prefix,
- "Duplicate plugin prefix found: " + prefix + "." );
+ addFailure( metadata, "duplicate-plugin-prefix:" + prefix, "Duplicate plugin prefix found: "
+ + prefix + "." );
}
else
{
@@ -181,8 +182,8 @@
File pluginDir = new File( metadataDir, artifactId );
if ( !pluginDirs.contains( pluginDir ) )
{
- addFailure( reporter, metadata, "missing-plugin-from-repository:" + artifactId,
- "Metadata plugin " + artifactId + " not found in the repository" );
+ addFailure( metadata, "missing-plugin-from-repository:" + artifactId, "Metadata plugin "
+ + artifactId + " not found in the repository" );
}
else
{
@@ -196,8 +197,8 @@
for ( Iterator plugins = pluginDirs.iterator(); plugins.hasNext(); )
{
File plugin = (File) plugins.next();
- addFailure( reporter, metadata, "missing-plugin-from-metadata:" + plugin.getName(), "Plugin " +
- plugin.getName() + " is present in the repository but " + "missing in the metadata." );
+ addFailure( metadata, "missing-plugin-from-metadata:" + plugin.getName(), "Plugin " + plugin.getName()
+ + " is present in the repository but " + "missing in the metadata." );
}
}
}
@@ -209,27 +210,26 @@
* @param repository the repository where the metadata was encountered
* @param reporter the ReportingDatabase to receive processing results
*/
- private void checkSnapshotMetadata( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ private void checkSnapshotMetadata( RepositoryMetadata metadata, ArtifactRepository repository )
{
- RepositoryQueryLayer repositoryQueryLayer =
- repositoryQueryLayerFactory.createRepositoryQueryLayer( repository );
+ RepositoryQueryLayer repositoryQueryLayer = repositoryQueryLayerFactory.createRepositoryQueryLayer( repository );
Versioning versioning = metadata.getMetadata().getVersioning();
if ( versioning != null )
{
Snapshot snapshot = versioning.getSnapshot();
- String version = StringUtils.replace( metadata.getBaseVersion(), Artifact.SNAPSHOT_VERSION,
- snapshot.getTimestamp() + "-" + snapshot.getBuildNumber() );
- Artifact artifact =
- artifactFactory.createProjectArtifact( metadata.getGroupId(), metadata.getArtifactId(), version );
+ String version = StringUtils.replace( metadata.getBaseVersion(), Artifact.SNAPSHOT_VERSION, snapshot
+ .getTimestamp()
+ + "-" + snapshot.getBuildNumber() );
+ Artifact artifact = artifactFactory.createProjectArtifact( metadata.getGroupId(), metadata.getArtifactId(),
+ version );
artifact.isSnapshot(); // trigger baseVersion correction
if ( !repositoryQueryLayer.containsArtifact( artifact ) )
{
- addFailure( reporter, metadata, "missing-snapshot-artifact-from-repository:" + version,
- "Snapshot artifact " + version + " does not exist." );
+ addFailure( metadata, "missing-snapshot-artifact-from-repository:" + version, "Snapshot artifact "
+ + version + " does not exist." );
}
}
}
@@ -241,11 +241,9 @@
* @param repository the repository where the metadata was encountered
* @param reporter the ReportingDatabase to receive processing results
*/
- private void checkMetadataVersions( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ private void checkMetadataVersions( RepositoryMetadata metadata, ArtifactRepository repository )
{
- RepositoryQueryLayer repositoryQueryLayer =
- repositoryQueryLayerFactory.createRepositoryQueryLayer( repository );
+ RepositoryQueryLayer repositoryQueryLayer = repositoryQueryLayerFactory.createRepositoryQueryLayer( repository );
Versioning versioning = metadata.getMetadata().getVersioning();
if ( versioning != null )
@@ -254,13 +252,13 @@
{
String version = (String) versions.next();
- Artifact artifact =
- artifactFactory.createProjectArtifact( metadata.getGroupId(), metadata.getArtifactId(), version );
+ Artifact artifact = artifactFactory.createProjectArtifact( metadata.getGroupId(), metadata
+ .getArtifactId(), version );
if ( !repositoryQueryLayer.containsArtifact( artifact ) )
{
- addFailure( reporter, metadata, "missing-artifact-from-repository:" + version, "Artifact version " +
- version + " is present in metadata but " + "missing in the repository." );
+ addFailure( metadata, "missing-artifact-from-repository:" + version, "Artifact version " + version
+ + " is present in metadata but " + "missing in the repository." );
}
}
}
@@ -275,14 +273,13 @@
* @param reporter the ReportingDatabase to receive processing results
* @throws java.io.IOException if there is a problem reading from the file system
*/
- private void checkRepositoryVersions( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ private void checkRepositoryVersions( RepositoryMetadata metadata, ArtifactRepository repository )
throws IOException
{
Versioning versioning = metadata.getMetadata().getVersioning();
List metadataVersions = versioning != null ? versioning.getVersions() : Collections.EMPTY_LIST;
- File versionsDir =
- new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( metadata ) ).getParentFile();
+ File versionsDir = new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( metadata ) )
+ .getParentFile();
// TODO: I don't know how this condition can happen, but it was seen on the main repository.
// Avoid hard failure
@@ -295,14 +292,14 @@
String version = path.getParentFile().getName();
if ( !metadataVersions.contains( version ) )
{
- addFailure( reporter, metadata, "missing-artifact-from-metadata:" + version, "Artifact version " +
- version + " found in the repository but " + "missing in the metadata." );
+ addFailure( metadata, "missing-artifact-from-metadata:" + version, "Artifact version " + version
+ + " found in the repository but " + "missing in the metadata." );
}
}
}
else
{
- addFailure( reporter, metadata, null, "Metadata's directory did not exist: " + versionsDir );
+ addFailure( metadata, null, "Metadata's directory did not exist: " + versionsDir );
}
}
@@ -339,10 +336,9 @@
return artifactIdFiles;
}
- private static void addFailure( ReportingDatabase reporter, RepositoryMetadata metadata, String problem,
- String reason )
+ private void addFailure( RepositoryMetadata metadata, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( metadata, ROLE_HINT, problem, reason );
+ database.addFailure( metadata, ROLE_HINT, problem, reason );
}
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -20,7 +20,7 @@
*/
import org.apache.commons.io.FileUtils;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
@@ -48,10 +48,15 @@
* @plexus.requirement role-hint="md5"
*/
private Digester md5Digester;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
private static final String ROLE_HINT = "checksum";
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter )
+ public void processArtifact( Artifact artifact, Model model )
{
ArtifactRepository repository = artifact.getRepository();
@@ -68,11 +73,11 @@
// TODO: make md5 configurable
// verifyChecksum( repository, path + ".md5", file, md5Digester, reporter, artifact );
- verifyChecksum( repository, path + ".sha1", file, sha1Digester, reporter, artifact );
+ verifyChecksum( repository, path + ".sha1", file, sha1Digester, artifact );
}
private void verifyChecksum( ArtifactRepository repository, String path, File file, Digester digester,
- ReportingDatabase reporter, Artifact artifact )
+ Artifact artifact )
{
File checksumFile = new File( repository.getBasedir(), path );
if ( checksumFile.exists() )
@@ -83,23 +88,23 @@
}
catch ( DigesterException e )
{
- addFailure( reporter, artifact, "checksum-wrong", e.getMessage() );
+ addFailure( artifact, "checksum-wrong", e.getMessage() );
}
catch ( IOException e )
{
- addFailure( reporter, artifact, "checksum-io-exception", "Read file error: " + e.getMessage() );
+ addFailure( artifact, "checksum-io-exception", "Read file error: " + e.getMessage() );
}
}
else
{
- addFailure( reporter, artifact, "checksum-missing",
+ addFailure( artifact, "checksum-missing",
digester.getAlgorithm() + " checksum file does not exist." );
}
}
- private static void addFailure( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addFailure( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( artifact, ROLE_HINT, problem, reason );
+ database.addFailure( artifact, ROLE_HINT, problem, reason );
}
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -20,7 +20,7 @@
*/
import org.apache.commons.io.FileUtils;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.MetadataResultsDatabase;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
import org.codehaus.plexus.digest.Digester;
@@ -48,32 +48,36 @@
*/
private Digester md5Digester;
+ /**
+ * @plexus.requirement
+ */
+ private MetadataResultsDatabase database;
+
private static final String ROLE_HINT = "checksum-metadata";
/**
* Validate the checksums of the metadata. Get the metadata file from the
* repository then validate the checksum.
*/
- public void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ public void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository )
{
if ( !"file".equals( repository.getProtocol() ) )
{
// We can't check other types of URLs yet. Need to use Wagon, with an exists() method.
- throw new UnsupportedOperationException(
- "Can't process repository '" + repository.getUrl() + "'. Only file based repositories are supported" );
+ throw new UnsupportedOperationException( "Can't process repository '" + repository.getUrl()
+ + "'. Only file based repositories are supported" );
}
//check if checksum files exist
String path = repository.pathOfRemoteRepositoryMetadata( metadata );
File file = new File( repository.getBasedir(), path );
- verifyChecksum( repository, path + ".md5", file, md5Digester, reporter, metadata );
- verifyChecksum( repository, path + ".sha1", file, sha1Digester, reporter, metadata );
+ verifyChecksum( repository, path + ".md5", file, md5Digester, metadata );
+ verifyChecksum( repository, path + ".sha1", file, sha1Digester, metadata );
}
private void verifyChecksum( ArtifactRepository repository, String path, File file, Digester digester,
- ReportingDatabase reporter, RepositoryMetadata metadata )
+ RepositoryMetadata metadata )
{
File checksumFile = new File( repository.getBasedir(), path );
if ( checksumFile.exists() )
@@ -84,25 +88,23 @@
}
catch ( DigesterException e )
{
- addFailure( reporter, metadata, "checksum-wrong", e.getMessage() );
+ addFailure( metadata, "checksum-wrong", e.getMessage() );
}
catch ( IOException e )
{
- addFailure( reporter, metadata, "checksum-io-exception", "Read file error: " + e.getMessage() );
+ addFailure( metadata, "checksum-io-exception", "Read file error: " + e.getMessage() );
}
}
else
{
- addFailure( reporter, metadata, "checksum-missing",
- digester.getAlgorithm() + " checksum file does not exist." );
+ addFailure( metadata, "checksum-missing", digester.getAlgorithm() + " checksum file does not exist." );
}
}
- private static void addFailure( ReportingDatabase reporter, RepositoryMetadata metadata, String problem,
- String reason )
+ private void addFailure( RepositoryMetadata metadata, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( metadata, ROLE_HINT, problem, reason );
+ database.addFailure( metadata, ROLE_HINT, problem, reason );
}
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -21,7 +21,7 @@
import org.apache.maven.archiva.layer.RepositoryQueryLayer;
import org.apache.maven.archiva.layer.RepositoryQueryLayerFactory;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
@@ -49,34 +49,39 @@
*/
private RepositoryQueryLayerFactory layerFactory;
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
+
private static final String POM = "pom";
private static final String ROLE_HINT = "dependency";
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter )
+ public void processArtifact( Artifact artifact, Model model )
{
RepositoryQueryLayer queryLayer = layerFactory.createRepositoryQueryLayer( artifact.getRepository() );
if ( !queryLayer.containsArtifact( artifact ) )
{
// TODO: is this even possible?
- addFailure( reporter, artifact, "missing-artifact", "Artifact does not exist in the repository" );
+ addFailure( artifact, "missing-artifact", "Artifact does not exist in the repository" );
}
if ( model != null && POM.equals( artifact.getType() ) )
{
List dependencies = model.getDependencies();
- processDependencies( dependencies, reporter, queryLayer, artifact );
+ processDependencies( dependencies, queryLayer, artifact );
}
}
- private static void addFailure( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addFailure( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( artifact, ROLE_HINT, problem, reason );
+ database.addFailure( artifact, ROLE_HINT, problem, reason );
}
- private void processDependencies( List dependencies, ReportingDatabase reporter,
- RepositoryQueryLayer repositoryQueryLayer, Artifact sourceArtifact )
+ private void processDependencies( List dependencies, RepositoryQueryLayer repositoryQueryLayer,
+ Artifact sourceArtifact )
{
if ( dependencies.size() > 0 )
{
@@ -100,19 +105,19 @@
if ( !repositoryQueryLayer.containsArtifact( artifact ) )
{
- String reason = MessageFormat.format(
- "Artifact''s dependency {0} does not exist in the repository",
- new String[]{getDependencyString( dependency )} );
- addFailure( reporter, sourceArtifact, "missing-dependency:" + getDependencyKey( dependency ),
- reason );
+ String reason = MessageFormat
+ .format( "Artifact''s dependency {0} does not exist in the repository",
+ new String[] { getDependencyString( dependency ) } );
+ addFailure( sourceArtifact, "missing-dependency:" + getDependencyKey( dependency ), reason );
}
}
catch ( InvalidVersionSpecificationException e )
{
String reason = MessageFormat.format( "Artifact''s dependency {0} contains an invalid version {1}",
- new String[]{getDependencyString( dependency ),
- dependency.getVersion()} );
- addFailure( reporter, sourceArtifact, "bad-version:" + getDependencyKey( dependency ), reason );
+ new String[] {
+ getDependencyString( dependency ),
+ dependency.getVersion() } );
+ addFailure( sourceArtifact, "bad-version:" + getDependencyKey( dependency ), reason );
}
}
}
@@ -156,7 +161,7 @@
}
return artifactFactory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(), spec,
- dependency.getType(), dependency.getClassifier(),
- dependency.getScope() );
+ dependency.getType(), dependency.getClassifier(), dependency
+ .getScope() );
}
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DuplicateArtifactFileReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DuplicateArtifactFileReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DuplicateArtifactFileReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DuplicateArtifactFileReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -27,7 +27,7 @@
import org.apache.maven.archiva.indexer.lucene.LuceneQuery;
import org.apache.maven.archiva.indexer.record.StandardArtifactIndexRecord;
import org.apache.maven.archiva.indexer.record.StandardIndexRecordFields;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
@@ -62,9 +62,14 @@
*/
private String indexDirectory;
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
+
private static final String ROLE_HINT = "duplicate";
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter )
+ public void processArtifact( Artifact artifact, Model model )
{
ArtifactRepository repository = artifact.getRepository();
if ( artifact.getFile() != null )
@@ -82,16 +87,16 @@
}
catch ( DigesterException e )
{
- addWarning( reporter, artifact, null,
- "Unable to generate checksum for " + artifact.getFile() + ": " + e );
+ addWarning( artifact, null, "Unable to generate checksum for " + artifact.getFile() + ": " + e );
}
if ( checksum != null )
{
try
{
- List results = index.search( new LuceneQuery(
- new TermQuery( new Term( StandardIndexRecordFields.MD5, checksum.toLowerCase() ) ) ) );
+ List results = index
+ .search( new LuceneQuery( new TermQuery( new Term( StandardIndexRecordFields.MD5, checksum
+ .toLowerCase() ) ) ) );
if ( !results.isEmpty() )
{
@@ -106,8 +111,7 @@
String groupId = artifact.getGroupId();
if ( groupId.equals( result.getGroupId() ) )
{
- addFailure( reporter, artifact, "duplicate",
- "Found duplicate for " + artifact.getId() );
+ addFailure( artifact, "duplicate", "Found duplicate for " + artifact.getId() );
}
}
}
@@ -115,25 +119,25 @@
}
catch ( RepositoryIndexSearchException e )
{
- addWarning( reporter, artifact, null, "Failed to search in index" + e );
+ addWarning( artifact, null, "Failed to search in index" + e );
}
}
}
else
{
- addWarning( reporter, artifact, null, "Artifact file is null" );
+ addWarning( artifact, null, "Artifact file is null" );
}
}
- private static void addFailure( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addFailure( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( artifact, ROLE_HINT, problem, reason );
+ database.addFailure( artifact, ROLE_HINT, problem, reason );
}
- private static void addWarning( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addWarning( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addWarning( artifact, ROLE_HINT, problem, reason );
+ database.addWarning( artifact, ROLE_HINT, problem, reason );
}
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/InvalidPomArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/InvalidPomArtifactReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/InvalidPomArtifactReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/InvalidPomArtifactReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -20,7 +20,7 @@
*/
import org.apache.commons.io.IOUtils;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
@@ -44,18 +44,23 @@
private static final String ROLE_HINT = "invalid-pom";
/**
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
+
+ /**
* @param artifact The pom xml file to be validated, passed as an artifact object.
* @param reporter The artifact reporter object.
*/
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter )
+ public void processArtifact( Artifact artifact, Model model )
{
ArtifactRepository repository = artifact.getRepository();
if ( !"file".equals( repository.getProtocol() ) )
{
// We can't check other types of URLs yet. Need to use Wagon, with an exists() method.
- throw new UnsupportedOperationException(
- "Can't process repository '" + repository.getUrl() + "'. Only file based repositories are supported" );
+ throw new UnsupportedOperationException( "Can't process repository '" + repository.getUrl()
+ + "'. Only file based repositories are supported" );
}
if ( "pom".equals( artifact.getType().toLowerCase() ) )
@@ -64,7 +69,7 @@
if ( !f.exists() )
{
- addFailure( reporter, artifact, "pom-missing", "POM not found." );
+ addFailure( artifact, "pom-missing", "POM not found." );
}
else
{
@@ -79,13 +84,12 @@
}
catch ( XmlPullParserException e )
{
- addFailure( reporter, artifact, "pom-parse-exception",
+ addFailure( artifact, "pom-parse-exception",
"The pom xml file is not well-formed. Error while parsing: " + e.getMessage() );
}
catch ( IOException e )
{
- addFailure( reporter, artifact, "pom-io-exception",
- "Error while reading the pom xml file: " + e.getMessage() );
+ addFailure( artifact, "pom-io-exception", "Error while reading the pom xml file: " + e.getMessage() );
}
finally
{
@@ -95,9 +99,9 @@
}
}
- private static void addFailure( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addFailure( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( artifact, ROLE_HINT, problem, reason );
+ database.addFailure( artifact, ROLE_HINT, problem, reason );
}
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/LocationArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/LocationArtifactReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/LocationArtifactReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/LocationArtifactReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -20,14 +20,13 @@
*/
import org.apache.commons.io.IOUtils;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.handler.DefaultArtifactHandler;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.project.MavenProjectBuilder;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
@@ -57,13 +56,19 @@
private ArtifactFactory artifactFactory;
// TODO: share with other code with the same
- private static final Set JAR_FILE_TYPES =
- new HashSet( Arrays.asList( new String[]{"jar", "war", "par", "ejb", "ear", "rar", "sar"} ) );
+ private static final Set JAR_FILE_TYPES = new HashSet( Arrays.asList( new String[] {
+ "jar",
+ "war",
+ "par",
+ "ejb",
+ "ear",
+ "rar",
+ "sar" } ) );
/**
* @plexus.requirement
*/
- private MavenProjectBuilder projectBuilder;
+ private ArtifactResultsDatabase database;
private static final String POM = "pom";
@@ -77,15 +82,15 @@
* location is valid based on the location specified in the pom. Check if the both the location
* specified in the file system pom and in the pom included in the package is the same.
*/
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter )
+ public void processArtifact( Artifact artifact, Model model )
{
ArtifactRepository repository = artifact.getRepository();
if ( !"file".equals( repository.getProtocol() ) )
{
// We can't check other types of URLs yet. Need to use Wagon, with an exists() method.
- throw new UnsupportedOperationException(
- "Can't process repository '" + repository.getUrl() + "'. Only file based repositories are supported" );
+ throw new UnsupportedOperationException( "Can't process repository '" + repository.getUrl()
+ + "'. Only file based repositories are supported" );
}
adjustDistributionArtifactHandler( artifact );
@@ -100,19 +105,16 @@
{
//check if the artifact is located in its proper location based on the info
//specified in the model object/pom
- Artifact modelArtifact = artifactFactory.createArtifactWithClassifier( model.getGroupId(),
- model.getArtifactId(),
- model.getVersion(),
- artifact.getType(),
- artifact.getClassifier() );
+ Artifact modelArtifact = artifactFactory.createArtifactWithClassifier( model.getGroupId(), model
+ .getArtifactId(), model.getVersion(), artifact.getType(), artifact.getClassifier() );
adjustDistributionArtifactHandler( modelArtifact );
String modelPath = repository.pathOf( modelArtifact );
if ( !modelPath.equals( artifactPath ) )
{
- addFailure( reporter, artifact, "repository-pom-location",
- "The artifact is out of place. It does not match the specified location in the repository pom: " +
- modelPath );
+ addFailure( artifact, "repository-pom-location",
+ "The artifact is out of place. It does not match the specified location in the repository pom: "
+ + modelPath );
}
}
}
@@ -126,7 +128,7 @@
{
//unpack the artifact (using the groupId, artifactId & version specified in the artifact object itself
//check if the pom is included in the package
- Model extractedModel = readArtifactModel( file, artifact, reporter );
+ Model extractedModel = readArtifactModel( file, artifact );
if ( extractedModel != null )
{
@@ -136,7 +138,7 @@
extractedModel.getPackaging() );
if ( !repository.pathOf( extractedArtifact ).equals( artifactPath ) )
{
- addFailure( reporter, artifact, "packaged-pom-location",
+ addFailure( artifact, "packaged-pom-location",
"The artifact is out of place. It does not match the specified location in the packaged pom." );
}
}
@@ -144,15 +146,14 @@
}
else
{
- addFailure( reporter, artifact, "missing-artifact",
- "The artifact file [" + file + "] cannot be found for metadata." );
+ addFailure( artifact, "missing-artifact", "The artifact file [" + file + "] cannot be found for metadata." );
}
}
- private static void addFailure( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addFailure( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( artifact, ROLE_HINT, problem, reason );
+ database.addFailure( artifact, ROLE_HINT, problem, reason );
}
private static void adjustDistributionArtifactHandler( Artifact artifact )
@@ -168,7 +169,7 @@
}
}
- private Model readArtifactModel( File file, Artifact artifact, ReportingDatabase reporter )
+ private Model readArtifactModel( File file, Artifact artifact )
{
Model model = null;
@@ -178,8 +179,8 @@
jar = new JarFile( file );
//Get the entry and its input stream.
- JarEntry entry = jar.getJarEntry(
- "META-INF/maven/" + artifact.getGroupId() + "/" + artifact.getArtifactId() + "/pom.xml" );
+ JarEntry entry = jar.getJarEntry( "META-INF/maven/" + artifact.getGroupId() + "/"
+ + artifact.getArtifactId() + "/pom.xml" );
// If the entry is not null, extract it.
if ( entry != null )
@@ -198,11 +199,11 @@
}
catch ( IOException e )
{
- addWarning( reporter, artifact, "Unable to read artifact to extract model: " + e );
+ addWarning( artifact, "Unable to read artifact to extract model: " + e );
}
catch ( XmlPullParserException e )
{
- addWarning( reporter, artifact, "Unable to parse extracted model: " + e );
+ addWarning( artifact, "Unable to parse extracted model: " + e );
}
finally
{
@@ -222,10 +223,10 @@
return model;
}
- private static void addWarning( ReportingDatabase reporter, Artifact artifact, String reason )
+ private void addWarning( Artifact artifact, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addWarning( artifact, ROLE_HINT, null, reason );
+ database.addWarning( artifact, ROLE_HINT, null, reason );
}
private Model readModel( InputStream entryStream )
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/MetadataReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/MetadataReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/MetadataReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/MetadataReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -19,7 +19,6 @@
* under the License.
*/
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
@@ -30,5 +29,5 @@
{
String ROLE = MetadataReportProcessor.class.getName();
- void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository, ReportingDatabase reporter );
+ void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository );
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldArtifactReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldArtifactReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldArtifactReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -19,7 +19,7 @@
* under the License.
*/
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.handler.DefaultArtifactHandler;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -44,8 +44,15 @@
* @plexus.configuration default-value="31536000"
*/
private int maxAge;
+
+ /**
+ * TODO: Must create an 'Old Artifact' database.
+ * TODO: Base this off of an artifact table query instead.
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter )
+ public void processArtifact( Artifact artifact, Model model )
{
ArtifactRepository repository = artifact.getRepository();
@@ -68,7 +75,7 @@
if ( System.currentTimeMillis() - file.lastModified() > maxAge * 1000 )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addNotice( artifact, ROLE_HINT, "old-artifact",
+ database.addNotice( artifact, ROLE_HINT, "old-artifact",
"The artifact is older than the maximum age of " + maxAge + " seconds." );
}
}
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldSnapshotArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldSnapshotArtifactReportProcessor.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldSnapshotArtifactReportProcessor.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldSnapshotArtifactReportProcessor.java Wed Feb 14 06:44:59 2007
@@ -19,7 +19,7 @@
* under the License.
*/
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.handler.DefaultArtifactHandler;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -62,15 +62,22 @@
*/
private int maxSnapshots;
- public void processArtifact( final Artifact artifact, Model model, ReportingDatabase reporter )
+ /**
+ * TODO: Must create an 'Old Artifact' database.
+ * TODO: Base this off of an artifact table query instead.
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
+
+ public void processArtifact( final Artifact artifact, Model model )
{
ArtifactRepository repository = artifact.getRepository();
if ( !"file".equals( repository.getProtocol() ) )
{
// We can't check other types of URLs yet. Need to use Wagon, with an exists() method.
- throw new UnsupportedOperationException(
- "Can't process repository '" + repository.getUrl() + "'. Only file based repositories are supported" );
+ throw new UnsupportedOperationException( "Can't process repository '" + repository.getUrl()
+ + "'. Only file based repositories are supported" );
}
adjustDistributionArtifactHandler( artifact );
@@ -95,13 +102,14 @@
catch ( ParseException e )
{
throw new IllegalStateException(
- "Shouldn't match timestamp pattern and not be able to parse it: " + m.group( 2 ) );
+ "Shouldn't match timestamp pattern and not be able to parse it: "
+ + m.group( 2 ) );
}
if ( System.currentTimeMillis() - timestamp > maxAge * 1000 )
{
- addNotice( reporter, artifact, "snapshot-expired-time",
- "The artifact is older than the maximum age of " + maxAge + " seconds." );
+ addNotice( artifact, "snapshot-expired-time", "The artifact is older than the maximum age of "
+ + maxAge + " seconds." );
}
else if ( maxSnapshots > 0 )
{
@@ -109,12 +117,12 @@
{
public boolean accept( File file, String string )
{
- return string.startsWith( artifact.getArtifactId() + "-" ) &&
- string.endsWith( "." + artifact.getArtifactHandler().getExtension() );
+ return string.startsWith( artifact.getArtifactId() + "-" )
+ && string.endsWith( "." + artifact.getArtifactHandler().getExtension() );
}
} );
- List/*<Integer>*/ buildNumbers = new ArrayList();
+ List/*<Integer>*/buildNumbers = new ArrayList();
Integer currentBuild = null;
for ( Iterator i = Arrays.asList( files ).iterator(); i.hasNext(); )
{
@@ -149,7 +157,7 @@
if ( buildNumbers.contains( currentBuild ) )
{
- addNotice( reporter, artifact, "snapshot-expired-count",
+ addNotice( artifact, "snapshot-expired-count",
"The artifact is older than the maximum number of retained snapshot builds." );
}
}
@@ -162,10 +170,10 @@
}
}
- private static void addNotice( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addNotice( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addNotice( artifact, ROLE_HINT, problem, reason );
+ database.addNotice( artifact, ROLE_HINT, problem, reason );
}
private static void adjustDistributionArtifactHandler( Artifact artifact )
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/mdo/reporting.mdo
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/mdo/reporting.mdo?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/mdo/reporting.mdo (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/mdo/reporting.mdo Wed Feb 14 06:44:59 2007
@@ -1,3 +1,4 @@
+<?xml version="1.0" ?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
@@ -30,7 +31,7 @@
</default>
</defaults>
<classes>
- <class rootElement="true" xml.tagName="reporting">
+ <class rootElement="true" xml.tagName="reporting" stash.storable="false">
<name>Reporting</name>
<version>1.0.0</version>
<fields>
@@ -50,47 +51,19 @@
<multiplicity>*</multiplicity>
</association>
</field>
- <field xml.attribute="true">
- <name>lastModified</name>
- <version>1.0.0</version>
- <type>long</type>
- </field>
- <field xml.attribute="true">
- <name>executionTime</name>
- <version>1.0.0</version>
- <type>long</type>
- </field>
</fields>
</class>
- <class>
+ <class stash.storable="true"
+ jpox.use-identifiers-as-primary-key="true"
+ jpox.identity-type="application"
+ jpox.identity-class="ArtifactResultsKey">
<name>ArtifactResults</name>
<version>1.0.0</version>
<fields>
- <field>
- <name>failures</name>
- <version>1.0.0</version>
- <association>
- <type>Result</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>warnings</name>
- <version>1.0.0</version>
- <association>
- <type>Result</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>notices</name>
- <version>1.0.0</version>
- <association>
- <type>Result</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field xml.attribute="true">
+ <field xml.attribute="true"
+ jpox.primary-key="true"
+ jpox.value-strategy="off"
+ jpox.persistence-modifier="persistent">
<name>groupId</name>
<identity>true</identity>
<version>1.0.0</version>
@@ -100,7 +73,10 @@
The group ID of the artifact in the result.
</description>
</field>
- <field xml.attribute="true">
+ <field xml.attribute="true"
+ jpox.primary-key="true"
+ jpox.value-strategy="off"
+ jpox.persistence-modifier="persistent">
<name>artifactId</name>
<version>1.0.0</version>
<identity>true</identity>
@@ -110,7 +86,10 @@
The artifact ID of the artifact in the result.
</description>
</field>
- <field xml.attribute="true">
+ <field xml.attribute="true"
+ jpox.primary-key="true"
+ jpox.value-strategy="off"
+ jpox.persistence-modifier="persistent">
<name>version</name>
<version>1.0.0</version>
<identity>true</identity>
@@ -120,7 +99,10 @@
The version of the artifact in the result.
</description>
</field>
- <field xml.attribute="true">
+ <field xml.attribute="true"
+ jpox.primary-key="true"
+ jpox.value-strategy="off"
+ jpox.persistence-modifier="persistent">
<name>type</name>
<version>1.0.0</version>
<type>String</type>
@@ -130,7 +112,11 @@
The type of the artifact in the result.
</description>
</field>
- <field xml.attribute="true">
+ <field xml.attribute="true"
+ jpox.nullValue="none"
+ jpox.primary-key="true"
+ jpox.value-strategy="off"
+ jpox.persistence-modifier="persistent">
<name>classifier</name>
<version>1.0.0</version>
<type>String</type>
@@ -139,16 +125,15 @@
The classifier of the artifact in the result.
</description>
</field>
- </fields>
- </class>
- <class>
- <name>MetadataResults</name>
- <version>1.0.0</version>
- <fields>
<field>
<name>failures</name>
<version>1.0.0</version>
- <association>
+ <association stash.part="true"
+ jpox.join="true"
+ java.init="field"
+ jpox.dependent="true"
+ java.generate-break="false"
+ java.generate-create="false">
<type>Result</type>
<multiplicity>*</multiplicity>
</association>
@@ -156,7 +141,12 @@
<field>
<name>warnings</name>
<version>1.0.0</version>
- <association>
+ <association stash.part="true"
+ jpox.join="true"
+ java.init="field"
+ jpox.dependent="true"
+ java.generate-break="false"
+ java.generate-create="false">
<type>Result</type>
<multiplicity>*</multiplicity>
</association>
@@ -164,12 +154,29 @@
<field>
<name>notices</name>
<version>1.0.0</version>
- <association>
+ <association stash.part="true"
+ jpox.join="true"
+ java.init="field"
+ jpox.dependent="true"
+ java.generate-break="false"
+ java.generate-create="false">
<type>Result</type>
<multiplicity>*</multiplicity>
</association>
</field>
- <field xml.attribute="true">
+ </fields>
+ </class>
+ <class stash.storable="true"
+ jpox.use-identifiers-as-primary-key="true"
+ jpox.identity-type="application"
+ jpox.identity-class="MetadataResultsKey">
+ <name>MetadataResults</name>
+ <version>1.0.0</version>
+ <fields>
+ <field xml.attribute="true"
+ jpox.primary-key="true"
+ jpox.value-strategy="off"
+ jpox.persistence-modifier="persistent">
<name>groupId</name>
<version>1.0.0</version>
<type>String</type>
@@ -179,7 +186,11 @@
The group ID of the metadata in the result.
</description>
</field>
- <field xml.attribute="true">
+ <field xml.attribute="true"
+ jpox.nullValue="none"
+ jpox.primary-key="true"
+ jpox.value-strategy="off"
+ jpox.persistence-modifier="persistent">
<name>artifactId</name>
<version>1.0.0</version>
<type>String</type>
@@ -188,7 +199,11 @@
The artifact ID of the metadata in the result.
</description>
</field>
- <field xml.attribute="true">
+ <field xml.attribute="true"
+ jpox.nullValue="none"
+ jpox.primary-key="true"
+ jpox.value-strategy="off"
+ jpox.persistence-modifier="persistent">
<name>version</name>
<version>1.0.0</version>
<type>String</type>
@@ -197,6 +212,45 @@
The version of the metadata in the result.
</description>
</field>
+ <field>
+ <name>failures</name>
+ <version>1.0.0</version>
+ <association stash.part="true"
+ jpox.join="true"
+ java.init="field"
+ jpox.dependent="true"
+ java.generate-break="false"
+ java.generate-create="false">
+ <type>Result</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ <field>
+ <name>warnings</name>
+ <version>1.0.0</version>
+ <association stash.part="true"
+ jpox.join="true"
+ java.init="field"
+ jpox.dependent="true"
+ java.generate-break="false"
+ java.generate-create="false">
+ <type>Result</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ <field>
+ <name>notices</name>
+ <version>1.0.0</version>
+ <association stash.part="true"
+ jpox.join="true"
+ java.init="field"
+ jpox.dependent="true"
+ java.generate-break="false"
+ java.generate-create="false">
+ <type>Result</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
<field xml.attribute="true">
<name>lastModified</name>
<version>1.0.0</version>
@@ -208,7 +262,7 @@
</field>
</fields>
</class>
- <class>
+ <class stash.storable="true">
<name>Result</name>
<version>1.0.0</version>
<fields>
Modified: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/AbstractRepositoryReportsTestCase.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/AbstractRepositoryReportsTestCase.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/AbstractRepositoryReportsTestCase.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/AbstractRepositoryReportsTestCase.java Wed Feb 14 06:44:59 2007
@@ -25,8 +25,18 @@
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory;
+import org.codehaus.plexus.jdo.JdoFactory;
+import org.jpox.SchemaTool;
import java.io.File;
+import java.net.URL;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.jdo.PersistenceManager;
+import javax.jdo.PersistenceManagerFactory;
/**
*
@@ -50,6 +60,8 @@
{
super.setUp();
+ setupJdoFactory();
+
File repositoryDirectory = getTestFile( "src/test/repository" );
factory = (ArtifactRepositoryFactory) lookup( ArtifactRepositoryFactory.ROLE );
@@ -60,14 +72,57 @@
artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
}
- protected Artifact createArtifactFromRepository( File repository, String groupId, String artifactId,
- String version )
+ protected void setupJdoFactory()
+ throws Exception
+ {
+ DefaultConfigurableJdoFactory jdoFactory = (DefaultConfigurableJdoFactory) lookup( JdoFactory.ROLE, "archiva" );
+
+ jdoFactory.setPersistenceManagerFactoryClass( "org.jpox.PersistenceManagerFactoryImpl" ); //$NON-NLS-1$
+
+ jdoFactory.setDriverName( "org.hsqldb.jdbcDriver" ); //$NON-NLS-1$
+
+ jdoFactory.setUrl( "jdbc:hsqldb:mem:" + getName() ); //$NON-NLS-1$
+
+ jdoFactory.setUserName( "sa" ); //$NON-NLS-1$
+
+ jdoFactory.setPassword( "" ); //$NON-NLS-1$
+
+ jdoFactory.setProperty( "org.jpox.transactionIsolation", "READ_UNCOMMITTED" ); //$NON-NLS-1$ //$NON-NLS-2$
+
+ jdoFactory.setProperty( "org.jpox.poid.transactionIsolation", "READ_UNCOMMITTED" ); //$NON-NLS-1$ //$NON-NLS-2$
+
+ jdoFactory.setProperty( "org.jpox.autoCreateSchema", "true" ); //$NON-NLS-1$ //$NON-NLS-2$
+
+ jdoFactory.setProperty( "javax.jdo.PersistenceManagerFactoryClass", "org.jpox.PersistenceManagerFactoryImpl" );
+
+ Properties properties = jdoFactory.getProperties();
+
+ for ( Iterator it = properties.entrySet().iterator(); it.hasNext(); )
+ {
+ Map.Entry entry = (Map.Entry) it.next();
+
+ System.setProperty( (String) entry.getKey(), (String) entry.getValue() );
+ }
+
+ SchemaTool.createSchemaTables( new URL[] { getClass()
+ .getResource( "/org/apache/maven/archiva/reporting/model/package.jdo" ) }, new URL[] {}, null, false, null ); //$NON-NLS-1$
+
+ PersistenceManagerFactory pmf = jdoFactory.getPersistenceManagerFactory();
+
+ assertNotNull( pmf );
+
+ PersistenceManager pm = pmf.getPersistenceManager();
+
+ pm.close();
+ }
+
+ protected Artifact createArtifactFromRepository( File repository, String groupId, String artifactId, String version )
throws Exception
{
Artifact artifact = artifactFactory.createBuildArtifact( groupId, artifactId, version, "jar" );
- artifact.setRepository(
- factory.createArtifactRepository( "repository", repository.toURL().toString(), layout, null, null ) );
+ artifact.setRepository( factory.createArtifactRepository( "repository", repository.toURL().toString(), layout,
+ null, null ) );
artifact.isSnapshot();
@@ -90,8 +145,8 @@
protected Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type,
String classifier )
{
- Artifact artifact =
- artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, type, classifier );
+ Artifact artifact = artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, type,
+ classifier );
artifact.setRepository( repository );
return artifact;
}
Added: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabaseTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabaseTest.java?view=auto&rev=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabaseTest.java (added)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabaseTest.java Wed Feb 14 06:44:59 2007
@@ -0,0 +1,108 @@
+package org.apache.maven.archiva.reporting.database;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.archiva.reporting.AbstractRepositoryReportsTestCase;
+import org.apache.maven.archiva.reporting.model.ArtifactResults;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
+import org.apache.maven.artifact.versioning.VersionRange;
+
+/**
+ * ArtifactResultsDatabaseTest
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ArtifactResultsDatabaseTest
+ extends AbstractRepositoryReportsTestCase
+{
+ private Artifact artifact;
+ private String processor, problem, reason;
+
+ private ArtifactResultsDatabase database;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ database = (ArtifactResultsDatabase) lookup( ArtifactResultsDatabase.ROLE );
+
+ artifact = new DefaultArtifact( "group", "artifact", VersionRange.createFromVersion( "1.0" ), "scope", "type",
+ "classifier", null );
+ processor = "processor";
+ problem = "problem";
+ reason = "reason";
+ }
+
+ protected void tearDown()
+ throws Exception
+ {
+ release( database );
+
+ super.tearDown();
+ }
+
+ public void testAddNoticeArtifactStringStringString()
+ {
+ database.addNotice( artifact, processor, problem, reason );
+ ArtifactResults artifactResults = database.getArtifactResults( artifact );
+
+ assertEquals( 1, database.getNumNotices() );
+ assertEquals( 1, artifactResults.getNotices().size() );
+
+ database.addNotice( artifact, processor, problem, reason );
+ artifactResults = database.getArtifactResults( artifact );
+
+ assertEquals( 1, database.getNumNotices() );
+ assertEquals( 1, artifactResults.getNotices().size() );
+ }
+
+ public void testAddWarningArtifactStringStringString()
+ {
+ database.addWarning( artifact, processor, problem, reason );
+ ArtifactResults artifactResults = database.getArtifactResults( artifact );
+
+ assertEquals( 1, database.getNumWarnings() );
+ assertEquals( 1, artifactResults.getWarnings().size() );
+
+ database.addWarning( artifact, processor, problem, reason );
+ artifactResults = database.getArtifactResults( artifact );
+
+ assertEquals( 1, database.getNumWarnings() );
+ assertEquals( 1, artifactResults.getWarnings().size() );
+ }
+
+ public void testAddFailureArtifactStringStringString()
+ {
+ database.addFailure( artifact, processor, problem, reason );
+ ArtifactResults artifactResults = database.getArtifactResults( artifact );
+
+ assertEquals( 1, database.getNumFailures() );
+ assertEquals( 1, artifactResults.getFailures().size() );
+
+ database.addFailure( artifact, processor, problem, reason );
+ artifactResults = database.getArtifactResults( artifact );
+
+ assertEquals( 1, database.getNumFailures() );
+ assertEquals( 1, artifactResults.getFailures().size() );
+ }
+}
Propchange: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabaseTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabaseTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabaseTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabaseTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabaseTest.java?view=auto&rev=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabaseTest.java (added)
+++ maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabaseTest.java Wed Feb 14 06:44:59 2007
@@ -0,0 +1,113 @@
+package org.apache.maven.archiva.reporting.database;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.archiva.reporting.AbstractRepositoryReportsTestCase;
+import org.apache.maven.archiva.reporting.model.MetadataResults;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
+import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
+import org.apache.maven.artifact.versioning.VersionRange;
+
+/**
+ * MetadataResultsDatabaseTest
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class MetadataResultsDatabaseTest
+ extends AbstractRepositoryReportsTestCase
+{
+ private MetadataResultsDatabase database;
+
+ private RepositoryMetadata metadata;
+
+ private String processor, problem, reason;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ database = (MetadataResultsDatabase) lookup( MetadataResultsDatabase.ROLE );
+
+ Artifact artifact = new DefaultArtifact( "group", "artifact", VersionRange.createFromVersion( "1.0" ), "scope",
+ "type", "classifier", null );
+ metadata = new ArtifactRepositoryMetadata( artifact );
+
+ processor = "processor";
+ problem = "problem";
+ reason = "reason";
+ }
+
+ protected void tearDown()
+ throws Exception
+ {
+ release( database );
+
+ super.tearDown();
+ }
+
+ public void testAddNoticeRepositoryMetadataStringStringString()
+ {
+ database.addNotice( metadata, processor, problem, reason );
+ MetadataResults metadataResults = database.getMetadataResults( metadata );
+
+ assertEquals( 1, database.getNumNotices() );
+ assertEquals( 1, metadataResults.getNotices().size() );
+
+ database.addNotice( metadata, processor, problem, reason );
+ metadataResults = database.getMetadataResults( metadata );
+
+ assertEquals( 1, database.getNumNotices() );
+ assertEquals( 1, metadataResults.getNotices().size() );
+ }
+
+ public void testAddWarningRepositoryMetadataStringStringString()
+ {
+ database.addWarning( metadata, processor, problem, reason );
+ MetadataResults metadataResults = database.getMetadataResults( metadata );
+
+ assertEquals( 1, database.getNumWarnings() );
+ assertEquals( 1, metadataResults.getWarnings().size() );
+
+ database.addWarning( metadata, processor, problem, reason );
+ metadataResults = database.getMetadataResults( metadata );
+
+ assertEquals( 1, database.getNumWarnings() );
+ assertEquals( 1, metadataResults.getWarnings().size() );
+ }
+
+ public void testAddFailureRepositoryMetadataStringStringString()
+ {
+ database.addFailure( metadata, processor, problem, reason );
+ MetadataResults metadataResults = database.getMetadataResults( metadata );
+
+ assertEquals( 1, database.getNumFailures() );
+ assertEquals( 1, metadataResults.getFailures().size() );
+
+ database.addFailure( metadata, processor, problem, reason );
+ metadataResults = database.getMetadataResults( metadata );
+
+ assertEquals( 1, database.getNumFailures() );
+ assertEquals( 1, metadataResults.getFailures().size() );
+ }
+}
Propchange: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabaseTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabaseTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange: maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabaseTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain