Author: olamy
Date: Thu Aug 18 08:17:26 2011
New Revision: 1159077
URL: http://svn.apache.org/viewvc?rev=1159077&view=rev
Log:
fix unit test, ArtifactIndexingTask has now a new field onlyUpdate to prevent
full scan after only adding a file
Modified:
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
Modified:
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java?rev=1159077&r1=1159076&r2=1159077&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
(original)
+++
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
Thu Aug 18 08:17:26 2011
@@ -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 )
{
Modified:
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java?rev=1159077&r1=1159076&r2=1159077&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java
(original)
+++
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java
Thu Aug 18 08:17:26 2011
@@ -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<? extends IndexCreator>
indexCreators )
throws IOException, UnsupportedExistingLuceneIndexException
Modified:
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java?rev=1159077&r1=1159076&r2=1159077&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
Thu Aug 18 08:17:26 2011
@@ -278,12 +278,15 @@ public class ArchivaIndexingTaskExecutor
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 ArchivaIndexingTaskExecutor
FlatSearchRequest request = new FlatSearchRequest( q,
getIndexingContext() );
FlatSearchResponse response = indexer.searchFlat( request );
- assertEquals( 1, response.getTotalHits() );
-
Set<ArtifactInfo> 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 )