From 0ea6774509b2f863802c5fadeeb96421228952c0 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Thu, 18 Aug 2011 08:17:26 +0000 Subject: [PATCH] fix unit test, ArtifactIndexingTask has now a new field onlyUpdate to prevent full scan after only adding a file git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1159077 13f79535-47bb-0310-9956-ffa450edef68 --- .../indexing/ArchivaIndexingTaskExecutor.java | 4 +- .../indexing/ArtifactIndexingTask.java | 46 ++++++++++++++++--- .../ArchivaIndexingTaskExecutorTest.java | 9 ++-- 3 files changed, 46 insertions(+), 13 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 19a66eb06..ad047ff24 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 @@ -112,11 +112,9 @@ public class ArchivaIndexingTaskExecutor if ( ArtifactIndexingTask.Action.FINISH.equals( indexingTask.getAction() ) && indexingTask.isExecuteOnEntireRepo() ) { - // TODO update or not !! - // olamy currently do the full scan try { - nexusIndexer.scan( context, null, false ); + nexusIndexer.scan( context, null, indexingTask.isOnlyUpdate() ); } catch ( IOException 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 688d465f9..8302f89a7 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 @@ -51,6 +51,11 @@ public class ArtifactIndexingTask private boolean executeOnEntireRepo = true; + /** + * @since 1.4 + */ + private boolean onlyUpdate = false; + public ArtifactIndexingTask( ManagedRepositoryConfiguration repository, File resourceFile, Action action, IndexingContext context ) { @@ -67,6 +72,13 @@ public class ArtifactIndexingTask this.executeOnEntireRepo = executeOnEntireRepo; } + public ArtifactIndexingTask( ManagedRepositoryConfiguration repository, File resourceFile, Action action, + IndexingContext context, boolean executeOnEntireRepo, boolean onlyUpdate ) + { + this( repository, resourceFile, action, context, executeOnEntireRepo ); + this.onlyUpdate = onlyUpdate; + } + public boolean isExecuteOnEntireRepo() { return executeOnEntireRepo; @@ -92,13 +104,6 @@ public class ArtifactIndexingTask return action; } - @Override - public String toString() - { - return "ArtifactIndexingTask [action=" + action + ", repositoryId=" + repository.getId() + ", resourceFile=" - + resourceFile + "]"; - } - public ManagedRepositoryConfiguration getRepository() { return repository; @@ -109,6 +114,16 @@ public class ArtifactIndexingTask return context; } + public boolean isOnlyUpdate() + { + return onlyUpdate; + } + + public void setOnlyUpdate( boolean onlyUpdate ) + { + this.onlyUpdate = onlyUpdate; + } + @Override public int hashCode() { @@ -158,6 +173,23 @@ public class ArtifactIndexingTask return true; } + + @Override + public String toString() + { + return "ArtifactIndexingTask [action=" + action + ", repositoryId=" + repository.getId() + ", resourceFile=" + + resourceFile + "]"; + } + + /** + * FIXME remove this static somewhere else ! + * @param repository + * @param indexer + * @param indexCreators + * @return + * @throws IOException + * @throws UnsupportedExistingLuceneIndexException + */ public static IndexingContext createContext( ManagedRepositoryConfiguration repository, NexusIndexer indexer, List indexCreators ) throws IOException, UnsupportedExistingLuceneIndexException 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 23f265803..3b8da8e5d 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 @@ -278,12 +278,15 @@ public class ArchivaIndexingTaskExecutorTest ArtifactIndexingTask task = new ArtifactIndexingTask( repositoryConfig, artifactFile, ArtifactIndexingTask.Action.ADD, getIndexingContext() ); + task.setExecuteOnEntireRepo( false ); indexingExecutor.executeTask( task ); task = new ArtifactIndexingTask( repositoryConfig, artifactFile, ArtifactIndexingTask.Action.FINISH, getIndexingContext() ); + task.setExecuteOnEntireRepo( false ); + indexingExecutor.executeTask( task ); assertTrue( new File( repositoryConfig.getLocation(), ".indexer" ).exists() ); @@ -303,14 +306,14 @@ public class ArchivaIndexingTaskExecutorTest FlatSearchRequest request = new FlatSearchRequest( q, getIndexingContext() ); FlatSearchResponse response = indexer.searchFlat( request ); - assertEquals( 1, response.getTotalHits() ); - Set results = response.getResults(); - ArtifactInfo artifactInfo = (ArtifactInfo) results.iterator().next(); + ArtifactInfo artifactInfo = results.iterator().next(); assertEquals( "org.apache.archiva", artifactInfo.groupId ); assertEquals( "archiva-index-methods-jar-test", artifactInfo.artifactId ); assertEquals( "test-repo", artifactInfo.repository ); + + assertEquals( 1, response.getTotalHits() ); } private void unzipIndex( String indexDir, String destDir ) -- 2.39.5