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()
{