aboutsummaryrefslogtreecommitdiffstats
path: root/archiva-modules/archiva-scheduler
diff options
context:
space:
mode:
authorMartin Stockhammer <martin_s@apache.org>2017-11-01 15:38:42 +0100
committerMartin Stockhammer <martin_s@apache.org>2017-11-01 15:38:42 +0100
commit32ff2ca265ac92be20f2941c7d4a291834e950f9 (patch)
treef135df2d76d4b2cd11cba93f34337be4102ed841 /archiva-modules/archiva-scheduler
parent9469c1b67f5a667b99b1810ddd95642164ba2ec3 (diff)
downloadarchiva-32ff2ca265ac92be20f2941c7d4a291834e950f9.tar.gz
archiva-32ff2ca265ac92be20f2941c7d4a291834e950f9.zip
Adapting the scheduler to the new repository api
Diffstat (limited to 'archiva-modules/archiva-scheduler')
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java119
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java2
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java58
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java3
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/resources/spring-context.xml8
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-repository/pom.xml1
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java8
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java11
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/AbstractArchivaRepositoryScanningTaskExecutorTest.java11
-rw-r--r--archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/TestConsumer.java12
-rwxr-xr-xarchiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/resources/spring-context.xml5
11 files changed, 135 insertions, 103 deletions
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
index 666715f03..1bab9212d 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
@@ -21,11 +21,12 @@ package org.apache.archiva.scheduler.indexing;
*/
import org.apache.archiva.admin.model.RepositoryAdminException;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
import org.apache.archiva.redback.components.taskqueue.Task;
import org.apache.archiva.redback.components.taskqueue.execution.TaskExecutionException;
import org.apache.archiva.redback.components.taskqueue.execution.TaskExecutor;
+import org.apache.archiva.repository.ManagedRepository;
+import org.apache.archiva.repository.features.IndexCreationFeature;
import org.apache.maven.index.ArtifactContext;
import org.apache.maven.index.ArtifactContextProducer;
import org.apache.maven.index.FlatSearchRequest;
@@ -84,138 +85,138 @@ public class ArchivaIndexingTaskExecutor
{
ArtifactIndexingTask indexingTask = (ArtifactIndexingTask) task;
- ManagedRepository repository = indexingTask.getRepository();
- IndexingContext context = indexingTask.getContext();
+ ManagedRepository repository = indexingTask.getRepository( );
+ IndexingContext context = indexingTask.getContext( );
- if ( ArtifactIndexingTask.Action.FINISH.equals( indexingTask.getAction() )
- && indexingTask.isExecuteOnEntireRepo() )
+ if ( ArtifactIndexingTask.Action.FINISH.equals( indexingTask.getAction( ) )
+ && indexingTask.isExecuteOnEntireRepo( ) )
{
try
{
- long start = System.currentTimeMillis();
- nexusIndexer.scan( context, null, indexingTask.isOnlyUpdate() );
- long end = System.currentTimeMillis();
- log.info( "indexed maven repository: {}, onlyUpdate: {}, time {} ms", repository.getId(),
- indexingTask.isOnlyUpdate(), ( end - start ) );
+ long start = System.currentTimeMillis( );
+ nexusIndexer.scan( context, null, indexingTask.isOnlyUpdate( ) );
+ long end = System.currentTimeMillis( );
+ log.info( "indexed maven repository: {}, onlyUpdate: {}, time {} ms", repository.getId( ),
+ indexingTask.isOnlyUpdate( ), ( end - start ) );
}
catch ( IOException e )
{
throw new TaskExecutionException( "Error scan repository " + repository, e );
}
- log.debug( "Finishing indexing task on repo: {}", repository.getId() );
+ log.debug( "Finishing indexing task on repo: {}", repository.getId( ) );
finishIndexingTask( indexingTask, repository, context );
}
else
{
// create context if not a repo scan request
- if ( !indexingTask.isExecuteOnEntireRepo() )
+ if ( !indexingTask.isExecuteOnEntireRepo( ) )
{
try
{
log.debug( "Creating indexing context on resource: {}", //
- ( indexingTask.getResourceFile() == null
- ? "none"
- : indexingTask.getResourceFile() ) );
+ ( indexingTask.getResourceFile( ) == null
+ ? "none"
+ : indexingTask.getResourceFile( ) ) );
context = managedRepositoryAdmin.createIndexContext( repository );
}
catch ( RepositoryAdminException e )
{
- log.error( "Error occurred while creating context: {}", e.getMessage() );
- throw new TaskExecutionException( "Error occurred while creating context: " + e.getMessage(), e );
+ log.error( "Error occurred while creating context: {}", e.getMessage( ) );
+ throw new TaskExecutionException( "Error occurred while creating context: " + e.getMessage( ), e );
}
}
- if ( context == null || context.getIndexDirectory() == null )
+ if ( context == null || context.getIndexDirectory( ) == null )
{
throw new TaskExecutionException( "Trying to index an artifact but the context is already closed" );
}
try
{
- Path artifactFile = indexingTask.getResourceFile();
+ Path artifactFile = indexingTask.getResourceFile( );
if ( artifactFile == null )
{
log.debug( "no artifact pass in indexing task so skip it" );
}
else
{
- ArtifactContext ac = artifactContextProducer.getArtifactContext( context, artifactFile.toFile() );
+ ArtifactContext ac = artifactContextProducer.getArtifactContext( context, artifactFile.toFile( ) );
if ( ac != null )
{
// MRM-1779 pom must be indexed too
// TODO make that configurable?
- if ( artifactFile.getFileName().toString().endsWith( ".pom" ) )
+ if ( artifactFile.getFileName( ).toString( ).endsWith( ".pom" ) )
{
- ac.getArtifactInfo().setFileExtension( "pom" );
- ac.getArtifactInfo().setPackaging( "pom" );
- ac.getArtifactInfo().setClassifier( "pom" );
+ ac.getArtifactInfo( ).setFileExtension( "pom" );
+ ac.getArtifactInfo( ).setPackaging( "pom" );
+ ac.getArtifactInfo( ).setClassifier( "pom" );
}
- if ( indexingTask.getAction().equals( ArtifactIndexingTask.Action.ADD ) )
+ if ( indexingTask.getAction( ).equals( ArtifactIndexingTask.Action.ADD ) )
{
//IndexSearcher s = context.getIndexSearcher();
//String uinfo = ac.getArtifactInfo().getUinfo();
//TopDocs d = s.search( new TermQuery( new Term( ArtifactInfo.UINFO, uinfo ) ), 1 );
- BooleanQuery q = new BooleanQuery();
+ BooleanQuery q = new BooleanQuery( );
q.add( nexusIndexer.constructQuery( MAVEN.GROUP_ID, new SourcedSearchExpression(
- ac.getArtifactInfo().getGroupId() ) ), BooleanClause.Occur.MUST );
+ ac.getArtifactInfo( ).getGroupId( ) ) ), BooleanClause.Occur.MUST );
q.add( nexusIndexer.constructQuery( MAVEN.ARTIFACT_ID, new SourcedSearchExpression(
- ac.getArtifactInfo().getArtifactId() ) ), BooleanClause.Occur.MUST );
+ ac.getArtifactInfo( ).getArtifactId( ) ) ), BooleanClause.Occur.MUST );
q.add( nexusIndexer.constructQuery( MAVEN.VERSION, new SourcedSearchExpression(
- ac.getArtifactInfo().getVersion() ) ), BooleanClause.Occur.MUST );
- if ( ac.getArtifactInfo().getClassifier() != null )
+ ac.getArtifactInfo( ).getVersion( ) ) ), BooleanClause.Occur.MUST );
+ if ( ac.getArtifactInfo( ).getClassifier( ) != null )
{
q.add( nexusIndexer.constructQuery( MAVEN.CLASSIFIER, new SourcedSearchExpression(
- ac.getArtifactInfo().getClassifier() ) ), BooleanClause.Occur.MUST );
+ ac.getArtifactInfo( ).getClassifier( ) ) ), BooleanClause.Occur.MUST );
}
- if ( ac.getArtifactInfo().getPackaging() != null )
+ if ( ac.getArtifactInfo( ).getPackaging( ) != null )
{
q.add( nexusIndexer.constructQuery( MAVEN.PACKAGING, new SourcedSearchExpression(
- ac.getArtifactInfo().getPackaging() ) ), BooleanClause.Occur.MUST );
+ ac.getArtifactInfo( ).getPackaging( ) ) ), BooleanClause.Occur.MUST );
}
FlatSearchRequest flatSearchRequest = new FlatSearchRequest( q, context );
FlatSearchResponse flatSearchResponse = nexusIndexer.searchFlat( flatSearchRequest );
- if ( flatSearchResponse.getResults().isEmpty() )
+ if ( flatSearchResponse.getResults( ).isEmpty( ) )
{
- log.debug( "Adding artifact '{}' to index..", ac.getArtifactInfo() );
+ log.debug( "Adding artifact '{}' to index..", ac.getArtifactInfo( ) );
nexusIndexer.addArtifactToIndex( ac, context );
}
else
{
- log.debug( "Updating artifact '{}' in index..", ac.getArtifactInfo() );
+ log.debug( "Updating artifact '{}' in index..", ac.getArtifactInfo( ) );
// TODO check if update exists !!
nexusIndexer.deleteArtifactFromIndex( ac, context );
nexusIndexer.addArtifactToIndex( ac, context );
}
- context.updateTimestamp();
- context.commit();
+ context.updateTimestamp( );
+ context.commit( );
}
else
{
- log.debug( "Removing artifact '{}' from index..", ac.getArtifactInfo() );
+ log.debug( "Removing artifact '{}' from index..", ac.getArtifactInfo( ) );
nexusIndexer.deleteArtifactFromIndex( ac, context );
}
}
}
// close the context if not a repo scan request
- if ( !indexingTask.isExecuteOnEntireRepo() )
+ if ( !indexingTask.isExecuteOnEntireRepo( ) )
{
- log.debug( "Finishing indexing task on resource file : {}", indexingTask.getResourceFile() != null
- ? indexingTask.getResourceFile()
+ log.debug( "Finishing indexing task on resource file : {}", indexingTask.getResourceFile( ) != null
+ ? indexingTask.getResourceFile( )
: " none " );
finishIndexingTask( indexingTask, repository, context );
}
}
catch ( IOException e )
{
- log.error( "Error occurred while executing indexing task '{}': {}", indexingTask, e.getMessage(),
- e );
+ log.error( "Error occurred while executing indexing task '{}': {}", indexingTask, e.getMessage( ),
+ e );
throw new TaskExecutionException( "Error occurred while executing indexing task '" + indexingTask + "'",
- e );
+ e );
}
}
@@ -228,20 +229,26 @@ public class ArchivaIndexingTaskExecutor
try
{
- context.optimize();
+ context.optimize( );
- if ( !repository.isSkipPackedIndexCreation() )
+ if ( repository.supportsFeature( IndexCreationFeature.class ) )
{
+ IndexCreationFeature icf = repository.getFeature( IndexCreationFeature.class ).get( );
+ if ( !icf.isSkipPackedIndexCreation( ) )
+ {
- IndexPackingRequest request = new IndexPackingRequest( context, //
- context.acquireIndexSearcher().getIndexReader(),
- //
- context.getIndexDirectoryFile() );
+ IndexPackingRequest request = new IndexPackingRequest( context, //
+ context.acquireIndexSearcher( ).getIndexReader( ),
+ //
+ context.getIndexDirectoryFile( ) );
- indexPacker.packIndex( request );
- context.updateTimestamp( true );
+ indexPacker.packIndex( request );
+ context.updateTimestamp( true );
- log.debug( "Index file packaged at '{}'.", context.getIndexDirectoryFile() );
+ log.debug( "Index file packaged at '{}'.", context.getIndexDirectoryFile( ) );
+ } else {
+ log.debug( "skip packed index creation" );
+ }
}
else
{
@@ -250,9 +257,9 @@ public class ArchivaIndexingTaskExecutor
}
catch ( IOException e )
{
- log.error( "Error occurred while executing indexing task '{}': {}", indexingTask, e.getMessage() );
+ log.error( "Error occurred while executing indexing task '{}': {}", indexingTask, e.getMessage( ) );
throw new TaskExecutionException( "Error occurred while executing indexing task '" + indexingTask + "'",
- e );
+ e );
}
}
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java
index 59f9d37c2..d2ca16eb0 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java
@@ -19,8 +19,8 @@ package org.apache.archiva.scheduler.indexing;
* under the License.
*/
-import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.redback.components.taskqueue.Task;
+import org.apache.archiva.repository.ManagedRepository;
import org.apache.maven.index.context.IndexingContext;
import java.nio.file.Path;
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
index b0bbbb650..02c026174 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
@@ -20,8 +20,12 @@ package org.apache.archiva.scheduler.indexing;
*/
import junit.framework.TestCase;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
+import org.apache.archiva.common.utils.PathUtil;
+import org.apache.archiva.repository.BasicManagedRepository;
+import org.apache.archiva.repository.ManagedRepository;
+import org.apache.archiva.repository.ReleaseScheme;
+import org.apache.archiva.repository.features.ArtifactCleanupFeature;
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
import org.apache.maven.index.ArtifactInfo;
import org.apache.maven.index.FlatSearchRequest;
@@ -52,6 +56,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
+import java.util.Locale;
import java.util.Set;
/**
@@ -65,7 +70,7 @@ public class ArchivaIndexingTaskExecutorTest
@Inject
private ArchivaIndexingTaskExecutor indexingExecutor;
- private ManagedRepository repositoryConfig;
+ private BasicManagedRepository repositoryConfig;
@Inject
private NexusIndexer indexer;
@@ -86,16 +91,13 @@ public class ArchivaIndexingTaskExecutorTest
{
super.setUp();
- repositoryConfig = new ManagedRepository();
- repositoryConfig.setId( "test-repo" );
- repositoryConfig.setLocation(
- Paths.get( System.getProperty( "basedir" ), "target/test-classes/test-repo" ).toAbsolutePath().toString() );
+ repositoryConfig = new BasicManagedRepository( "test-repo", "Test Repository");
+ Path repoLocation = Paths.get( System.getProperty( "basedir" ), "target/test-classes/test-repo" ).toAbsolutePath();
+ repositoryConfig.setLocation(repoLocation.toUri() );
repositoryConfig.setLayout( "default" );
- repositoryConfig.setName( "Test Repository" );
repositoryConfig.setScanned( true );
- repositoryConfig.setSnapshots( false );
- repositoryConfig.setReleases( true );
-
+ repositoryConfig.addActiveReleaseScheme( ReleaseScheme.RELEASE );
+ repositoryConfig.removeActiveReleaseScheme( ReleaseScheme.SNAPSHOT );
managedRepositoryAdmin.createIndexContext( repositoryConfig );
}
@@ -132,7 +134,8 @@ public class ArchivaIndexingTaskExecutorTest
public void testAddArtifactToIndex()
throws Exception
{
- Path artifactFile = Paths.get( repositoryConfig.getLocation(),
+ Path basePath = PathUtil.getPathFromUri( repositoryConfig.getLocation() );
+ Path artifactFile = basePath.resolve(
"org/apache/archiva/archiva-index-methods-jar-test/1.0/archiva-index-methods-jar-test-1.0.jar" );
ArtifactIndexingTask task =
@@ -152,8 +155,8 @@ public class ArchivaIndexingTaskExecutorTest
{
IndexingContext context = indexer.addIndexingContext( repositoryConfig.getId(), //
repositoryConfig.getId(), //
- Paths.get( repositoryConfig.getLocation() ).toFile(), //
- Paths.get( repositoryConfig.getLocation(), ".indexer" ).toFile()
+ basePath.toFile(), //
+ basePath.resolve(".indexer" ).toFile()
//
, null, null, indexCreators );
context.setSearchable( true );
@@ -162,8 +165,8 @@ public class ArchivaIndexingTaskExecutorTest
FlatSearchRequest request = new FlatSearchRequest( q );
FlatSearchResponse response = indexer.searchFlat( request );
- assertTrue( Files.exists(Paths.get( repositoryConfig.getLocation(), ".indexer" )) );
- assertFalse( Files.exists(Paths.get( repositoryConfig.getLocation(), ".index" )) );
+ assertTrue( Files.exists(basePath.resolve( ".indexer" )) );
+ assertFalse( Files.exists(basePath.resolve(".index" )) );
assertEquals( 1, response.getTotalHits() );
Set<ArtifactInfo> results = response.getResults();
@@ -179,7 +182,8 @@ public class ArchivaIndexingTaskExecutorTest
public void testUpdateArtifactInIndex()
throws Exception
{
- Path artifactFile = Paths.get( repositoryConfig.getLocation(),
+ Path basePath = PathUtil.getPathFromUri( repositoryConfig.getLocation( ) );
+ Path artifactFile = basePath.resolve(
"org/apache/archiva/archiva-index-methods-jar-test/1.0/archiva-index-methods-jar-test-1.0.jar" );
ArtifactIndexingTask task =
@@ -204,8 +208,8 @@ public class ArchivaIndexingTaskExecutorTest
//searcher.close();
ctx.releaseIndexSearcher( searcher );
- assertTrue( Files.exists(Paths.get( repositoryConfig.getLocation(), ".indexer" )) );
- assertFalse( Files.exists(Paths.get( repositoryConfig.getLocation(), ".index" )) );
+ assertTrue( Files.exists(basePath.resolve(".indexer" )) );
+ assertFalse( Files.exists(basePath.resolve(".index" )) );
// should only return 1 hit!
assertEquals( 1, topDocs.totalHits );
@@ -215,7 +219,8 @@ public class ArchivaIndexingTaskExecutorTest
public void testRemoveArtifactFromIndex()
throws Exception
{
- Path artifactFile = Paths.get( repositoryConfig.getLocation(),
+ Path basePath = PathUtil.getPathFromUri( repositoryConfig.getLocation( ) );
+ Path artifactFile = basePath.resolve(
"org/apache/archiva/archiva-index-methods-jar-test/1.0/archiva-index-methods-jar-test-1.0.jar" );
ArtifactIndexingTask task =
@@ -237,8 +242,8 @@ public class ArchivaIndexingTaskExecutorTest
FlatSearchResponse response = indexer.searchFlat( flatSearchRequest );
- assertTrue( Files.exists(Paths.get( repositoryConfig.getLocation(), ".indexer" )) );
- assertFalse( Files.exists(Paths.get( repositoryConfig.getLocation(), ".index" )) );
+ assertTrue( Files.exists(basePath.resolve(".indexer" )) );
+ assertFalse( Files.exists(basePath.resolve( ".index" )) );
// should return 1 hit
assertEquals( 1, response.getTotalHitsCount() );
@@ -259,8 +264,8 @@ public class ArchivaIndexingTaskExecutorTest
new SourcedSearchExpression( "archiva-index-methods-jar-test" ) ),
BooleanClause.Occur.SHOULD );
- assertTrue( Files.exists(Paths.get( repositoryConfig.getLocation(), ".indexer" )) );
- assertFalse( Files.exists(Paths.get( repositoryConfig.getLocation(), ".index" )) );
+ assertTrue( Files.exists(basePath.resolve( ".indexer" )) );
+ assertFalse( Files.exists(basePath.resolve(".index" )) );
flatSearchRequest = new FlatSearchRequest( q, getIndexingContext() );
@@ -276,7 +281,8 @@ public class ArchivaIndexingTaskExecutorTest
throws Exception
{
- Path indexerDirectory =Paths.get( repositoryConfig.getLocation(), ".indexer" );
+ Path basePath = PathUtil.getPathFromUri( repositoryConfig.getLocation());
+ Path indexerDirectory =basePath.resolve( ".indexer" );
Files.list(indexerDirectory).filter( path -> path.getFileName().toString().startsWith("nexus-maven-repository-index") )
.forEach( path ->
@@ -292,7 +298,7 @@ public class ArchivaIndexingTaskExecutorTest
} );
- Path artifactFile = Paths.get( repositoryConfig.getLocation(),
+ Path artifactFile = basePath.resolve(
"org/apache/archiva/archiva-index-methods-jar-test/1.0/archiva-index-methods-jar-test-1.0.jar" );
ArtifactIndexingTask task =
@@ -318,7 +324,7 @@ public class ArchivaIndexingTaskExecutorTest
Assertions.assertThat( Files.exists(indexerDirectory.resolve("nexus-maven-repository-index.gz" ) ));
// unpack .zip index
- Path destDir = Paths.get( repositoryConfig.getLocation(), ".indexer/tmp" );
+ Path destDir = basePath.resolve( ".indexer/tmp" );
//unzipIndex( indexerDirectory.getPath(), destDir.getPath() );
DefaultIndexUpdater.FileFetcher fetcher = new DefaultIndexUpdater.FileFetcher( indexerDirectory.toFile() );
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java
index c40fc622d..0c80cd408 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java
@@ -50,6 +50,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
+import java.util.Locale;
import java.util.concurrent.TimeUnit;
import static org.assertj.core.api.Assertions.assertThat;
@@ -145,7 +146,7 @@ public class DownloadRemoteIndexTaskTest
protected RemoteRepository getRemoteRepository() throws IOException
{
- RemoteRepository remoteRepository = new RemoteRepository();
+ RemoteRepository remoteRepository = new RemoteRepository( Locale.getDefault());
Path indexDirectory =
Paths.get( FileUtils.getBasedir(), "target/index/test-" + Long.toString( System.currentTimeMillis() ) );
Files.createDirectories( indexDirectory );
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/resources/spring-context.xml b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/resources/spring-context.xml
index 8c31f0fc8..adec67c1f 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/resources/spring-context.xml
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/resources/spring-context.xml
@@ -20,10 +20,16 @@
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
+ http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"
default-lazy-init="true">
+ <context:component-scan base-package="org.apache.archiva.repository.content.maven2" />
+
+ <alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
+ <alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
+
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
<property name="properties">
<props>
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/pom.xml b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/pom.xml
index 881d68981..51b3a2c02 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/pom.xml
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/pom.xml
@@ -89,7 +89,6 @@
<dependency>
<groupId>org.apache.archiva</groupId>
<artifactId>archiva-repository-layer</artifactId>
- <scope>test</scope>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java
index 1ac363cd9..c3178eb11 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java
@@ -19,8 +19,8 @@ package org.apache.archiva.scheduler.repository;
* under the License.
*/
+import org.apache.archiva.repository.ManagedRepository;
import org.apache.archiva.admin.model.RepositoryAdminException;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataRepositoryException;
@@ -28,6 +28,7 @@ import org.apache.archiva.metadata.repository.RepositorySession;
import org.apache.archiva.metadata.repository.RepositorySessionFactory;
import org.apache.archiva.metadata.repository.stats.model.RepositoryStatistics;
import org.apache.archiva.metadata.repository.stats.model.RepositoryStatisticsManager;
+import org.apache.archiva.repository.RepositoryRegistry;
import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
import org.apache.archiva.repository.scanner.RepositoryScanStatistics;
import org.apache.archiva.repository.scanner.RepositoryScanner;
@@ -58,6 +59,9 @@ public class ArchivaRepositoryScanningTaskExecutor
private Logger log = LoggerFactory.getLogger( ArchivaRepositoryScanningTaskExecutor.class );
@Inject
+ RepositoryRegistry repositoryRegistry;
+
+ @Inject
private ManagedRepositoryAdmin managedRepositoryAdmin;
@Inject
@@ -107,7 +111,7 @@ public class ArchivaRepositoryScanningTaskExecutor
throw new TaskExecutionException( "Unable to execute RepositoryTask with blank repository Id." );
}
- ManagedRepository arepo = managedRepositoryAdmin.getManagedRepository( repoId );
+ ManagedRepository arepo = repositoryRegistry.getManagedRepository( repoId );
// execute consumers on resource file if set
if ( task.getResourceFile() != null )
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java
index d8dd8f38b..22aea17f8 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java
@@ -29,6 +29,7 @@ import org.apache.maven.index.context.IndexingContext;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
/**
@@ -52,10 +53,10 @@ public class MockManagedRepositoryAdmin
{
// TODO add staging repo information back too
ManagedRepository repo =
- new ManagedRepository( repoConfig.getId(), repoConfig.getName(), repoConfig.getLocation(),
+ new ManagedRepository( Locale.getDefault( ), repoConfig.getId(), repoConfig.getName(), repoConfig.getLocation(),
repoConfig.getLayout(), repoConfig.isSnapshots(), repoConfig.isReleases(),
repoConfig.isBlockRedeployments(), repoConfig.getRefreshCronExpression(),
- repoConfig.getIndexDir(), repoConfig.isScanned(), repoConfig.getRetentionTime(),
+ repoConfig.getIndexDir(), repoConfig.isScanned(), repoConfig.getRetentionPeriod(),
repoConfig.getRetentionCount(), repoConfig.isDeleteReleasedSnapshots(), true );
managedRepos.add( repo );
@@ -126,4 +127,10 @@ public class MockManagedRepositoryAdmin
{
return null;
}
+
+ @Override
+ public IndexingContext createIndexContext( org.apache.archiva.repository.ManagedRepository repository ) throws RepositoryAdminException
+ {
+ return null;
+ }
}
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/AbstractArchivaRepositoryScanningTaskExecutorTest.java b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/AbstractArchivaRepositoryScanningTaskExecutorTest.java
index 18902975d..9b31305ca 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/AbstractArchivaRepositoryScanningTaskExecutorTest.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/AbstractArchivaRepositoryScanningTaskExecutorTest.java
@@ -26,6 +26,8 @@ import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.stats.model.RepositoryStatisticsManager;
import org.apache.archiva.mock.MockRepositorySessionFactory;
import org.apache.archiva.redback.components.taskqueue.execution.TaskExecutor;
+import org.apache.archiva.repository.ManagedRepository;
+import org.apache.archiva.repository.RepositoryRegistry;
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
import org.codehaus.plexus.util.FileUtils;
import org.junit.After;
@@ -60,6 +62,9 @@ public abstract class AbstractArchivaRepositoryScanningTaskExecutorTest
extends TestCase
{
@Inject
+ RepositoryRegistry repositoryRegistry;
+
+ @Inject
@Named( value = "taskExecutor#test-repository-scanning" )
protected TaskExecutor taskExecutor;
@@ -134,8 +139,10 @@ public abstract class AbstractArchivaRepositoryScanningTaskExecutorTest
repositoryConfiguration.setId( TEST_REPO_ID );
repositoryConfiguration.setName( "Test Repository" );
repositoryConfiguration.setLocation( repoDir.toAbsolutePath().toString() );
- archivaConfig.getConfiguration().getManagedRepositories().clear();
- archivaConfig.getConfiguration().addManagedRepository( repositoryConfiguration );
+ for ( ManagedRepository repo : repositoryRegistry.getManagedRepositories()) {
+ repositoryRegistry.removeRepository( repo );
+ }
+ repositoryRegistry.putRepository( repositoryConfiguration );
metadataRepository = mock( MetadataRepository.class );
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/TestConsumer.java b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/TestConsumer.java
index 2de47a1c3..96376736e 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/TestConsumer.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/TestConsumer.java
@@ -19,14 +19,13 @@ package org.apache.archiva.scheduler.repository;
* under the License.
*/
-import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.consumers.AbstractMonitoredConsumer;
import org.apache.archiva.consumers.ConsumerException;
import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
import org.apache.archiva.model.ArtifactReference;
+import org.apache.archiva.repository.ManagedRepository;
import org.apache.archiva.repository.ManagedRepositoryContent;
import org.apache.archiva.repository.RepositoryContentFactory;
-import org.apache.archiva.repository.RepositoryException;
import org.apache.archiva.repository.layout.LayoutException;
import org.springframework.stereotype.Service;
@@ -80,14 +79,7 @@ public class TestConsumer
{
consumed.clear();
- try
- {
- this.repository = factory.getManagedRepositoryContent( repository.getId() );
- }
- catch ( RepositoryException e )
- {
- throw new ConsumerException( e.getMessage(), e );
- }
+ this.repository = repository.getContent();
}
@Override
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/resources/spring-context.xml b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/resources/spring-context.xml
index 4f499089c..4b4b0dfa6 100755
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/resources/spring-context.xml
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/resources/spring-context.xml
@@ -28,7 +28,10 @@
default-lazy-init="false">
<context:annotation-config/>
- <context:component-scan base-package="org.apache.archiva.metadata.repository"/>
+ <context:component-scan base-package="org.apache.archiva.metadata.repository,org.apache.archiva.repository.content.maven2"/>
+
+ <alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
+ <alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
<bean name="managedRepoAdmin#test" class="org.apache.archiva.mock.MockManagedRepositoryAdmin">
<property name="archivaConfiguration" ref="archivaConfiguration#test-repository-scanning"/>