You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2011/05/25 17:31:32 UTC

svn commit: r1127555 [1/3] - in /archiva/trunk: ./ archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/ archiva-modules/archiva-base/archiva-repository-layer/ archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/a...

Author: olamy
Date: Wed May 25 15:31:30 2011
New Revision: 1127555

URL: http://svn.apache.org/viewvc?rev=1127555&view=rev
Log:
[MRM-1473] remove use of plexus-spring
move archiva-repository-layer to full spring


Removed:
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/resources/META-INF/plexus/
Modified:
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/pom.xml
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/PathParser.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/MockConfiguration.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/FilenameParserTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContentTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContentTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContentTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContentTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RepositoryRequestTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataReaderTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataWriterTest.java
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-api/pom.xml
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/pom.xml
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/RepositoryArchivaTaskScheduler.java
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/TestConsumer.java
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/TestRepositoryStatisticsManager.java
    archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/resources/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.xml
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
    archiva/trunk/pom.xml

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/pom.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/pom.xml?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/pom.xml Wed May 25 15:31:30 2011
@@ -59,8 +59,8 @@
       <artifactId>spring-registry-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-taskqueue</artifactId>
+      <groupId>org.codehaus.redback.components</groupId>
+      <artifactId>spring-taskqueue</artifactId>
     </dependency>
     <dependency>
       <groupId>commons-io</groupId>

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml Wed May 25 15:31:30 2011
@@ -59,11 +59,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.redback.components</groupId>
-      <artifactId>plexus-spring</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
       <scope>test</scope>
@@ -77,20 +72,4 @@
       <artifactId>maven2-repository</artifactId>
     </dependency>
   </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-component-metadata</artifactId>
-        <executions>
-          <execution>
-            <id>descriptor</id>
-            <goals>
-              <goal>generate-metadata</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java Wed May 25 15:31:30 2011
@@ -23,55 +23,55 @@ import org.apache.maven.archiva.configur
 import org.apache.maven.archiva.configuration.ConfigurationNames;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 import org.codehaus.plexus.registry.Registry;
 import org.codehaus.plexus.registry.RegistryListener;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
- * RepositoryContentRequest 
+ * RepositoryContentRequest
  *
  * @version $Id$
- * 
- * @plexus.component 
- *      role="org.apache.maven.archiva.repository.RepositoryContentFactory"
+ *          <p/>
+ *          plexus.component
+ *          role="org.apache.maven.archiva.repository.RepositoryContentFactory"
  */
+@Service( "repositoryContentFactory#default" )
 public class RepositoryContentFactory
-    implements Contextualizable, RegistryListener, Initializable
+    implements RegistryListener
 {
     /**
-     * @plexus.requirement
+     * plexus.requirement
      */
+    @Inject
     private ArchivaConfiguration archivaConfiguration;
 
+    @Inject
+    private ApplicationContext applicationContext;
+
     private final Map<String, ManagedRepositoryContent> managedContentMap;
 
     private final Map<String, RemoteRepositoryContent> remoteContentMap;
 
-    private PlexusContainer container;
 
     public RepositoryContentFactory()
     {
-        managedContentMap = new HashMap<String, ManagedRepositoryContent>();
-        remoteContentMap = new HashMap<String, RemoteRepositoryContent>();
+        managedContentMap = new ConcurrentHashMap<String, ManagedRepositoryContent>();
+        remoteContentMap = new ConcurrentHashMap<String, RemoteRepositoryContent>();
     }
 
     /**
      * Get the ManagedRepositoryContent object for the repository Id specified.
-     * 
+     *
      * @param repoId the repository id to fetch.
      * @return the ManagedRepositoryContent object associated with the repository id.
      * @throws RepositoryNotFoundException if the repository id does not exist within the configuration.
-     * @throws RepositoryException the repository content object cannot be loaded due to configuration issue.
+     * @throws RepositoryException         the repository content object cannot be loaded due to configuration issue.
      */
     public ManagedRepositoryContent getManagedRepositoryContent( String repoId )
         throws RepositoryNotFoundException, RepositoryException
@@ -83,24 +83,17 @@ public class RepositoryContentFactory
             return repo;
         }
 
-        ManagedRepositoryConfiguration repoConfig = archivaConfiguration.getConfiguration()
-            .findManagedRepositoryById( repoId );
+        ManagedRepositoryConfiguration repoConfig =
+            archivaConfiguration.getConfiguration().findManagedRepositoryById( repoId );
         if ( repoConfig == null )
         {
             throw new RepositoryNotFoundException( "Unable to find managed repository configuration for id:" + repoId );
         }
 
-        try
-        {
-            repo = (ManagedRepositoryContent) container.lookup( ManagedRepositoryContent.class, repoConfig.getLayout() );
-            repo.setRepository( repoConfig );
-            managedContentMap.put( repoId, repo );
-        }
-        catch ( ComponentLookupException e )
-        {
-            throw new RepositoryException( "Specified layout [" + repoConfig.getLayout()
-                + "] on managed repository id [" + repoId + "] is not valid.", e );
-        }
+        repo = applicationContext.getBean( "managedRepositoryContent#" + repoConfig.getLayout(),
+                                           ManagedRepositoryContent.class );
+        repo.setRepository( repoConfig );
+        managedContentMap.put( repoId, repo );
 
         return repo;
     }
@@ -115,38 +108,26 @@ public class RepositoryContentFactory
             return repo;
         }
 
-        RemoteRepositoryConfiguration repoConfig = archivaConfiguration.getConfiguration()
-            .findRemoteRepositoryById( repoId );
+        RemoteRepositoryConfiguration repoConfig =
+            archivaConfiguration.getConfiguration().findRemoteRepositoryById( repoId );
         if ( repoConfig == null )
         {
             throw new RepositoryNotFoundException( "Unable to find remote repository configuration for id:" + repoId );
         }
 
-        try
-        {
-            repo = (RemoteRepositoryContent) container.lookup( RemoteRepositoryContent.class, repoConfig.getLayout() );
-            repo.setRepository( repoConfig );
-            remoteContentMap.put( repoId, repo );
-        }
-        catch ( ComponentLookupException e )
-        {
-            throw new RepositoryException( "Specified layout [" + repoConfig.getLayout()
-                + "] on remote repository id [" + repoId + "] is not valid.", e );
-        }
+        repo = applicationContext.getBean( "RemoteRepositoryContent#" + repoConfig.getLayout(),
+                                           RemoteRepositoryContent.class );
+        repo.setRepository( repoConfig );
+        remoteContentMap.put( repoId, repo );
 
         return repo;
     }
 
-    public void contextualize( Context context )
-        throws ContextException
-    {
-        container = (PlexusContainer) context.get( "plexus" );
-    }
 
     public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
     {
-        if ( ConfigurationNames.isManagedRepositories( propertyName )
-            || ConfigurationNames.isRemoteRepositories( propertyName ) )
+        if ( ConfigurationNames.isManagedRepositories( propertyName ) || ConfigurationNames.isRemoteRepositories(
+            propertyName ) )
         {
             initMaps();
         }
@@ -157,50 +138,33 @@ public class RepositoryContentFactory
         /* do nothing */
     }
 
+    @PostConstruct
     public void initialize()
-        throws InitializationException
     {
         archivaConfiguration.addChangeListener( this );
     }
 
     private void initMaps()
     {
-        synchronized ( managedContentMap )
-        {
-            // First, return any references to the container.
-            for ( ManagedRepositoryContent repo : managedContentMap.values() )
-            {
-                try
-                {
-                    container.release( repo );
-                }
-                catch ( ComponentLifecycleException e )
-                {
-                    /* ignore */
-                }
-            }
+        // olamy we use concurent so no need of synchronize
+        //synchronized ( managedContentMap )
+        //{
+        managedContentMap.clear();
+        //}
 
-            // Next clear the map.
-            managedContentMap.clear();
-        }
+        //synchronized ( remoteContentMap )
+        //{
+        remoteContentMap.clear();
+        //}
+    }
 
-        synchronized ( remoteContentMap )
-        {
-            // First, return any references to the container.
-            for ( RemoteRepositoryContent repo : remoteContentMap.values() )
-            {
-                try
-                {
-                    container.release( repo );
-                }
-                catch ( ComponentLifecycleException e )
-                {
-                    /* ignore */
-                }
-            }
+    public ArchivaConfiguration getArchivaConfiguration()
+    {
+        return archivaConfiguration;
+    }
 
-            // Next clear the map.
-            remoteContentMap.clear();
-        }
+    public void setArchivaConfiguration( ArchivaConfiguration archivaConfiguration )
+    {
+        this.archivaConfiguration = archivaConfiguration;
     }
 }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java Wed May 25 15:31:30 2011
@@ -31,15 +31,15 @@ import java.util.List;
  */
 public interface RepositoryConnector
 {
-    public ManagedRepositoryContent getSourceRepository();
+    ManagedRepositoryContent getSourceRepository();
 
-    public RemoteRepositoryContent getTargetRepository();
+    RemoteRepositoryContent getTargetRepository();
 
-    public List<String> getBlacklist();
+    List<String> getBlacklist();
     
-    public List<String> getWhitelist();
+    List<String> getWhitelist();
     
-    public boolean isDisabled();
+    boolean isDisabled();
     
-    public void setDisabled(boolean disabled);
+    void setDisabled(boolean disabled);
 }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java Wed May 25 15:31:30 2011
@@ -31,7 +31,11 @@ import org.apache.maven.archiva.model.Ve
 import org.apache.maven.archiva.repository.layout.LayoutException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.context.ApplicationContext;
 
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -41,7 +45,7 @@ import java.util.List;
  */
 public abstract class AbstractDefaultRepositoryContent
 {
-    protected Logger log = LoggerFactory.getLogger( AbstractDefaultRepositoryContent.class );
+    protected Logger log = LoggerFactory.getLogger( getClass() );
 
     public static final String MAVEN_METADATA = "maven-metadata.xml";
 
@@ -56,10 +60,20 @@ public abstract class AbstractDefaultRep
     private PathParser defaultPathParser = new DefaultPathParser();
 
     /**
-     * @plexus.requirement role="org.apache.archiva.metadata.repository.storage.maven2.ArtifactMappingProvider"
+     * plexus.requirement role="org.apache.archiva.metadata.repository.storage.maven2.ArtifactMappingProvider"
      */
     protected List<? extends ArtifactMappingProvider> artifactMappingProviders;
 
+    @Inject
+    protected ApplicationContext applicationContext;
+
+    @PostConstruct
+    protected void initialize()
+    {
+        artifactMappingProviders = new ArrayList<ArtifactMappingProvider>(
+            applicationContext.getBeansOfType( ArtifactMappingProvider.class ).values() );
+    }
+
     public ArtifactReference toArtifactReference( String path )
         throws LayoutException
     {
@@ -127,8 +141,8 @@ public abstract class AbstractDefaultRep
     {
         if ( baseVersion != null )
         {
-            return pathTranslator.toPath( groupId, artifactId, baseVersion, constructId( artifactId, version,
-                                                                                         classifier, type ) );
+            return pathTranslator.toPath( groupId, artifactId, baseVersion,
+                                          constructId( artifactId, version, classifier, type ) );
         }
         else
         {

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java Wed May 25 15:31:30 2011
@@ -24,6 +24,8 @@ import org.apache.maven.archiva.model.Ar
 import org.apache.maven.archiva.model.ArtifactReference;
 import org.apache.maven.archiva.repository.layout.LayoutException;
 
+import javax.inject.Inject;
+import javax.inject.Named;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -49,8 +51,10 @@ public abstract class AbstractLegacyRepo
     }
 
     /**
-     * @plexus.requirement role-hint="legacy"
+     * plexus.requirement role-hint="legacy"
      */
+    @Inject
+    @Named( value = "pathParser#legacy" )
     private PathParser legacyPathParser;
 
     public ArtifactReference toArtifactReference( String path )
@@ -66,8 +70,8 @@ public abstract class AbstractLegacyRepo
             throw new IllegalArgumentException( "Artifact reference cannot be null" );
         }
 
-        return toPath( reference.getGroupId(), reference.getArtifactId(), reference.getVersion(), reference
-            .getClassifier(), reference.getType() );
+        return toPath( reference.getGroupId(), reference.getArtifactId(), reference.getVersion(),
+                       reference.getClassifier(), reference.getType() );
     }
 
     public String toPath( ArtifactReference reference )
@@ -77,8 +81,8 @@ public abstract class AbstractLegacyRepo
             throw new IllegalArgumentException( "Artifact reference cannot be null" );
         }
 
-        return toPath( reference.getGroupId(), reference.getArtifactId(), reference.getVersion(), reference
-            .getClassifier(), reference.getType() );
+        return toPath( reference.getGroupId(), reference.getArtifactId(), reference.getVersion(),
+                       reference.getClassifier(), reference.getType() );
     }
 
     private String toPath( String groupId, String artifactId, String version, String classifier, String type )
@@ -115,7 +119,7 @@ public abstract class AbstractLegacyRepo
         // Default process.
         return type + "s";
     }
-    
+
     public void setLegacyPathParser( PathParser parser )
     {
         this.legacyPathParser = parser;

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java Wed May 25 15:31:30 2011
@@ -28,6 +28,7 @@ import org.apache.archiva.metadata.repos
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.model.ArtifactReference;
 import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.springframework.stereotype.Service;
 
 import java.util.Collections;
 
@@ -39,6 +40,7 @@ import java.util.Collections;
  *
  * @version $Id$
  */
+@Service( "pathParser#default" )
 public class DefaultPathParser
     implements PathParser
 {

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java Wed May 25 15:31:30 2011
@@ -19,33 +19,33 @@ package org.apache.maven.archiva.reposit
  * under the License.
  */
 
-import java.util.Collection;
-
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.LegacyArtifactPath;
 import org.apache.maven.archiva.model.ArtifactReference;
 import org.apache.maven.archiva.repository.layout.LayoutException;
 
+import java.util.Collection;
+
 /**
  * LegacyPathParser is a parser for maven 1 (legacy layout) paths to
  * ArtifactReference.
  *
  * @version $Id$
- * @plexus.component role="org.apache.maven.archiva.repository.content.PathParser"
- * role-hint="legacy"
  */
 public class LegacyPathParser
     implements PathParser
 {
     private static final String INVALID_ARTIFACT_PATH = "Invalid path to Artifact: ";
 
-    /**
-     * @todo pass these in on construction instead, since this can't be long lived (no config listener), then no need to be a component
-     * @plexus.requirement
-     */
     protected ArchivaConfiguration configuration;
 
+    public LegacyPathParser( ArchivaConfiguration configuration )
+    {
+        this.configuration = configuration;
+    }
+
+
     /**
      * {@inheritDoc}
      *
@@ -61,12 +61,12 @@ public class LegacyPathParser
         for ( LegacyArtifactPath legacyPath : legacy )
         {
             if ( legacyPath.match( path ) )
-            {			
-			    artifact.setGroupId( legacyPath.getGroupId() );
-			    artifact.setArtifactId( legacyPath.getArtifactId() );
-			    artifact.setClassifier( legacyPath.getClassifier() );
-			    artifact.setVersion( legacyPath.getVersion() );
-			    artifact.setType( legacyPath.getType() );
+            {
+                artifact.setGroupId( legacyPath.getGroupId() );
+                artifact.setArtifactId( legacyPath.getArtifactId() );
+                artifact.setClassifier( legacyPath.getClassifier() );
+                artifact.setVersion( legacyPath.getVersion() );
+                artifact.setType( legacyPath.getType() );
                 return artifact;
             }
         }
@@ -87,8 +87,8 @@ public class LegacyPathParser
         {
             // Illegal Path Parts Length.
             throw new LayoutException( INVALID_ARTIFACT_PATH
-                    + "legacy paths should only have 3 parts [groupId]/[type]s/[artifactId]-[version].[type], found "
-                    + pathParts.length + " instead." );
+                                           + "legacy paths should only have 3 parts [groupId]/[type]s/[artifactId]-[version].[type], found "
+                                           + pathParts.length + " instead." );
         }
 
         // The Group ID.
@@ -101,7 +101,7 @@ public class LegacyPathParser
         if ( !expectedType.endsWith( "s" ) )
         {
             throw new LayoutException( INVALID_ARTIFACT_PATH
-                    + "legacy paths should have an expected type ending in [s] in the second part of the path." );
+                                           + "legacy paths should have an expected type ending in [s] in the second part of the path." );
         }
 
         // The Filename.
@@ -164,9 +164,10 @@ public class LegacyPathParser
         if ( classifier != null )
         {
             String version = artifact.getVersion();
-            if ( ! version.endsWith( "-" + classifier ) )
+            if ( !version.endsWith( "-" + classifier ) )
             {
-                throw new LayoutException( INVALID_ARTIFACT_PATH + expectedType + " artifacts must use the classifier " + classifier );
+                throw new LayoutException(
+                    INVALID_ARTIFACT_PATH + expectedType + " artifacts must use the classifier " + classifier );
             }
             version = version.substring( 0, version.length() - classifier.length() - 1 );
             artifact.setVersion( version );
@@ -198,9 +199,10 @@ public class LegacyPathParser
 
             if ( !expectedExtension.equals( extension ) )
             {
-                throw new LayoutException( INVALID_ARTIFACT_PATH + "mismatch on extension [" + extension
-                    + "] and layout specified type [" + artifact.getType() + "] (which maps to extension: ["
-                    + expectedExtension + "]) on path [" + path + "]" );
+                throw new LayoutException(
+                    INVALID_ARTIFACT_PATH + "mismatch on extension [" + extension + "] and layout specified type ["
+                        + artifact.getType() + "] (which maps to extension: [" + expectedExtension + "]) on path ["
+                        + path + "]" );
             }
         }
 

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java Wed May 25 15:31:30 2011
@@ -31,7 +31,10 @@ import org.apache.maven.archiva.model.Ve
 import org.apache.maven.archiva.repository.ContentNotFoundException;
 import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
 
+import javax.inject.Inject;
 import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
@@ -43,18 +46,18 @@ import java.util.Set;
  *
  * @version $Id$
  * 
- * @plexus.component 
+ * plexus.component
  *      role="org.apache.maven.archiva.repository.ManagedRepositoryContent"
  *      role-hint="default"
  *      instantiation-strategy="per-lookup"
  */
+@Service("managedRepositoryContent#default")
+@Scope("prototype")
 public class ManagedDefaultRepositoryContent
     extends AbstractDefaultRepositoryContent
     implements ManagedRepositoryContent
 {
-    /**
-     * @plexus.requirement
-     */
+    @Inject
     private FileTypes filetypes;
 
     private ManagedRepositoryConfiguration repository;
@@ -352,7 +355,6 @@ public class ManagedDefaultRepositoryCon
     /**
      * Get the first Artifact found in the provided VersionedReference location.
      *
-     * @param managedRepository the repository to search within.
      * @param reference         the reference to the versioned reference to search within
      * @return the ArtifactReference to the first artifact located within the versioned reference. or null if
      *         no artifact was found within the versioned reference.

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java Wed May 25 15:31:30 2011
@@ -31,7 +31,10 @@ import org.apache.maven.archiva.model.Ve
 import org.apache.maven.archiva.repository.ContentNotFoundException;
 import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
 
+import javax.inject.Inject;
 import java.io.File;
 import java.util.HashSet;
 import java.util.Set;
@@ -48,13 +51,16 @@ import java.util.Set;
  *      role-hint="legacy"
  *      instantiation-strategy="per-lookup"
  */
+@Service("managedRepositoryContent#legacy")
+@Scope("prototype")
 public class ManagedLegacyRepositoryContent
     extends AbstractLegacyRepositoryContent
     implements ManagedRepositoryContent
 {
     /**
-     * @plexus.requirement
+     * plexus.requirement
      */
+    @Inject
     private FileTypes filetypes;
 
     private ManagedRepositoryConfiguration repository;

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/PathParser.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/PathParser.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/PathParser.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/PathParser.java Wed May 25 15:31:30 2011
@@ -24,7 +24,7 @@ import org.apache.maven.archiva.reposito
 
 /**
  * PathParser interface.
- * 
+ *
  * @version $Id$
  */
 public interface PathParser
@@ -32,12 +32,12 @@ public interface PathParser
 
     /**
      * Take a path and get the ArtifactReference associated with it.
-     * 
+     *
      * @param path the relative path to parse.
      * @return the ArtifactReference for the provided path. (never null)
      * @throws LayoutException if there was a problem parsing the path.
      */
-    public ArtifactReference toArtifactReference( String path )
+    ArtifactReference toArtifactReference( String path )
         throws LayoutException;
 
 }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java Wed May 25 15:31:30 2011
@@ -24,17 +24,21 @@ import org.apache.maven.archiva.model.Ar
 import org.apache.maven.archiva.model.RepositoryURL;
 import org.apache.maven.archiva.repository.RemoteRepositoryContent;
 import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
 
 /**
- * RemoteDefaultRepositoryContent 
+ * RemoteDefaultRepositoryContent
  *
  * @version $Id$
- * 
- * @plexus.component 
- *      role="org.apache.maven.archiva.repository.RemoteRepositoryContent"
- *      role-hint="default"
- *      instantiation-strategy="per-lookup"
+ *          <p/>
+ *          plexus.component
+ *          role="org.apache.maven.archiva.repository.RemoteRepositoryContent"
+ *          role-hint="default"
+ *          instantiation-strategy="per-lookup"
  */
+@Service( "remoteRepositoryContent#default" )
+@Scope( "prototype" )
 public class RemoteDefaultRepositoryContent
     extends AbstractDefaultRepositoryContent
     implements RemoteRepositoryContent
@@ -63,7 +67,7 @@ public class RemoteDefaultRepositoryCont
 
     /**
      * Convert a path to an artifact reference.
-     * 
+     *
      * @param path the path to convert. (relative or full url path)
      * @throws LayoutException if the path cannot be converted to an artifact reference.
      */

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java Wed May 25 15:31:30 2011
@@ -24,19 +24,20 @@ import org.apache.maven.archiva.model.Ar
 import org.apache.maven.archiva.model.RepositoryURL;
 import org.apache.maven.archiva.repository.RemoteRepositoryContent;
 import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
 
 /**
- * RemoteLegacyRepositoryContent 
+ * RemoteLegacyRepositoryContent
  *
  * @version $Id$
- * 
  * @todo no need to be a component once legacy path parser is not
- * 
- * @plexus.component 
- *      role="org.apache.maven.archiva.repository.RemoteRepositoryContent"
- *      role-hint="legacy"
- *      instantiation-strategy="per-lookup"
+ * plexus.component role="org.apache.maven.archiva.repository.RemoteRepositoryContent"
+ * role-hint="legacy"
+ * instantiation-strategy="per-lookup"
  */
+@Service( "remoteRepositoryContent#legacy" )
+@Scope( "prototype" )
 public class RemoteLegacyRepositoryContent
     extends AbstractLegacyRepositoryContent
     implements RemoteRepositoryContent
@@ -65,7 +66,7 @@ public class RemoteLegacyRepositoryConte
 
     /**
      * Convert a path to an artifact reference.
-     * 
+     *
      * @param path the path to convert. (relative or full url path)
      * @throws LayoutException if the path cannot be converted to an artifact reference.
      */

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java Wed May 25 15:31:30 2011
@@ -24,27 +24,30 @@ import org.apache.maven.archiva.model.Ar
 import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.layout.LayoutException;
 import org.apache.maven.archiva.repository.metadata.MetadataTools;
+import org.springframework.stereotype.Service;
+
+import javax.inject.Inject;
+import javax.inject.Named;
 
 /**
  * RepositoryRequest is used to determine the type of request that is incoming, and convert it to an appropriate
  * ArtifactReference.
  *
  * @version $Id$
- *
  * @todo no need to be a component once legacy path parser is not
- *
- * @plexus.component
- *      role="org.apache.maven.archiva.repository.content.RepositoryRequest"
+ * <p/>
  */
 public class RepositoryRequest
 {
     private PathParser defaultPathParser = new DefaultPathParser();
 
-    /**
-     * @plexus.requirement role-hint="legacy"
-     */
     private PathParser legacyPathParser;
 
+    public RepositoryRequest (LegacyPathParser legacyPathParser)
+    {
+        this.legacyPathParser = legacyPathParser;
+    }
+
     /**
      * Takes an incoming requested path (in "/" format) and gleans the layout
      * and ArtifactReference appropriate for that content.
@@ -135,18 +138,18 @@ public class RepositoryRequest
 
     public boolean isMetadataSupportFile( String requestedPath )
     {
-        if( isSupportFile( requestedPath ) )
+        if ( isSupportFile( requestedPath ) )
         {
             String basefilePath = StringUtils.substring( requestedPath, 0, requestedPath.lastIndexOf( '.' ) );
-            if( isMetadata( basefilePath ) )
+            if ( isMetadata( basefilePath ) )
             {
                 return true;
             }
         }
-        
+
         return false;
     }
-    
+
     /**
      * <p>
      * Tests the path to see if it conforms to the expectations of a default layout request.
@@ -168,31 +171,31 @@ public class RepositoryRequest
             return false;
         }
 
-        String pathParts[] = StringUtils.splitPreserveAllTokens( requestedPath, '/' );        
-        if( pathParts.length > 3 )
+        String pathParts[] = StringUtils.splitPreserveAllTokens( requestedPath, '/' );
+        if ( pathParts.length > 3 )
         {
             return true;
         }
         else if ( pathParts.length == 3 )
-        {            
+        {
             // check if artifact-level metadata (ex. eclipse/jdtcore/maven-metadata.xml)
-            if( isMetadata( requestedPath ) )
+            if ( isMetadata( requestedPath ) )
             {
                 return true;
             }
-            else 
+            else
             {
                 // check if checksum of artifact-level metadata (ex. eclipse/jdtcore/maven-metadata.xml.sha1)
-                int idx = requestedPath.lastIndexOf( '.' );               
+                int idx = requestedPath.lastIndexOf( '.' );
                 if ( idx > 0 )
                 {
                     String base = requestedPath.substring( 0, idx );
-                    if( isMetadata( base ) && isSupportFile( requestedPath ) )
+                    if ( isMetadata( base ) && isSupportFile( requestedPath ) )
                     {
                         return true;
                     }
                 }
-                
+
                 return false;
             }
         }
@@ -231,11 +234,12 @@ public class RepositoryRequest
      * Adjust the requestedPath to conform to the native layout of the provided {@link ManagedRepositoryContent}.
      *
      * @param requestedPath the incoming requested path.
-     * @param repository the repository to adjust to.
+     * @param repository    the repository to adjust to.
      * @return the adjusted (to native) path.
      * @throws LayoutException if the path cannot be parsed.
      */
-    public String toNativePath( String requestedPath, ManagedRepositoryContent repository ) throws LayoutException
+    public String toNativePath( String requestedPath, ManagedRepositoryContent repository )
+        throws LayoutException
     {
         if ( StringUtils.isBlank( requestedPath ) )
         {
@@ -247,7 +251,7 @@ public class RepositoryRequest
         String supportfile = "";
 
         // Figure out support file, and actual referencedResource.
-        if( isSupportFile( requestedPath ) )
+        if ( isSupportFile( requestedPath ) )
         {
             int idx = requestedPath.lastIndexOf( '.' );
             referencedResource = requestedPath.substring( 0, idx );

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java Wed May 25 15:31:30 2011
@@ -22,6 +22,7 @@ package org.apache.maven.archiva.reposit
 import org.apache.archiva.checksum.ChecksumAlgorithm;
 import org.apache.archiva.checksum.ChecksummedFile;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.math.NumberUtils;
 import org.apache.commons.lang.time.DateUtils;
@@ -42,13 +43,15 @@ import org.apache.maven.archiva.reposito
 import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.RemoteRepositoryContent;
 import org.apache.maven.archiva.repository.layout.LayoutException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 import org.codehaus.plexus.registry.Registry;
 import org.codehaus.plexus.registry.RegistryListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
 
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+import javax.inject.Named;
 import java.io.File;
 import java.io.IOException;
 import java.text.ParseException;
@@ -66,19 +69,19 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.regex.Matcher;
-import org.apache.commons.io.FileUtils;
 
 /**
  * MetadataTools
  *
  * @version $Id$
- * 
- * @plexus.component role="org.apache.maven.archiva.repository.metadata.MetadataTools"
+ *          <p/>
+ *          plexus.component role="org.apache.maven.archiva.repository.metadata.MetadataTools"
  */
+@Service( "metadataTools#default" )
 public class MetadataTools
-    implements RegistryListener, Initializable
+    implements RegistryListener
 {
-    private static Logger log = LoggerFactory.getLogger( MetadataTools.class );
+    private Logger log = LoggerFactory.getLogger( getClass() );
 
     public static final String MAVEN_METADATA = "maven-metadata.xml";
 
@@ -87,22 +90,25 @@ public class MetadataTools
     private static final char GROUP_SEPARATOR = '.';
 
     /**
-     * @plexus.requirement
+     * plexus.requirement
      */
+    @Inject
+    @Named( value = "archivaConfiguration#default" )
     private ArchivaConfiguration configuration;
 
     /**
-     * @plexus.requirement
+     * plexus.requirement
      */
+    @Inject
     private FileTypes filetypes;
-    
-    private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[] { ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
-    
+
+    private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[]{ ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
+
     private List<String> artifactPatterns;
 
     private Map<String, Set<String>> proxies;
 
-    private static final char NUMS[] = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
+    private static final char NUMS[] = new char[]{ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
 
     private SimpleDateFormat lastUpdatedFormat;
 
@@ -130,9 +136,10 @@ public class MetadataTools
      *
      * @return the Set of snapshot artifact versions found.
      * @throws LayoutException
-     * @throws ContentNotFoundException 
+     * @throws ContentNotFoundException
      */
-    public Set<String> gatherSnapshotVersions( ManagedRepositoryContent managedRepository, VersionedReference reference )
+    public Set<String> gatherSnapshotVersions( ManagedRepositoryContent managedRepository,
+                                               VersionedReference reference )
         throws LayoutException, IOException, ContentNotFoundException
     {
         Set<String> foundVersions = managedRepository.getVersions( reference );
@@ -209,7 +216,7 @@ public class MetadataTools
         {
             // Scary check, but without it, all paths are version references;
             throw new RepositoryMetadataException(
-                                                   "Not a versioned reference, as version id on path has no number in it." );
+                "Not a versioned reference, as version id on path has no number in it." );
         }
 
         reference.setArtifactId( pathParts[artifactIdOffset] );
@@ -336,8 +343,8 @@ public class MetadataTools
         return ret.toString();
     }
 
+    @PostConstruct
     public void initialize()
-        throws InitializationException
     {
         this.artifactPatterns = new ArrayList<String>();
         this.proxies = new HashMap<String, Set<String>>();
@@ -351,7 +358,7 @@ public class MetadataTools
     {
         String metadataPath = getRepositorySpecificName( proxyId, toPath( reference ) );
         File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath );
-        
+
         if ( !metadataFile.exists() || !metadataFile.isFile() )
         {
             // Nothing to do. return null.
@@ -370,13 +377,13 @@ public class MetadataTools
             return null;
         }
     }
-    
+
     public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent managedRepository,
                                                         String logicalResource, String proxyId )
     {
         String metadataPath = getRepositorySpecificName( proxyId, logicalResource );
         File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath );
-        
+
         if ( !metadataFile.exists() || !metadataFile.isFile() )
         {
             // Nothing to do. return null.
@@ -401,7 +408,7 @@ public class MetadataTools
     {
         String metadataPath = getRepositorySpecificName( proxyId, toPath( reference ) );
         File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath );
-        
+
         if ( !metadataFile.exists() || !metadataFile.isFile() )
         {
             // Nothing to do. return null.
@@ -420,112 +427,116 @@ public class MetadataTools
             return null;
         }
     }
-    
-    public void updateMetadata( ManagedRepositoryContent managedRepository, String logicalResource) throws RepositoryMetadataException
+
+    public void updateMetadata( ManagedRepositoryContent managedRepository, String logicalResource )
+        throws RepositoryMetadataException
     {
-        final File metadataFile = new File(managedRepository.getRepoRoot(), logicalResource);
+        final File metadataFile = new File( managedRepository.getRepoRoot(), logicalResource );
         ArchivaRepositoryMetadata metadata = null;
-        
+
         //Gather and merge all metadata available
-        List<ArchivaRepositoryMetadata> metadatas = getMetadatasForManagedRepository(managedRepository, logicalResource);
-        for (ArchivaRepositoryMetadata proxiedMetadata : metadatas)
+        List<ArchivaRepositoryMetadata> metadatas =
+            getMetadatasForManagedRepository( managedRepository, logicalResource );
+        for ( ArchivaRepositoryMetadata proxiedMetadata : metadatas )
         {
-            if (metadata == null)
+            if ( metadata == null )
             {
                 metadata = proxiedMetadata;
                 continue;
             }
-            metadata = RepositoryMetadataMerge.merge(metadata, proxiedMetadata);
+            metadata = RepositoryMetadataMerge.merge( metadata, proxiedMetadata );
         }
-        
-        if (metadata == null)
+
+        if ( metadata == null )
         {
-            log.debug("No metadata to update for " + logicalResource);
+            log.debug( "No metadata to update for " + logicalResource );
             return;
         }
-        
+
         Set<String> availableVersions = new HashSet<String>();
         List<String> metadataAvailableVersions = metadata.getAvailableVersions();
-        if (metadataAvailableVersions != null)
+        if ( metadataAvailableVersions != null )
         {
-            availableVersions.addAll(metadataAvailableVersions);
+            availableVersions.addAll( metadataAvailableVersions );
         }
-        availableVersions = findPossibleVersions(availableVersions, metadataFile.getParentFile());
+        availableVersions = findPossibleVersions( availableVersions, metadataFile.getParentFile() );
 
-        if (availableVersions.size() > 0)
+        if ( availableVersions.size() > 0 )
         {
-            updateMetadataVersions(availableVersions, metadata);
+            updateMetadataVersions( availableVersions, metadata );
         }
-        
-        RepositoryMetadataWriter.write(metadata, metadataFile);
-        
+
+        RepositoryMetadataWriter.write( metadata, metadataFile );
+
         ChecksummedFile checksum = new ChecksummedFile( metadataFile );
         checksum.fixChecksums( algorithms );
     }
-    
+
     /**
-     * Skims the parent directory of a metadata in vain hope of finding 
+     * Skims the parent directory of a metadata in vain hope of finding
      * subdirectories that contain poms.
-     * 
+     *
      * @param metadataParentDirectory
      * @return origional set plus newley found versions
      */
-    private Set<String> findPossibleVersions(Set<String> versions, File metadataParentDirectory)
+    private Set<String> findPossibleVersions( Set<String> versions, File metadataParentDirectory )
     {
-        Set<String> result = new HashSet<String>(versions);
-        for (File directory : metadataParentDirectory.listFiles())
+        Set<String> result = new HashSet<String>( versions );
+        for ( File directory : metadataParentDirectory.listFiles() )
         {
-            if (directory.isDirectory())
+            if ( directory.isDirectory() )
             {
-                for (File possiblePom : directory.listFiles())
+                for ( File possiblePom : directory.listFiles() )
                 {
-                    if (possiblePom.getName().endsWith(".pom"))
+                    if ( possiblePom.getName().endsWith( ".pom" ) )
                     {
-                        result.add(directory.getName());
+                        result.add( directory.getName() );
                     }
                 }
             }
         }
         return result;
     }
-    
-    private List<ArchivaRepositoryMetadata> getMetadatasForManagedRepository( ManagedRepositoryContent managedRepository, String logicalResource )
+
+    private List<ArchivaRepositoryMetadata> getMetadatasForManagedRepository(
+        ManagedRepositoryContent managedRepository, String logicalResource )
     {
         List<ArchivaRepositoryMetadata> metadatas = new ArrayList<ArchivaRepositoryMetadata>();
-        File file = new File(managedRepository.getRepoRoot(), logicalResource);
-        if (file.exists())
+        File file = new File( managedRepository.getRepoRoot(), logicalResource );
+        if ( file.exists() )
         {
             try
             {
-               ArchivaRepositoryMetadata existingMetadata = RepositoryMetadataReader.read(file);
-               if (existingMetadata != null)
-               {
-                    metadatas.add(existingMetadata);
-               }
+                ArchivaRepositoryMetadata existingMetadata = RepositoryMetadataReader.read( file );
+                if ( existingMetadata != null )
+                {
+                    metadatas.add( existingMetadata );
+                }
             }
-            catch (RepositoryMetadataException e)
+            catch ( RepositoryMetadataException e )
             {
-                log.debug("Could not read metadata at " + file.getAbsolutePath() + ". Metadata will be removed.");
-                FileUtils.deleteQuietly(file);
+                log.debug( "Could not read metadata at " + file.getAbsolutePath() + ". Metadata will be removed." );
+                FileUtils.deleteQuietly( file );
             }
         }
-        
-        Set<String> proxyIds = proxies.get(managedRepository.getId());
-        if (proxyIds != null)
+
+        Set<String> proxyIds = proxies.get( managedRepository.getId() );
+        if ( proxyIds != null )
         {
-            for (String proxyId : proxyIds)
+            for ( String proxyId : proxyIds )
             {
-                ArchivaRepositoryMetadata proxyMetadata = readProxyMetadata( managedRepository, logicalResource, proxyId );
-                if (proxyMetadata != null)
+                ArchivaRepositoryMetadata proxyMetadata =
+                    readProxyMetadata( managedRepository, logicalResource, proxyId );
+                if ( proxyMetadata != null )
                 {
-                    metadatas.add(proxyMetadata);
+                    metadatas.add( proxyMetadata );
                 }
             }
         }
-        
+
         return metadatas;
     }
-    
+
 
     /**
      * Update the metadata to represent the all versions/plugins of
@@ -533,16 +544,16 @@ public class MetadataTools
      * based off of information present in the repository,
      * the maven-metadata.xml files, and the proxy/repository specific
      * metadata file contents.
-     *
+     * <p/>
      * We must treat this as a group or a project metadata file as there is no way to know in advance
      *
-     * @deprecated 
      * @param managedRepository the managed repository where the metadata is kept.
      * @param reference         the reference to update.
      * @throws LayoutException
      * @throws RepositoryMetadataException
      * @throws IOException
-     * @throws ContentNotFoundException 
+     * @throws ContentNotFoundException
+     * @deprecated
      */
     public void updateMetadata( ManagedRepositoryContent managedRepository, ProjectReference reference )
         throws LayoutException, RepositoryMetadataException, IOException, ContentNotFoundException
@@ -596,7 +607,7 @@ public class MetadataTools
 
         if ( !allVersions.isEmpty() )
         {
-            updateMetadataVersions( allVersions ,metadata );
+            updateMetadataVersions( allVersions, metadata );
         }
         else
         {
@@ -619,44 +630,44 @@ public class MetadataTools
         checksum.fixChecksums( algorithms );
     }
 
-    private void updateMetadataVersions(Collection<String> allVersions, ArchivaRepositoryMetadata metadata) 
+    private void updateMetadataVersions( Collection<String> allVersions, ArchivaRepositoryMetadata metadata )
     {
         // Sort the versions
-        List<String> sortedVersions = new ArrayList<String>(allVersions);
-        Collections.sort(sortedVersions, VersionComparator.getInstance());
+        List<String> sortedVersions = new ArrayList<String>( allVersions );
+        Collections.sort( sortedVersions, VersionComparator.getInstance() );
 
         // Split the versions into released and snapshots.
         List<String> releasedVersions = new ArrayList<String>();
         List<String> snapshotVersions = new ArrayList<String>();
 
-        for (String version : sortedVersions) 
+        for ( String version : sortedVersions )
         {
-            if (VersionUtil.isSnapshot(version)) 
+            if ( VersionUtil.isSnapshot( version ) )
             {
-                snapshotVersions.add(version);
+                snapshotVersions.add( version );
             }
-            else 
+            else
             {
-                releasedVersions.add(version);
+                releasedVersions.add( version );
             }
         }
 
-        Collections.sort(releasedVersions, VersionComparator.getInstance());
-        Collections.sort(snapshotVersions, VersionComparator.getInstance());
+        Collections.sort( releasedVersions, VersionComparator.getInstance() );
+        Collections.sort( snapshotVersions, VersionComparator.getInstance() );
 
-        String latestVersion = sortedVersions.get(sortedVersions.size() - 1);
+        String latestVersion = sortedVersions.get( sortedVersions.size() - 1 );
         String releaseVersion = null;
 
-        if (CollectionUtils.isNotEmpty(releasedVersions)) 
+        if ( CollectionUtils.isNotEmpty( releasedVersions ) )
         {
-            releaseVersion = releasedVersions.get(releasedVersions.size() - 1);
+            releaseVersion = releasedVersions.get( releasedVersions.size() - 1 );
         }
 
         // Add the versions to the metadata model.
-        metadata.setAvailableVersions(sortedVersions);
+        metadata.setAvailableVersions( sortedVersions );
 
-        metadata.setLatestVersion(latestVersion);
-        metadata.setReleasedVersion(releaseVersion);
+        metadata.setLatestVersion( latestVersion );
+        metadata.setReleasedVersion( releaseVersion );
     }
 
     private Date toLastUpdatedDate( long lastUpdated )
@@ -666,7 +677,7 @@ public class MetadataTools
 
         return cal.getTime();
     }
-    
+
     private long toLastUpdatedLong( String timestampString )
     {
         try
@@ -739,13 +750,13 @@ public class MetadataTools
      * 2) If this is a RELEASE reference, and the metadata file does not exist, then
      * create the metadata file with contents required of the VersionedReference
      *
-     * @deprecated
      * @param managedRepository the managed repository where the metadata is kept.
      * @param reference         the versioned reference to update
      * @throws LayoutException
      * @throws RepositoryMetadataException
      * @throws IOException
-     * @throws ContentNotFoundException 
+     * @throws ContentNotFoundException
+     * @deprecated
      */
     public void updateMetadata( ManagedRepositoryContent managedRepository, VersionedReference reference )
         throws LayoutException, RepositoryMetadataException, IOException, ContentNotFoundException
@@ -757,7 +768,7 @@ public class MetadataTools
         ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
         metadata.setGroupId( reference.getGroupId() );
         metadata.setArtifactId( reference.getArtifactId() );
-        
+
         if ( VersionUtil.isSnapshot( reference.getVersion() ) )
         {
             // Do SNAPSHOT handling.
@@ -769,8 +780,8 @@ public class MetadataTools
 
             if ( snapshotVersions.isEmpty() )
             {
-                throw new ContentNotFoundException( "No snapshot versions found on reference ["
-                    + VersionedReference.toKey( reference ) + "]." );
+                throw new ContentNotFoundException(
+                    "No snapshot versions found on reference [" + VersionedReference.toKey( reference ) + "]." );
             }
 
             // sort the list to determine to aide in determining the Latest version.
@@ -797,11 +808,11 @@ public class MetadataTools
                     {
                         String tsDate = mtimestamp.group( 1 );
                         String tsTime = mtimestamp.group( 2 );
-                        
+
                         long snapshotLastUpdated = toLastUpdatedLong( tsDate + tsTime );
-                        
+
                         lastUpdated = Math.max( lastUpdated, snapshotLastUpdated );
-                        
+
                         metadata.getSnapshotVersion().setTimestamp( m.group( 2 ) );
                     }
                 }
@@ -837,8 +848,8 @@ public class MetadataTools
             }
             else
             {
-                throw new RepositoryMetadataException( "Unable to process snapshot version <" + latestVersion
-                    + "> reference <" + reference + ">" );
+                throw new RepositoryMetadataException(
+                    "Unable to process snapshot version <" + latestVersion + "> reference <" + reference + ">" );
             }
         }
         else
@@ -873,7 +884,7 @@ public class MetadataTools
             this.proxies.clear();
 
             List<ProxyConnectorConfiguration> proxyConfigs = configuration.getConfiguration().getProxyConnectors();
-            for( ProxyConnectorConfiguration proxyConfig: proxyConfigs )
+            for ( ProxyConnectorConfiguration proxyConfig : proxyConfigs )
             {
                 String key = proxyConfig.getSourceRepoId();
 
@@ -901,7 +912,8 @@ public class MetadataTools
      * @throws IOException     if the versioned reference is invalid (example: doesn't exist, or isn't a directory)
      * @throws LayoutException
      */
-    public ArtifactReference getFirstArtifact( ManagedRepositoryContent managedRepository, VersionedReference reference )
+    public ArtifactReference getFirstArtifact( ManagedRepositoryContent managedRepository,
+                                               VersionedReference reference )
         throws LayoutException, IOException
     {
         String path = toPath( reference );
@@ -917,13 +929,13 @@ public class MetadataTools
         if ( !repoDir.exists() )
         {
             throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: "
-                + repoDir.getAbsolutePath() );
+                                       + repoDir.getAbsolutePath() );
         }
 
         if ( !repoDir.isDirectory() )
         {
-            throw new IOException( "Unable to gather the list of snapshot versions on a non-directory: "
-                + repoDir.getAbsolutePath() );
+            throw new IOException(
+                "Unable to gather the list of snapshot versions on a non-directory: " + repoDir.getAbsolutePath() );
         }
 
         File repoFiles[] = repoDir.listFiles();
@@ -948,4 +960,24 @@ public class MetadataTools
         // No artifact was found.
         return null;
     }
+
+    public ArchivaConfiguration getConfiguration()
+    {
+        return configuration;
+    }
+
+    public void setConfiguration( ArchivaConfiguration configuration )
+    {
+        this.configuration = configuration;
+    }
+
+    public FileTypes getFiletypes()
+    {
+        return filetypes;
+    }
+
+    public void setFiletypes( FileTypes filetypes )
+    {
+        this.filetypes = filetypes;
+    }
 }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java Wed May 25 15:31:30 2011
@@ -19,10 +19,15 @@ package org.apache.maven.archiva.reposit
  * under the License.
  */
 
+import junit.framework.TestCase;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
-import org.codehaus.plexus.spring.PlexusInSpringTestCase;
+import org.junit.runner.RunWith;
+import org.springframework.context.ApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
+import javax.inject.Inject;
 import java.io.File;
 
 /**
@@ -30,18 +35,14 @@ import java.io.File;
  *
  * @version $Id$
  */
+@RunWith( SpringJUnit4ClassRunner.class )
+@ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml", "classpath:/spring-context.xml" } )
 public abstract class AbstractRepositoryLayerTestCase
-    extends PlexusInSpringTestCase
+    extends TestCase
 {
-    /**
-     * {@inheritDoc}
-     * @see org.codehaus.plexus.spring.PlexusInSpringTestCase#getSpringConfigLocation()
-     */
-    @Override
-    protected String getSpringConfigLocation()
-    {
-        return "org/apache/maven/archiva/repository/spring-context.xml";
-    }
+
+    @Inject
+    protected ApplicationContext applicationContext;
 
     protected ManagedRepositoryConfiguration createRepository( String id, String name, File location )
     {
@@ -61,7 +62,8 @@ public abstract class AbstractRepository
         return repo;
     }
 
-    protected ManagedRepositoryContent createManagedRepositoryContent( String id, String name, File location, String layout )
+    protected ManagedRepositoryContent createManagedRepositoryContent( String id, String name, File location,
+                                                                       String layout )
         throws Exception
     {
         ManagedRepositoryConfiguration repo = new ManagedRepositoryConfiguration();
@@ -70,7 +72,8 @@ public abstract class AbstractRepository
         repo.setLocation( location.getAbsolutePath() );
         repo.setLayout( layout );
 
-        ManagedRepositoryContent repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, layout );
+        ManagedRepositoryContent repoContent =
+            applicationContext.getBean( "managedRepositoryContent#" + layout, ManagedRepositoryContent.class );
         repoContent.setRepository( repo );
 
         return repoContent;
@@ -85,7 +88,8 @@ public abstract class AbstractRepository
         repo.setUrl( url );
         repo.setLayout( layout );
 
-        RemoteRepositoryContent repoContent = (RemoteRepositoryContent) lookup( RemoteRepositoryContent.class, layout );
+        RemoteRepositoryContent repoContent =
+            applicationContext.getBean( "remoteRepositoryContent#" + layout, RemoteRepositoryContent.class );
         repoContent.setRepository( repo );
 
         return repoContent;

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/MockConfiguration.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/MockConfiguration.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/MockConfiguration.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/MockConfiguration.java Wed May 25 15:31:30 2011
@@ -26,6 +26,7 @@ import org.codehaus.plexus.registry.Regi
 import org.codehaus.plexus.registry.RegistryException;
 import org.codehaus.plexus.registry.RegistryListener;
 import org.easymock.MockControl;
+import org.springframework.stereotype.Service;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -35,9 +36,10 @@ import java.util.Set;
  *
  * @version $Id$
  * 
- * @plexus.component role="org.apache.maven.archiva.configuration.ArchivaConfiguration"
+ * plexus.component role="org.apache.maven.archiva.configuration.ArchivaConfiguration"
  *                   role-hint="mock"
  */
+@Service("archivaConfiguration#mock")
 public class MockConfiguration
     implements ArchivaConfiguration
 {

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java?rev=1127555&r1=1127554&r2=1127555&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java Wed May 25 15:31:30 2011
@@ -23,6 +23,7 @@ import org.apache.commons.lang.StringUti
 import org.apache.maven.archiva.model.ArtifactReference;
 import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase;
 import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.junit.Test;
 
 /**
  * AbstractDefaultRepositoryContentTestCase 
@@ -32,37 +33,44 @@ import org.apache.maven.archiva.reposito
 public abstract class AbstractDefaultRepositoryContentTestCase
     extends AbstractRepositoryLayerTestCase
 {
+    @Test
     public void testBadPathMissingType()
     {
         assertBadPath( "invalid/invalid/1/invalid-1", "missing type" );
     }
 
+    @Test
     public void testBadPathReleaseInSnapshotDir()
     {
         assertBadPath( "invalid/invalid/1.0-SNAPSHOT/invalid-1.0.jar", "non snapshot artifact inside of a snapshot dir" );
     }
 
+    @Test
     public void testBadPathTimestampedSnapshotNotInSnapshotDir()
     {
         assertBadPath( "invalid/invalid/1.0-20050611.123456-1/invalid-1.0-20050611.123456-1.jar",
                        "Timestamped Snapshot artifact not inside of an Snapshot dir" );
     }
 
+    @Test
     public void testBadPathTooShort()
     {
         assertBadPath( "invalid/invalid-1.0.jar", "path is too short" );
     }
 
+    @Test
     public void testBadPathVersionMismatchA()
     {
         assertBadPath( "invalid/invalid/1.0/invalid-2.0.jar", "version mismatch between path and artifact" );
     }
 
+    @Test
     public void testBadPathVersionMismatchB()
     {
         assertBadPath( "invalid/invalid/1.0/invalid-1.0b.jar", "version mismatch between path and artifact" );
     }
 
+    @Test
     public void testBadPathWrongArtifactId()
     {
         assertBadPath( "org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar",
@@ -74,6 +82,7 @@ public abstract class AbstractDefaultRep
      * Example of an oddball / unusual version spec.
      * @throws LayoutException 
      */
+    @Test
     public void testGoodButOddVersionSpecGanymedSsh2()
         throws LayoutException
     {
@@ -92,6 +101,7 @@ public abstract class AbstractDefaultRep
      * Example of an oddball / unusual version spec.
      * @throws LayoutException 
      */
+    @Test
     public void testGoodButOddVersionSpecJavaxComm()
         throws LayoutException
     {
@@ -131,6 +141,7 @@ public abstract class AbstractDefaultRep
      * Example of an oddball / unusual version spec.
      * @throws LayoutException 
      */
+    @Test
     public void testGoodButOddVersionSpecJavaxPersistence()
         throws LayoutException
     {
@@ -151,6 +162,7 @@ public abstract class AbstractDefaultRep
         assertLayout( path, groupId, artifactId, version, classifier, type );
     }
 
+    @Test
     public void testGoodComFooTool()
         throws LayoutException
     {
@@ -164,6 +176,7 @@ public abstract class AbstractDefaultRep
         assertLayout( path, groupId, artifactId, version, classifier, type );
     }
 
+    @Test
     public void testGoodCommonsLang()
         throws LayoutException
     {
@@ -180,6 +193,7 @@ public abstract class AbstractDefaultRep
     /**
      * [MRM-486] Can not deploy artifact test.maven-arch:test-arch due to "No ArtifactID Detected"
      */
+    @Test
     public void testGoodDashedArtifactId()
         throws LayoutException
     {
@@ -196,6 +210,7 @@ public abstract class AbstractDefaultRep
     /**
      * It may seem odd, but this is a valid artifact.
      */
+    @Test
     public void testGoodDotNotationArtifactId()
         throws LayoutException
     {
@@ -212,6 +227,7 @@ public abstract class AbstractDefaultRep
     /**
      * It may seem odd, but this is a valid artifact.
      */
+    @Test
     public void testGoodDotNotationSameGroupIdAndArtifactId()
         throws LayoutException
     {
@@ -229,6 +245,7 @@ public abstract class AbstractDefaultRep
      * Test the classifier, and java-source type spec.
      * @throws LayoutException 
      */
+    @Test
     public void testGoodFooLibSources()
         throws LayoutException
     {
@@ -246,6 +263,7 @@ public abstract class AbstractDefaultRep
      * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory.
      * @throws LayoutException 
      */
+    @Test
     public void testGoodSnapshotMavenTest()
         throws LayoutException
     {
@@ -263,6 +281,7 @@ public abstract class AbstractDefaultRep
      * [MRM-519] version identifiers within filename cause misidentification of version.
      * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
      */
+    @Test
     public void testGoodVersionKeywordInArtifactId()
         throws LayoutException
     {
@@ -280,6 +299,7 @@ public abstract class AbstractDefaultRep
      * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
      * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
      */
+    @Test
     public void testGoodDetectMavenTestPlugin()
         throws LayoutException
     {
@@ -296,6 +316,7 @@ public abstract class AbstractDefaultRep
     /**
      * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
      */
+    @Test
     public void testGoodDetectCoberturaMavenPlugin()
         throws LayoutException
     {
@@ -309,6 +330,7 @@ public abstract class AbstractDefaultRep
         assertLayout( path, groupId, artifactId, version, classifier, type );
     }
 
+    @Test
     public void testToArtifactOnEmptyPath()
     {
         try
@@ -322,6 +344,7 @@ public abstract class AbstractDefaultRep
         }
     }
 
+    @Test
     public void testToArtifactOnNullPath()
     {
         try
@@ -335,6 +358,7 @@ public abstract class AbstractDefaultRep
         }
     }
 
+    @Test
     public void testToArtifactReferenceOnEmptyPath()
     {
         try
@@ -348,6 +372,7 @@ public abstract class AbstractDefaultRep
         }
     }
 
+    @Test
     public void testToArtifactReferenceOnNullPath()
     {
         try
@@ -361,6 +386,7 @@ public abstract class AbstractDefaultRep
         }
     }
 
+    @Test
     public void testToPathOnNullArtifactReference()
 
     {