From 34638d4e678a6a005be1072aacbecd8b3cd2af0f Mon Sep 17 00:00:00 2001 From: Brett Porter Date: Wed, 22 Dec 2010 10:20:14 +0000 Subject: [PATCH] clean up the "TODO" list, and mark those that are more important as "FIXME" git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1051810 13f79535-47bb-0310-9956-ffa450edef68 --- .../repository/AbstractRepositoryPurge.java | 35 ++++++------ ...eanupReleasedSnapshotsRepositoryPurge.java | 55 ++++++++++--------- .../ArchivaMetadataCreationConsumer.java | 7 ++- .../IndexingArchivaTaskScheduler.java | 5 +- ...ivaRepositoryScanningTaskExecutorTest.java | 8 +-- .../security/UserRepositoriesStub.java | 16 ++---- .../archiva/web/rss/SecuritySystemStub.java | 24 +++----- .../repository/DefaultMetadataResolver.java | 5 +- .../repository/storage/RepositoryStorage.java | 3 +- .../maven2/MavenRepositoryMetadataReader.java | 8 +-- .../plugins/metadata-repository-file/pom.xml | 4 +- .../plugins/metadata-store-jcr/pom.xml | 2 +- .../repository/jcr/JcrMetadataRepository.java | 21 ++++--- .../consumers/DuplicateArtifactsConsumer.java | 4 +- 14 files changed, 95 insertions(+), 102 deletions(-) diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java index 1bd3f95f1..7f0abf5ce 100644 --- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java +++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java @@ -33,7 +33,6 @@ import java.util.Set; /** * Base class for all repository purge tasks. - * */ public abstract class AbstractRepositoryPurge implements RepositoryPurge @@ -41,11 +40,11 @@ public abstract class AbstractRepositoryPurge protected Logger log = LoggerFactory.getLogger( AbstractRepositoryPurge.class ); protected final ManagedRepositoryContent repository; - - protected final List listeners; - + + protected final List listeners; + private Logger logger = LoggerFactory.getLogger( "org.apache.archiva.AuditLog" ); - + private static final char DELIM = ' '; public AbstractRepositoryPurge( ManagedRepositoryContent repository, List listeners ) @@ -56,27 +55,28 @@ public abstract class AbstractRepositoryPurge /** * Purge the repo. Update db and index of removed artifacts. - * + * * @param references */ protected void purge( Set references ) - { - if( references != null && !references.isEmpty() ) + { + if ( references != null && !references.isEmpty() ) { for ( ArtifactReference reference : references ) - { + { File artifactFile = repository.toFile( reference ); - // TODO: looks incomplete, might not delete related metadata? + // FIXME: looks incomplete, might not delete related metadata? for ( RepositoryListener listener : listeners ) { listener.deleteArtifact( repository.getId(), reference.getGroupId(), reference.getArtifactId(), reference.getVersion(), artifactFile.getName() ); } - + // TODO: this needs to be logged artifactFile.delete(); - triggerAuditEvent( repository.getRepository().getId(), ArtifactReference.toKey( reference ), AuditEvent.PURGE_ARTIFACT ); + triggerAuditEvent( repository.getRepository().getId(), ArtifactReference.toKey( reference ), + AuditEvent.PURGE_ARTIFACT ); purgeSupportFiles( artifactFile ); } } @@ -89,7 +89,7 @@ public abstract class AbstractRepositoryPurge *

* Support Files are things like ".sha1", ".md5", ".asc", etc. *

- * + * * @param artifactFile the file to base off of. */ private void purgeSupportFiles( File artifactFile ) @@ -116,12 +116,13 @@ public abstract class AbstractRepositoryPurge } } } - + private void triggerAuditEvent( String repoId, String resource, String action ) { - String msg = repoId + DELIM + "" + DELIM + "" + DELIM + '\"' + resource + '\"' + - DELIM + '\"' + action + '\"'; - + String msg = + repoId + DELIM + "" + DELIM + "" + DELIM + '\"' + resource + '\"' + DELIM + '\"' + + action + '\"'; + logger.info( msg ); } } diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java index 2865e9419..e6f218ff6 100644 --- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java +++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java @@ -48,7 +48,7 @@ import java.util.List; * This will look in a single managed repository, and purge any snapshots that are present * that have a corresponding released version on the same repository. *

- * + * *

* So, if you have the following (presented in the m2/default layout form) ... *

@@ -71,9 +71,9 @@ public class CleanupReleasedSnapshotsRepositoryPurge
     extends AbstractRepositoryPurge
 {
     private MetadataTools metadataTools;
-    
+
     private ArchivaConfiguration archivaConfig;
-    
+
     private RepositoryContentFactory repoContentFactory;
 
     public CleanupReleasedSnapshotsRepositoryPurge( ManagedRepositoryContent repository, MetadataTools metadataTools,
@@ -111,25 +111,26 @@ public class CleanupReleasedSnapshotsRepositoryPurge
             ProjectReference reference = new ProjectReference();
             reference.setGroupId( artifactRef.getGroupId() );
             reference.setArtifactId( artifactRef.getArtifactId() );
-            
+
             // Gather up all of the versions.
             List allVersions = new ArrayList( repository.getVersions( reference ) );
 
             List repos = archivaConfig.getConfiguration().getManagedRepositories();
-            for( ManagedRepositoryConfiguration repo : repos )
-            {   
-                if( repo.isReleases() && !repo.getId().equals( repository.getId() ) )
-                {   
+            for ( ManagedRepositoryConfiguration repo : repos )
+            {
+                if ( repo.isReleases() && !repo.getId().equals( repository.getId() ) )
+                {
                     try
-                    {   
-                        ManagedRepositoryContent repoContent = repoContentFactory.getManagedRepositoryContent( repo.getId() );                        
+                    {
+                        ManagedRepositoryContent repoContent = repoContentFactory.getManagedRepositoryContent(
+                            repo.getId() );
                         allVersions.addAll( repoContent.getVersions( reference ) );
                     }
-                    catch( RepositoryNotFoundException  e )
+                    catch ( RepositoryNotFoundException e )
                     {
                         // swallow
                     }
-                    catch( RepositoryException  e )
+                    catch ( RepositoryException e )
                     {
                         // swallow
                     }
@@ -141,7 +142,7 @@ public class CleanupReleasedSnapshotsRepositoryPurge
             List snapshotVersions = new ArrayList();
 
             for ( String version : allVersions )
-            {   
+            {
                 if ( VersionUtil.isSnapshot( version ) )
                 {
                     snapshotVersions.add( version );
@@ -155,36 +156,36 @@ public class CleanupReleasedSnapshotsRepositoryPurge
             Collections.sort( allVersions, VersionComparator.getInstance() );
             Collections.sort( releasedVersions, VersionComparator.getInstance() );
             Collections.sort( snapshotVersions, VersionComparator.getInstance() );
-            
+
             // Now clean out any version that is earlier than the highest released version.
             boolean needsMetadataUpdate = false;
 
             VersionedReference versionRef = new VersionedReference();
             versionRef.setGroupId( artifactRef.getGroupId() );
             versionRef.setArtifactId( artifactRef.getArtifactId() );
-            
-            ArchivaArtifact artifact =
-                new ArchivaArtifact( artifactRef.getGroupId(), artifactRef.getArtifactId(), artifactRef.getVersion(),
-                                     artifactRef.getClassifier(), artifactRef.getType(), repository.getId() );
-            
+
+            ArchivaArtifact artifact = new ArchivaArtifact( artifactRef.getGroupId(), artifactRef.getArtifactId(),
+                                                            artifactRef.getVersion(), artifactRef.getClassifier(),
+                                                            artifactRef.getType(), repository.getId() );
+
             for ( String version : snapshotVersions )
-            {   
-                if( releasedVersions.contains( VersionUtil.getReleaseVersion( version ) ) )
-                {                    
+            {
+                if ( releasedVersions.contains( VersionUtil.getReleaseVersion( version ) ) )
+                {
                     versionRef.setVersion( version );
                     repository.deleteVersion( versionRef );
-                    
-                    // TODO: looks incomplete, might not delete related metadata?
+
+                    // FIXME: looks incomplete, might not delete related metadata?
                     for ( RepositoryListener listener : listeners )
                     {
                         listener.deleteArtifact( repository.getId(), artifact.getGroupId(), artifact.getArtifactId(),
                                                  artifact.getVersion(), artifactFile.getName() );
                     }
-                    
+
                     needsMetadataUpdate = true;
                 }
-            }           
-                        
+            }
+
             if ( needsMetadataUpdate )
             {
                 updateMetadata( artifactRef );
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java b/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
index 3d367b422..8948f0f64 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
@@ -86,7 +86,8 @@ public class ArchivaMetadataCreationConsumer
     private MetadataRepository metadataRepository;
 
     /**
-     * FIXME: this needs to be configurable based on storage type
+     * FIXME: this needs to be configurable based on storage type - and could also be instantiated per repo. Change to a
+     * factory.
      *
      * @plexus.requirement role-hint="maven2"
      */
@@ -148,7 +149,7 @@ public class ArchivaMetadataCreationConsumer
         project.setId( artifact.getProject() );
 
         String projectVersion = VersionUtil.getBaseVersion( artifact.getVersion() );
-        // TODO: maybe not too efficient since it may have already been read and stored for this artifact
+        // FIXME: maybe not too efficient since it may have already been read and stored for this artifact
         ProjectVersionMetadata versionMetadata = null;
         try
         {
@@ -172,7 +173,7 @@ public class ArchivaMetadataCreationConsumer
 
         try
         {
-            // TODO: transaction
+            // FIXME: transaction
             // read the metadata and update it if it is newer or doesn't exist
             artifact.setWhenGathered( whenGathered );
             metadataRepository.updateArtifact( repoId, project.getNamespace(), project.getId(), projectVersion,
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/IndexingArchivaTaskScheduler.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/IndexingArchivaTaskScheduler.java
index d5d92f3b8..a0280ee53 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/IndexingArchivaTaskScheduler.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/IndexingArchivaTaskScheduler.java
@@ -28,15 +28,14 @@ import org.slf4j.LoggerFactory;
 /**
  * Default implementation of a scheduling component for archiva.
  *
- * @todo FIXME - consider just folding in, not really scheduled
- *
+ * @todo TODO - consider just folding in, not really scheduled
  * @plexus.component role="org.apache.archiva.scheduler.ArchivaTaskScheduler" role-hint="indexing"
  */
 public class IndexingArchivaTaskScheduler
     implements ArchivaTaskScheduler
 {
     private Logger log = LoggerFactory.getLogger( IndexingArchivaTaskScheduler.class );
-    
+
     /**
      * @plexus.requirement role-hint="indexing"
      */
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java
index 06b32a85f..c3a44ac2b 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java
@@ -148,7 +148,7 @@ public class ArchivaRepositoryScanningTaskExecutorTest
         RepositoryStatistics newStats = repositoryStatisticsManager.getLastStatistics( TEST_REPO_ID );
         assertEquals( 0, newStats.getNewFileCount() );
         assertEquals( 31, newStats.getTotalFileCount() );
-        // TODO: can't test these as they weren't stored in the database, move to tests for RepositoryStatisticsManager implementation
+        // FIXME: can't test these as they weren't stored in the database, move to tests for RepositoryStatisticsManager implementation
 //        assertEquals( 8, newStats.getTotalArtifactCount() );
 //        assertEquals( 3, newStats.getTotalGroupCount() );
 //        assertEquals( 5, newStats.getTotalProjectCount() );
@@ -179,7 +179,7 @@ public class ArchivaRepositoryScanningTaskExecutorTest
         RepositoryStatistics updatedStats = repositoryStatisticsManager.getLastStatistics( TEST_REPO_ID );
         assertEquals( 2, updatedStats.getNewFileCount() );
         assertEquals( 33, updatedStats.getTotalFileCount() );
-        // TODO: can't test these as they weren't stored in the database, move to tests for RepositoryStatisticsManager implementation
+        // FIXME: can't test these as they weren't stored in the database, move to tests for RepositoryStatisticsManager implementation
 //        assertEquals( 8, newStats.getTotalArtifactCount() );
 //        assertEquals( 3, newStats.getTotalGroupCount() );
 //        assertEquals( 5, newStats.getTotalProjectCount() );
@@ -223,7 +223,7 @@ public class ArchivaRepositoryScanningTaskExecutorTest
         RepositoryStatistics newStats = repositoryStatisticsManager.getLastStatistics( TEST_REPO_ID );
         assertEquals( 2, newStats.getNewFileCount() );
         assertEquals( 33, newStats.getTotalFileCount() );
-        // TODO: can't test these as they weren't stored in the database, move to tests for RepositoryStatisticsManager implementation
+        // FIXME: can't test these as they weren't stored in the database, move to tests for RepositoryStatisticsManager implementation
 //        assertEquals( 8, newStats.getTotalArtifactCount() );
 //        assertEquals( 3, newStats.getTotalGroupCount() );
 //        assertEquals( 5, newStats.getTotalProjectCount() );
@@ -267,7 +267,7 @@ public class ArchivaRepositoryScanningTaskExecutorTest
         RepositoryStatistics newStats = repositoryStatisticsManager.getLastStatistics( TEST_REPO_ID );
         assertEquals( 2, newStats.getNewFileCount() );
         assertEquals( 33, newStats.getTotalFileCount() );
-        // TODO: can't test these as they weren't stored in the database, move to tests for RepositoryStatisticsManager implementation
+        // FIXME: can't test these as they weren't stored in the database, move to tests for RepositoryStatisticsManager implementation
 //        assertEquals( 8, newStats.getTotalArtifactCount() );
 //        assertEquals( 3, newStats.getTotalGroupCount() );
 //        assertEquals( 5, newStats.getTotalProjectCount() );
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java
index c73e2090a..dc7cf00df 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java
+++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/security/UserRepositoriesStub.java
@@ -23,7 +23,7 @@ import java.util.Collections;
 import java.util.List;
 
 /**
- * UserRepositories stub used for testing. 
+ * UserRepositories stub used for testing.
  *
  * @version $Id$
  */
@@ -35,37 +35,33 @@ public class UserRepositoriesStub
     public void createMissingRepositoryRoles( String repoId )
         throws ArchivaSecurityException
     {
-        // TODO Auto-generated method stub
-
     }
 
     public List getObservableRepositoryIds( String principal )
-        throws PrincipalNotFoundException, AccessDeniedException, ArchivaSecurityException
+        throws ArchivaSecurityException
     {
         return repoIds;
     }
 
     public void setObservableRepositoryIds( List repoIds )
     {
-        this.repoIds = repoIds; 
+        this.repoIds = repoIds;
     }
 
     public boolean isAuthorizedToUploadArtifacts( String principal, String repoId )
-        throws PrincipalNotFoundException, ArchivaSecurityException
+        throws ArchivaSecurityException
     {
-        // TODO Auto-generated method stub
         return false;
     }
-    
+
     public boolean isAuthorizedToDeleteArtifacts( String principal, String repoId )
     {
         return false;
     }
 
     public List getManagableRepositoryIds( String principal )
-        throws PrincipalNotFoundException, AccessDeniedException, ArchivaSecurityException
+        throws ArchivaSecurityException
     {
-        // TODO Auto-generated method stub
         return null;
     }
 
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/rss/SecuritySystemStub.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/rss/SecuritySystemStub.java
index 533b640dc..9b4b6bea1 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/rss/SecuritySystemStub.java
+++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/rss/SecuritySystemStub.java
@@ -19,11 +19,6 @@ package org.apache.maven.archiva.web.rss;
  * under the License.
  */
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.codehaus.plexus.redback.authentication.AuthenticationDataSource;
 import org.codehaus.plexus.redback.authentication.AuthenticationException;
 import org.codehaus.plexus.redback.authentication.AuthenticationResult;
@@ -40,8 +35,13 @@ import org.codehaus.plexus.redback.users.UserManager;
 import org.codehaus.plexus.redback.users.UserNotFoundException;
 import org.codehaus.plexus.redback.users.jdo.JdoUser;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
- * SecuritySystem stub used for testing. 
+ * SecuritySystem stub used for testing.
  *
  * @version $Id$
  */
@@ -94,58 +94,50 @@ public class SecuritySystemStub
     public AuthorizationResult authorize( SecuritySession arg0, Object arg1, Object arg2 )
         throws AuthorizationException
     {
-        AuthorizationResult result = new AuthorizationResult( true, arg1, null);
-        
+        AuthorizationResult result = new AuthorizationResult( true, arg1, null );
+
         return result;
     }
 
     public String getAuthenticatorId()
     {
-        // TODO Auto-generated method stub
         return null;
     }
 
     public String getAuthorizerId()
     {
-        // TODO Auto-generated method stub
         return null;
     }
 
     public KeyManager getKeyManager()
     {
-        // TODO Auto-generated method stub
         return null;
     }
 
     public UserSecurityPolicy getPolicy()
     {
-        // TODO Auto-generated method stub
         return null;
     }
 
     public String getUserManagementId()
     {
-        // TODO Auto-generated method stub
         return null;
     }
 
     public UserManager getUserManager()
     {
-        // TODO Auto-generated method stub
         return null;
     }
 
     public boolean isAuthenticated( AuthenticationDataSource arg0 )
         throws AuthenticationException, UserNotFoundException, AccountLockedException
     {
-        // TODO Auto-generated method stub
         return false;
     }
 
     public boolean isAuthorized( SecuritySession arg0, Object arg1 )
         throws AuthorizationException
     {
-        // TODO Auto-generated method stub
         return false;
     }
 
diff --git a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
index 7e4e22830..91851c891 100644
--- a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
+++ b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
@@ -44,7 +44,10 @@ public class DefaultMetadataResolver
     private MetadataRepository metadataRepository;
 
     /**
-     * FIXME: this needs to be configurable based on storage type, and availability of proxy module
+     * FIXME: this needs to be configurable based on storage type - and could also be instantiated per repo. Change to a
+     * factory.
+     *
+     * TODO: Also need to accommodate availability of proxy module
      * ... could be a different type since we need methods to modify the storage metadata, which would also allow more
      * appropriate methods to pass in the already determined repository configuration, for example, instead of the ID
      *
diff --git a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java
index e780ec473..ea93b3ff1 100644
--- a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java
+++ b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java
@@ -27,6 +27,7 @@ import org.apache.archiva.metadata.repository.filter.Filter;
 
 import java.util.Collection;
 
+// FIXME: we should drop the repoId parameters and attach this to an instance of a repository storage
 public interface RepositoryStorage
 {
     ProjectMetadata readProjectMetadata( String repoId, String namespace, String projectId )
@@ -47,6 +48,6 @@ public interface RepositoryStorage
     Collection readArtifactsMetadata( String repoId, String namespace, String projectId,
                                                         String projectVersion, Filter filter );
 
-    // TODO: reconsider this API, do we want to expose storage format in the form of a path?
+    // FIXME: reconsider this API, do we want to expose storage format in the form of a path?
     ArtifactMetadata readArtifactMetadataFromPath( String repoId, String path );
 }
diff --git a/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenRepositoryMetadataReader.java b/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenRepositoryMetadataReader.java
index a56f0befd..e092a257a 100644
--- a/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenRepositoryMetadataReader.java
+++ b/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenRepositoryMetadataReader.java
@@ -19,18 +19,17 @@ package org.apache.archiva.metadata.repository.storage.maven2;
  * under the License.
  */
 
-import java.io.File;
-
 import org.apache.commons.lang.math.NumberUtils;
 import org.apache.maven.archiva.xml.XMLException;
 import org.apache.maven.archiva.xml.XMLReader;
 import org.dom4j.Element;
 
+import java.io.File;
+
 /**
  * RepositoryMetadataReader - read maven-metadata.xml files.
  *
- * TODO: we should improve on this, ideally using the Maven standard libraries (which are unfortunately baked into
- * maven-core now)
+ * TODO: we should improve on this, ideally using the Maven standard library
  */
 public final class MavenRepositoryMetadataReader
 {
@@ -44,6 +43,7 @@ public final class MavenRepositoryMetadataReader
      * @param metadataFile the maven-metadata.xml file to read.
      * @return the archiva repository metadata object that represents the provided file contents.
      * @throws org.apache.maven.archiva.xml.XMLException
+     *
      */
     public static MavenRepositoryMetadata read( File metadataFile )
         throws XMLException
diff --git a/archiva-modules/plugins/metadata-repository-file/pom.xml b/archiva-modules/plugins/metadata-repository-file/pom.xml
index cb640e4fc..6c5cd5b63 100644
--- a/archiva-modules/plugins/metadata-repository-file/pom.xml
+++ b/archiva-modules/plugins/metadata-repository-file/pom.xml
@@ -18,14 +18,14 @@
   ~ under the License.
 -->
 
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   4.0.0
   
     plugins
     org.apache.archiva
     1.4-SNAPSHOT
   
-  
+  
   metadata-repository-file
   File System Backed Metadata Repository
   
diff --git a/archiva-modules/plugins/metadata-store-jcr/pom.xml b/archiva-modules/plugins/metadata-store-jcr/pom.xml
index 20df6c76f..7b3003a2b 100644
--- a/archiva-modules/plugins/metadata-store-jcr/pom.xml
+++ b/archiva-modules/plugins/metadata-store-jcr/pom.xml
@@ -50,7 +50,7 @@
       plexus-spring
       test
     
-    
+    
     
       javax.jcr
       jcr
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
index 013bfbab9..044a6895c 100644
--- a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
+++ b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
@@ -102,11 +102,11 @@ public class JcrMetadataRepository
 
     public void login()
     {
-        // TODO: need to close this at the end - do we need to add it in the API?
+        // FIXME: need to close this at the end - do we need to add it in the API?
 
         try
         {
-            // TODO: shouldn't do this in constructor since it's a singleton
+            // FIXME: shouldn't do this in constructor since it's a singleton
             session = repository.login( new SimpleCredentials( "username", "password".toCharArray() ) );
 
             Workspace workspace = session.getWorkspace();
@@ -118,12 +118,12 @@ public class JcrMetadataRepository
         }
         catch ( LoginException e )
         {
-            // TODO
+            // FIXME
             throw new RuntimeException( e );
         }
         catch ( RepositoryException e )
         {
-            // TODO
+            // FIXME
             throw new RuntimeException( e );
         }
     }
@@ -199,7 +199,7 @@ public class JcrMetadataRepository
                     n.setProperty( entry.getKey(), entry.getValue() );
                 }
             }
-            // TODO: need some context around this so it can be done only when needed
+            // FIXME: need some context around this so it can be done only when needed
             session.save();
         }
         catch ( RepositoryException e )
@@ -224,7 +224,7 @@ public class JcrMetadataRepository
             versionNode.setProperty( "url", versionMetadata.getUrl() );
             versionNode.setProperty( "incomplete", versionMetadata.isIncomplete() );
 
-            // TODO: decide how to treat these in the content repo
+            // FIXME: decide how to treat these in the content repo
             if ( versionMetadata.getScm() != null )
             {
                 versionNode.setProperty( "scm.connection", versionMetadata.getScm().getConnection() );
@@ -703,7 +703,7 @@ public class JcrMetadataRepository
             versionMetadata.setIncomplete( node.hasProperty( "incomplete" ) && node.getProperty(
                 "incomplete" ).getBoolean() );
 
-            // TODO: decide how to treat these in the content repo
+            // FIXME: decide how to treat these in the content repo
             String scmConnection = getPropertyString( node, "scm.connection" );
             String scmDeveloperConnection = getPropertyString( node, "scm.developerConnection" );
             String scmUrl = getPropertyString( node, "scm.url" );
@@ -1001,12 +1001,12 @@ public class JcrMetadataRepository
     {
         try
         {
-            // TODO: this shouldn't be here! Repository may need a context
+            // FIXME: this shouldn't be here! Repository may need a context
             session.save();
         }
         catch ( RepositoryException e )
         {
-            // TODO
+            // FIXME
             throw new RuntimeException( e );
         }
         session.logout();
@@ -1016,9 +1016,8 @@ public class JcrMetadataRepository
     {
         this.metadataFacetFactories = metadataFacetFactories;
 
-        // TODO: check if actually called by normal injection
-
         // TODO: consider using namespaces for facets instead of the current approach:
+        // (if used, check if actually called by normal injection)
 //        for ( String facetId : metadataFacetFactories.keySet() )
 //        {
 //            session.getWorkspace().getNamespaceRegistry().registerNamespace( facetId, facetId );
diff --git a/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java b/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
index 82bbc2b13..5ba9abb12 100644
--- a/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
+++ b/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
@@ -205,9 +205,9 @@ public class DuplicateArtifactsConsumer
                 problem.setProject( originalArtifact.getProject() );
                 problem.setVersion( originalArtifact.getVersion() );
                 problem.setId( id );
-                // TODO: need to get the right storage resolver for the repository the dupe artifact is in, it might be
+                // FIXME: need to get the right storage resolver for the repository the dupe artifact is in, it might be
                 //       a different type
-                // TODO: we need the project version here, not the artifact version
+                // FIXME: we need the project version here, not the artifact version
                 problem.setMessage( "Duplicate Artifact Detected: " + path + " <--> " + pathTranslator.toPath(
                     dupArtifact.getNamespace(), dupArtifact.getProject(), dupArtifact.getVersion(),
                     dupArtifact.getId() ) );