Author: brett
Date: Thu Dec 24 04:20:41 2009
New Revision: 893692

URL: http://svn.apache.org/viewvc?rev=893692&view=rev
Log:
[MRM-1301] remove any problem reports when metadata is re-processed

Modified:
    
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java

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=893692&r1=893691&r2=893692&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
 Thu Dec 24 04:20:41 2009
@@ -95,6 +95,15 @@
 
     private static final Filter<String> ALL = new AllFilter<String>();
 
+    private static final String PROBLEM_MISSING_POM = "missing-pom";
+
+    private static final String PROBLEM_INVALID_POM = "invalid-pom";
+
+    private static final String PROBLEM_MISLOCATED_POM = "mislocated-pom";
+
+    private static final List<String> POTENTIAL_PROBLEMS =
+        Arrays.asList( PROBLEM_INVALID_POM, PROBLEM_MISSING_POM, 
PROBLEM_MISLOCATED_POM );
+
     public ProjectMetadata getProject( String repoId, String namespace, String 
projectId )
     {
         // TODO: could natively implement the "shared model" concept from the 
browse action to avoid needing it there?
@@ -105,6 +114,11 @@
                                                      String projectVersion )
         throws MetadataResolutionException
     {
+        // TODO: an event mechanism would remove coupling to the problem 
reporting plugin
+        // TODO: this removes all problems - do we need something that just 
removes the problems created by this resolver?
+        String name = RepositoryProblemFacet.createName( namespace, projectId, 
projectVersion, null );
+        metadataRepository.removeMetadataFacet( repoId, 
RepositoryProblemFacet.FACET_ID, name );
+
         ManagedRepositoryConfiguration repositoryConfiguration =
             archivaConfiguration.getConfiguration().findManagedRepositoryById( 
repoId );
 
@@ -142,7 +156,7 @@
         if ( !file.exists() )
         {
             // TODO: an event mechanism would remove coupling to the problem 
reporting plugin
-            addProblemReport( repoId, namespace, projectId, projectVersion, 
"missing-pom",
+            addProblemReport( repoId, namespace, projectId, projectVersion, 
PROBLEM_MISSING_POM,
                               "The artifact's POM file '" + file + "' was 
missing" );
 
             // metadata could not be resolved
@@ -162,7 +176,7 @@
         }
         catch ( ModelBuildingException e )
         {
-            addProblemReport( repoId, namespace, projectId, projectVersion, 
"invalid-pom",
+            addProblemReport( repoId, namespace, projectId, projectVersion, 
PROBLEM_INVALID_POM,
                               "The artifact's POM file '" + file + "' was 
invalid: " + e.getMessage() );
 
             throw new MetadataResolutionException( e.getMessage() );
@@ -189,7 +203,7 @@
             }
 
             String msg = message.toString();
-            addProblemReport( repoId, namespace, projectId, projectVersion, 
"mislocated-pom", msg );
+            addProblemReport( repoId, namespace, projectId, projectVersion, 
PROBLEM_MISLOCATED_POM, msg );
 
             throw new MetadataResolutionException( msg );
         }


Reply via email to