Author: brett
Date: Wed Dec 16 00:38:50 2009
New Revision: 891084
URL: http://svn.apache.org/viewvc?rev=891084&view=rev
Log:
[MRM-1301] add back problem reporting for invalid / missing POM
Added:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
- copied, changed from r890962,
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/pom.xml
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/resources/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.xml
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java
archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemFacet.java
archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java
archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
Wed Dec 16 00:38:50 2009
@@ -161,13 +161,14 @@
project.setNamespace( artifact.getGroupId() );
project.setId( artifact.getArtifactId() );
+ String projectVersion = VersionUtil.getBaseVersion(
artifact.getVersion() );
// TODO: maybe not too efficient since it may have already been read
and stored for this artifact
ProjectVersionMetadata versionMetadata;
try
{
versionMetadata =
storageResolver.getProjectVersion( repository.getId(),
artifact.getGroupId(), artifact.getArtifactId(),
- VersionUtil.getBaseVersion(
artifact.getVersion() ) );
+ projectVersion );
}
catch ( MetadataResolverException e )
{
@@ -176,7 +177,9 @@
if ( versionMetadata == null )
{
- throw new ConsumerException( "Unable to read metadata for
artifact: " + artifact );
+ log.warn( "Missing POM for artifact: " + artifact + "; creating
empty metadata" );
+ versionMetadata = new ProjectVersionMetadata();
+ versionMetadata.setId( projectVersion );
}
ArtifactMetadata artifactMeta = new ArtifactMetadata();
@@ -209,8 +212,8 @@
// TODO: transaction
// read the metadata and update it if it is newer or doesn't exist
- metadataRepository.updateArtifact( repository.getId(),
project.getNamespace(), project.getId(),
- versionMetadata.getId(),
artifactMeta );
+ metadataRepository.updateArtifact( repository.getId(),
project.getNamespace(), project.getId(), projectVersion,
+ artifactMeta );
metadataRepository.updateProjectVersion( repository.getId(),
project.getNamespace(), project.getId(),
versionMetadata );
metadataRepository.updateProject( repository.getId(), project );
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
Wed Dec 16 00:38:50 2009
@@ -116,7 +116,7 @@
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
- public void addMetadataFacet( String repositoryId, String facetId,
MetadataFacet metadataFacet )
+ public void addMetadataFacet( String repositoryId, MetadataFacet
metadataFacet )
{
//To change body of implemented methods use File | Settings | File
Templates.
}
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
Wed Dec 16 00:38:50 2009
@@ -156,7 +156,7 @@
throw new UnsupportedOperationException();
}
- public void addMetadataFacet( String repositoryId, String facetId,
MetadataFacet metadataFacet )
+ public void addMetadataFacet( String repositoryId, MetadataFacet
metadataFacet )
{
throw new UnsupportedOperationException();
}
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
Wed Dec 16 00:38:50 2009
@@ -116,7 +116,7 @@
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
- public void addMetadataFacet( String repositoryId, String facetId,
MetadataFacet metadataFacet )
+ public void addMetadataFacet( String repositoryId, MetadataFacet
metadataFacet )
{
//To change body of implemented methods use File | Settings | File
Templates.
}
Modified:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
Wed Dec 16 00:38:50 2009
@@ -51,11 +51,11 @@
void updateNamespace( String repoId, String namespace );
- List<String> getMetadataFacets( String repodId, String facetId );
+ List<String> getMetadataFacets( String repoId, String facetId );
MetadataFacet getMetadataFacet( String repositoryId, String facetId,
String name );
- void addMetadataFacet( String repositoryId, String facetId, MetadataFacet
metadataFacet );
+ void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet );
void removeMetadataFacets( String repositoryId, String facetId );
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/pom.xml?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/pom.xml
(original)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/pom.xml
Wed Dec 16 00:38:50 2009
@@ -30,6 +30,10 @@
<dependencies>
<dependency>
<groupId>org.apache.archiva</groupId>
+ <artifactId>problem-reports</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
<artifactId>metadata-model</artifactId>
</dependency>
<dependency>
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
Wed Dec 16 00:38:50 2009
@@ -35,11 +35,13 @@
import org.apache.archiva.metadata.model.ProjectMetadata;
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.model.ProjectVersionReference;
+import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataResolverException;
import org.apache.archiva.metadata.repository.filter.AllFilter;
import org.apache.archiva.metadata.repository.filter.Filter;
import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
+import org.apache.archiva.reports.RepositoryProblemFacet;
import org.apache.maven.archiva.common.utils.VersionUtil;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
@@ -80,6 +82,11 @@
*/
private RepositoryPathTranslator pathTranslator;
+ /**
+ * @plexus.requirement
+ */
+ private MetadataRepository metadataRepository;
+
private final static Logger log = LoggerFactory.getLogger(
Maven2RepositoryMetadataResolver.class );
private static final String METADATA_FILENAME = "maven-metadata.xml";
@@ -127,11 +134,22 @@
}
}
- File file = pathTranslator.toFile( basedir, namespace, projectId,
projectVersion,
- projectId + "-" + artifactVersion +
".pom" );
+ String id = projectId + "-" + artifactVersion + ".pom";
+ File file = pathTranslator.toFile( basedir, namespace, projectId,
projectVersion, id );
if ( !file.exists() )
{
+ // TODO: an event mechanism would remove coupling to the problem
reporting plugin
+ RepositoryProblemFacet problem = new RepositoryProblemFacet();
+ problem.setProblem( "missing-pom" );
+ problem.setMessage( "The artifact's POM file '" + file + "' was
missing" );
+ problem.setProject( projectId );
+ problem.setNamespace( namespace );
+ problem.setRepositoryId( repoId );
+ problem.setVersion( projectVersion );
+
+ metadataRepository.addMetadataFacet( repoId, problem );
+
// metadata could not be resolved
return null;
}
@@ -149,8 +167,19 @@
}
catch ( ModelBuildingException e )
{
- throw new MetadataResolverException( "Unable to build Maven POM to
derive metadata from: " + e.getMessage(),
- e );
+ // TODO: an event mechanism would remove coupling to the problem
reporting plugin
+ RepositoryProblemFacet problem = new RepositoryProblemFacet();
+ problem.setProblem( "invalid-pom" );
+ problem.setMessage( "The artifact's POM file '" + file + "' was
invalid: " + e.getMessage() );
+ problem.setProject( projectId );
+ problem.setNamespace( namespace );
+ problem.setRepositoryId( repoId );
+ problem.setVersion( projectVersion );
+
+ metadataRepository.addMetadataFacet( repoId, problem );
+
+ // metadata could not be resolved
+ return null;
}
ProjectVersionMetadata metadata = new ProjectVersionMetadata();
@@ -531,6 +560,11 @@
return metadata;
}
+ public void setConfiguration( ArchivaConfiguration configuration )
+ {
+ this.archivaConfiguration = configuration;
+ }
+
private static class DirectoryFilter
implements FilenameFilter
{
Copied:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
(from r890962,
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java)
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java?p2=archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java&p1=archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java&r1=890962&r2=891084&rev=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
Wed Dec 16 00:38:50 2009
@@ -1,12 +1,5 @@
package org.apache.archiva.metadata.repository;
-import java.util.Collection;
-
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -26,57 +19,89 @@
* under the License.
*/
-public class TestMetadataResolver
- implements MetadataResolver
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.model.MetadataFacet;
+import org.apache.archiva.metadata.model.ProjectMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionReference;
+
+public class TestMetadataRepository
+ extends TestMetadataResolver
+ implements MetadataRepository
{
- public ProjectMetadata getProject( String repoId, String namespace, String
projectId )
+ private Map<String, MetadataFacet> facets = new HashMap<String,
MetadataFacet>();
+
+ public void updateProject( String repoId, ProjectMetadata project )
{
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ //To change body of implemented methods use File | Settings | File
Templates.
}
- public ProjectVersionMetadata getProjectVersion( String repoId, String
namespace, String projectId,
- String projectVersion )
- throws MetadataResolverException
+ public void updateArtifact( String repoId, String namespace, String
projectId, String projectVersion,
+ ArtifactMetadata artifactMeta )
{
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ //To change body of implemented methods use File | Settings | File
Templates.
}
- public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId,
- String projectVersion )
+ public void updateProjectVersion( String repoId, String namespace, String
projectId, ProjectVersionMetadata versionMetadata )
{
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ //To change body of implemented methods use File | Settings | File
Templates.
}
- public Collection<ProjectVersionReference> getProjectReferences( String
repoId, String namespace, String projectId,
- String
projectVersion )
+ public void updateProjectReference( String repoId, String namespace,
String projectId, String projectVersion,
+ ProjectVersionReference reference )
{
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ //To change body of implemented methods use File | Settings | File
Templates.
}
- public Collection<String> getRootNamespaces( String repoId )
+ public void updateNamespace( String repoId, String namespace )
{
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ //To change body of implemented methods use File | Settings | File
Templates.
}
- public Collection<String> getNamespaces( String repoId, String namespace )
+ public List<String> getMetadataFacets( String repoId, String facetId )
{
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return new ArrayList<String>( facets.keySet() );
+ }
+
+ public MetadataFacet getMetadataFacet( String repositoryId, String
facetId, String name )
+ {
+ return facets.get( name );
+ }
+
+ public void addMetadataFacet( String repositoryId, MetadataFacet
metadataFacet )
+ {
+ facets.put( metadataFacet.getName(), metadataFacet );
+ }
+
+ public void removeMetadataFacets( String repositoryId, String facetId )
+ {
+ facets.clear();
+ }
+
+ public void removeMetadataFacet( String repoId, String facetId, String
name )
+ {
+ //To change body of implemented methods use File | Settings | File
Templates.
}
- public Collection<String> getProjects( String repoId, String namespace )
+ public List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date
startTime, Date endTime )
{
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
- public Collection<String> getProjectVersions( String repoId, String
namespace, String projectId )
- throws MetadataResolverException
+ public Collection<String> getRepositories()
{
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
- public Collection<ArtifactMetadata> getArtifacts( String repoId, String
namespace, String projectId,
- String projectVersion )
+ public List<ArtifactMetadata> getArtifactsByChecksum( String repoId,
String checksum )
{
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
-}
+}
\ No newline at end of file
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java
Wed Dec 16 00:38:50 2009
@@ -1,12 +1,5 @@
package org.apache.archiva.metadata.repository;
-import java.util.Collection;
-
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -26,6 +19,13 @@
* under the License.
*/
+import java.util.Collection;
+
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.model.ProjectMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionReference;
+
public class TestMetadataResolver
implements MetadataResolver
{
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
Wed Dec 16 00:38:50 2009
@@ -30,9 +30,11 @@
import org.apache.archiva.metadata.model.License;
import org.apache.archiva.metadata.model.MailingList;
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
+import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataResolverException;
import org.apache.archiva.metadata.repository.filter.ExcludesFilter;
import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
+import org.apache.archiva.reports.RepositoryProblemFacet;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
@@ -55,6 +57,8 @@
private static final String EMPTY_SHA1 =
"da39a3ee5e6b4b0d3255bfef95601890afd80709";
+ private MetadataRepository metadataRepository;
+
public void setUp()
throws Exception
{
@@ -69,6 +73,8 @@
configuration.save( c );
resolver = (Maven2RepositoryMetadataResolver) lookup(
StorageMetadataResolver.class, "maven2" );
+ metadataRepository = (MetadataRepository) lookup(
MetadataRepository.class );
+ metadataRepository.removeMetadataFacets( TEST_REPO_ID,
RepositoryProblemFacet.FACET_ID );
}
public void testGetProjectVersionMetadata()
@@ -204,27 +210,36 @@
}
public void testGetProjectVersionMetadataForInvalidPom()
+ throws MetadataResolverException
{
- try
- {
- ProjectVersionMetadata metadata =
- resolver.getProjectVersion( TEST_REPO_ID, "com.example.test",
"invalid-pom", "1.0" );
+ assertTrue( metadataRepository.getMetadataFacets( TEST_REPO_ID,
RepositoryProblemFacet.FACET_ID ).isEmpty() );
- fail( "Expected failure, but received metadata: " + metadata );
- }
- catch ( MetadataResolverException e )
- {
- assertTrue( true );
- }
+ ProjectVersionMetadata metadata =
+ resolver.getProjectVersion( TEST_REPO_ID, "com.example.test",
"invalid-pom", "1.0" );
+ assertNull( metadata );
+
+ assertFalse( metadataRepository.getMetadataFacets( TEST_REPO_ID,
RepositoryProblemFacet.FACET_ID ).isEmpty() );
+ RepositoryProblemFacet facet =
+ (RepositoryProblemFacet) metadataRepository.getMetadataFacet(
TEST_REPO_ID, RepositoryProblemFacet.FACET_ID,
+
"com.example.test/invalid-pom/1.0" );
+ assertEquals( "invalid-pom", facet.getProblem() );
}
public void testGetProjectVersionMetadataForMissingPom()
throws MetadataResolverException
{
+ assertTrue( metadataRepository.getMetadataFacets( TEST_REPO_ID,
RepositoryProblemFacet.FACET_ID ).isEmpty() );
+
ProjectVersionMetadata metadata =
resolver.getProjectVersion( TEST_REPO_ID, "com.example.test",
"missing-pom", "1.0" );
assertNull( metadata );
+ assertFalse( metadataRepository.getMetadataFacets( TEST_REPO_ID,
RepositoryProblemFacet.FACET_ID ).isEmpty() );
+ RepositoryProblemFacet facet =
+ (RepositoryProblemFacet) metadataRepository.getMetadataFacet(
TEST_REPO_ID, RepositoryProblemFacet.FACET_ID,
+
"com.example.test/missing-pom/1.0" );
+ assertEquals( "missing-pom", facet.getProblem() );
+
}
public void testGetRootNamespaces()
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/resources/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/resources/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.xml?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/resources/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.xml
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/resources/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.xml
Wed Dec 16 00:38:50 2009
@@ -23,5 +23,9 @@
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role>
<implementation>org.apache.archiva.configuration.TestConfiguration</implementation>
</component>
+ <component>
+ <role>org.apache.archiva.metadata.repository.MetadataRepository</role>
+
<implementation>org.apache.archiva.metadata.repository.TestMetadataRepository</implementation>
+ </component>
</components>
</component-set>
\ No newline at end of file
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
Wed Dec 16 00:38:50 2009
@@ -303,16 +303,16 @@
return metadataFacet;
}
- public void addMetadataFacet( String repositoryId, String facetId,
MetadataFacet metadataFacet )
+ public void addMetadataFacet( String repositoryId, MetadataFacet
metadataFacet )
{
Properties properties = new Properties();
properties.putAll( metadataFacet.toProperties() );
try
{
- writeProperties( properties,
- new File( getMetadataDirectory( repositoryId,
facetId ), metadataFacet.getName() ),
- METADATA_KEY );
+ File directory =
+ new File( getMetadataDirectory( repositoryId,
metadataFacet.getFacetId() ), metadataFacet.getName() );
+ writeProperties( properties, directory, METADATA_KEY );
}
catch ( IOException e )
{
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java
Wed Dec 16 00:38:50 2009
@@ -125,7 +125,7 @@
public void testGetMetadataFacet()
{
- repository.addMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, new
TestMetadataFacet( TEST_VALUE ) );
+ repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet(
TEST_VALUE ) );
assertEquals( new TestMetadataFacet( TEST_VALUE ),
repository.getMetadataFacet( TEST_REPO_ID,
TEST_FACET_ID, TEST_NAME ) );
@@ -138,14 +138,14 @@
public void testGetMetadataFacetWhenUnknownName()
{
- repository.addMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, new
TestMetadataFacet( TEST_VALUE ) );
+ repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet(
TEST_VALUE ) );
assertNull( repository.getMetadataFacet( TEST_REPO_ID, TEST_FACET_ID,
UNKNOWN ) );
}
public void testGetMetadataFacetWhenDefaultValue()
{
- repository.addMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, new
TestMetadataFacet( null ) );
+ repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet( null
) );
assertEquals( new TestMetadataFacet( "test-metadata" ),
repository.getMetadataFacet( TEST_REPO_ID,
TEST_FACET_ID, TEST_NAME ) );
@@ -153,14 +153,12 @@
public void testGetMetadataFacetWhenUnknownFacetId()
{
- repository.addMetadataFacet( TEST_REPO_ID, UNKNOWN, new
TestMetadataFacet( TEST_VALUE ) );
-
assertNull( repository.getMetadataFacet( TEST_REPO_ID, UNKNOWN,
TEST_NAME ) );
}
public void testGetMetadataFacets()
{
- repository.addMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, new
TestMetadataFacet( TEST_VALUE ) );
+ repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet(
TEST_VALUE ) );
assertEquals( Collections.singletonList( TEST_NAME ),
repository.getMetadataFacets( TEST_REPO_ID,
TEST_FACET_ID ) );
@@ -174,7 +172,7 @@
public void testRemoveFacets()
{
- repository.addMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, new
TestMetadataFacet( TEST_VALUE ) );
+ repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet(
TEST_VALUE ) );
List<String> facets = repository.getMetadataFacets( TEST_REPO_ID,
TEST_FACET_ID );
assertFalse( facets.isEmpty() );
@@ -204,7 +202,7 @@
public void testRemoveFacet()
{
TestMetadataFacet metadataFacet = new TestMetadataFacet( TEST_VALUE );
- repository.addMetadataFacet( TEST_REPO_ID, TEST_FACET_ID,
metadataFacet );
+ repository.addMetadataFacet( TEST_REPO_ID, metadataFacet );
assertEquals( metadataFacet, repository.getMetadataFacet(
TEST_REPO_ID, TEST_FACET_ID, TEST_NAME ) );
List<String> facets = repository.getMetadataFacets( TEST_REPO_ID,
TEST_FACET_ID );
@@ -280,8 +278,8 @@
public void testRepositories()
{
- repository.addMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, new
TestMetadataFacet( TEST_VALUE ) );
- repository.addMetadataFacet( OTHER_REPO, TEST_FACET_ID, new
TestMetadataFacet( TEST_VALUE ) );
+ repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet(
TEST_VALUE ) );
+ repository.addMetadataFacet( OTHER_REPO, new TestMetadataFacet(
TEST_VALUE ) );
assertEquals( Arrays.asList( OTHER_REPO, TEST_REPO_ID ),
repository.getRepositories() );
}
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemFacet.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemFacet.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemFacet.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemFacet.java
Wed Dec 16 00:38:50 2009
@@ -60,7 +60,10 @@
map.put( "namespace", namespace );
map.put( "project", project );
map.put( "version", version );
- map.put( "id", id );
+ if ( id != null )
+ {
+ map.put( "id", id );
+ }
map.put( "message", message );
map.put( "problem", problem );
return map;
@@ -147,8 +150,13 @@
return problem;
}
- static String createName( String namespace, String project, String
projectVersion, String id )
+ public static String createName( String namespace, String project, String
projectVersion, String id )
{
- return namespace + "/" + project + "/" + projectVersion + "/" + id;
+ String name = namespace + "/" + project + "/" + projectVersion;
+ if ( id != null )
+ {
+ name = name + "/" + id;
+ }
+ return name;
}
}
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
Wed Dec 16 00:38:50 2009
@@ -209,7 +209,7 @@
"/" + dupArtifact.getProject() + "/" +
dupArtifact.getVersion() + "/" + dupArtifact.getId() );
problem.setProblem( "duplicate-artifact" );
- metadataRepository.addMetadataFacet( repoId,
RepositoryProblemFacet.FACET_ID, problem );
+ metadataRepository.addMetadataFacet( repoId, problem );
}
}
}
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java
Wed Dec 16 00:38:50 2009
@@ -77,7 +77,7 @@
// populate total project count from content repository
// repositoryStatistics.setTotalProjectCount( );
- metadataRepository.addMetadataFacet( repositoryId,
RepositoryStatistics.FACET_ID, repositoryStatistics );
+ metadataRepository.addMetadataFacet( repositoryId,
repositoryStatistics );
}
public void deleteStatistics( String repositoryId )
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java?rev=891084&r1=891083&r2=891084&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java
Wed Dec 16 00:38:50 2009
@@ -120,7 +120,7 @@
RepositoryStatistics stats = createTestStats( startTime, current );
- metadataRepository.addMetadataFacet( TEST_REPO_ID,
RepositoryStatistics.FACET_ID, stats );
+ metadataRepository.addMetadataFacet( TEST_REPO_ID, stats );
metadataRepositoryControl.expectAndReturn(
metadataRepository.getMetadataFacets( TEST_REPO_ID,
RepositoryStatistics.FACET_ID ),
Arrays.asList( stats.getName() ) );
@@ -152,11 +152,11 @@
Date startTime1 = new Date( current.getTime() - 12345 );
RepositoryStatistics stats1 = createTestStats( startTime1, new Date(
current.getTime() - 6000 ) );
- metadataRepository.addMetadataFacet( TEST_REPO_ID,
RepositoryStatistics.FACET_ID, stats1 );
+ metadataRepository.addMetadataFacet( TEST_REPO_ID, stats1 );
Date startTime2 = new Date( current.getTime() - 3000 );
RepositoryStatistics stats2 = createTestStats( startTime2, current );
- metadataRepository.addMetadataFacet( TEST_REPO_ID,
RepositoryStatistics.FACET_ID, stats2 );
+ metadataRepository.addMetadataFacet( TEST_REPO_ID, stats2 );
metadataRepositoryControl.expectAndReturn(
metadataRepository.getMetadataFacets( TEST_REPO_ID,
RepositoryStatistics.FACET_ID ),
@@ -391,7 +391,7 @@
private void addStats( Date startTime, Date endTime )
{
RepositoryStatistics stats = createTestStats( startTime, endTime );
- metadataRepository.addMetadataFacet( TEST_REPO_ID,
RepositoryStatistics.FACET_ID, stats );
+ metadataRepository.addMetadataFacet( TEST_REPO_ID, stats );
statsCreated.put( stats.getName(), stats );
}