You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2009/09/18 10:58:50 UTC
svn commit: r816545 - in /archiva/trunk/archiva-modules:
archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/
archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/tasks/
archiva-scheduled/src/test/java/org/apache/maven/arch...
Author: oching
Date: Fri Sep 18 08:58:50 2009
New Revision: 816545
URL: http://svn.apache.org/viewvc?rev=816545&view=rev
Log:
[MRM-1056] Option to force scanning of an artifact/repository regardless of file dates
o added new method for creating task with scanAll flag
o added unit tests for creating tasks with different configs
Added:
archiva/trunk/archiva-modules/archiva-scheduled/src/test/java/org/apache/maven/archiva/scheduled/tasks/
archiva/trunk/archiva-modules/archiva-scheduled/src/test/java/org/apache/maven/archiva/scheduled/tasks/TaskCreatorTest.java
Modified:
archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java
archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/RepositoryTaskJob.java
archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/tasks/TaskCreator.java
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
Modified: archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java?rev=816545&r1=816544&r2=816545&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java (original)
+++ archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java Fri Sep 18 08:58:50 2009
@@ -428,7 +428,7 @@
private synchronized void queueInitialRepoScan( ManagedRepositoryConfiguration repoConfig )
{
String repoId = repoConfig.getId();
- RepositoryTask task = TaskCreator.createRepositoryTask( repoId, "initial-scan", true );
+ RepositoryTask task = TaskCreator.createRepositoryTask( repoId, "initial-scan" );
if ( queuedRepos.contains( repoId ) )
{
Modified: archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/RepositoryTaskJob.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/RepositoryTaskJob.java?rev=816545&r1=816544&r2=816545&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/RepositoryTaskJob.java (original)
+++ archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/RepositoryTaskJob.java Fri Sep 18 08:58:50 2009
@@ -59,7 +59,7 @@
TaskQueue taskQueue = (TaskQueue) dataMap.get( TASK_QUEUE );
String queuePolicy = dataMap.get( TASK_QUEUE_POLICY ).toString();
- RepositoryTask task = TaskCreator.createRepositoryTask( (String) dataMap.get( TASK_REPOSITORY ), "", true );
+ RepositoryTask task = TaskCreator.createRepositoryTask( (String) dataMap.get( TASK_REPOSITORY ), "" );
task.setName( context.getJobDetail().getName() );
try
Modified: archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/tasks/TaskCreator.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/tasks/TaskCreator.java?rev=816545&r1=816544&r2=816545&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/tasks/TaskCreator.java (original)
+++ archiva/trunk/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/tasks/TaskCreator.java Fri Sep 18 08:58:50 2009
@@ -31,7 +31,7 @@
*/
public class TaskCreator
{
- public static RepositoryTask createRepositoryTask( String repositoryId, String taskNameSuffix, boolean scanAll )
+ public static RepositoryTask createRepositoryTask( String repositoryId, String taskNameSuffix )
{
String suffix = "";
if( !StringUtils.isEmpty( taskNameSuffix ) )
@@ -43,18 +43,34 @@
task.setRepositoryId( repositoryId );
task.setName( DefaultArchivaTaskScheduler.REPOSITORY_JOB + ":" + repositoryId + suffix );
task.setQueuePolicy( ArchivaTask.QUEUE_POLICY_WAIT );
+
+ return task;
+ }
+
+ public static RepositoryTask createRepositoryTask( String repositoryId, String taskNameSuffix, boolean scanAll )
+ {
+ RepositoryTask task = createRepositoryTask( repositoryId, taskNameSuffix );
task.setScanAll( scanAll );
return task;
}
public static RepositoryTask createRepositoryTask( String repositoryId, String taskNameSuffix, File resourceFile,
- boolean updateRelatedArtifacts, boolean scanAll )
+ boolean updateRelatedArtifacts )
{
- RepositoryTask task = createRepositoryTask( repositoryId, taskNameSuffix, scanAll );
+ RepositoryTask task = createRepositoryTask( repositoryId, taskNameSuffix );
task.setResourceFile( resourceFile );
task.setUpdateRelatedArtifacts( updateRelatedArtifacts );
-
+
+ return task;
+ }
+
+ public static RepositoryTask createRepositoryTask( String repositoryId, String taskNameSuffix, File resourceFile,
+ boolean updateRelatedArtifacts, boolean scanAll )
+ {
+ RepositoryTask task = createRepositoryTask( repositoryId, taskNameSuffix, resourceFile, updateRelatedArtifacts );
+ task.setScanAll( scanAll );
+
return task;
}
Added: archiva/trunk/archiva-modules/archiva-scheduled/src/test/java/org/apache/maven/archiva/scheduled/tasks/TaskCreatorTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduled/src/test/java/org/apache/maven/archiva/scheduled/tasks/TaskCreatorTest.java?rev=816545&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-scheduled/src/test/java/org/apache/maven/archiva/scheduled/tasks/TaskCreatorTest.java (added)
+++ archiva/trunk/archiva-modules/archiva-scheduled/src/test/java/org/apache/maven/archiva/scheduled/tasks/TaskCreatorTest.java Fri Sep 18 08:58:50 2009
@@ -0,0 +1,115 @@
+package org.apache.maven.archiva.scheduled.tasks;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+
+import org.apache.maven.archiva.scheduled.DefaultArchivaTaskScheduler;
+import org.codehaus.plexus.spring.PlexusInSpringTestCase;
+
+public class TaskCreatorTest
+ extends PlexusInSpringTestCase
+{
+ private static final String REPO_ID = "test-repo";
+
+ private static final String TASKNAME_SUFFIX = "test-task";
+
+ public void testCreateRepositoryTask()
+ throws Exception
+ {
+ RepositoryTask task = TaskCreator.createRepositoryTask( REPO_ID, "" );
+
+ assertEquals( "Incorrect repository id set.", REPO_ID, task.getRepositoryId() );
+ assertEquals( "Incorrect queue policy set.", ArchivaTask.QUEUE_POLICY_WAIT, task.getQueuePolicy() );
+ assertEquals( "Incorrect task name set.", DefaultArchivaTaskScheduler.REPOSITORY_JOB + ":" + REPO_ID,
+ task.getName() );
+ }
+
+ public void testCreateRepositoryTaskWithTaskNameSuffix()
+ throws Exception
+ {
+ RepositoryTask task = TaskCreator.createRepositoryTask( REPO_ID, TASKNAME_SUFFIX );
+
+ assertBasicTaskDetails( task );
+ }
+
+ public void testCreateRepositoryTaskScanAllArtifacts()
+ throws Exception
+ {
+ RepositoryTask task = TaskCreator.createRepositoryTask( REPO_ID, TASKNAME_SUFFIX, true );
+
+ assertBasicTaskDetails( task );
+ assertTrue( task.scanAll );
+ }
+
+ public void testCreateRepositoryTaskDoNotScanAllArtifacts()
+ throws Exception
+ {
+ RepositoryTask task = TaskCreator.createRepositoryTask( REPO_ID, TASKNAME_SUFFIX, false );
+
+ assertBasicTaskDetails( task );
+ assertFalse( task.scanAll );
+ }
+
+ public void testCreateRepositoryTaskForArtifactUpdateAllRelated()
+ throws Exception
+ {
+ File resource = new File( getBasedir(), "target/test-classes/test.jar" );
+ RepositoryTask task = TaskCreator.createRepositoryTask( REPO_ID, TASKNAME_SUFFIX, resource, true );
+
+ assertBasicTaskDetails( task );
+ assertEquals( "Incorrect resource file set.", resource, task.getResourceFile() );
+ assertTrue( task.updateRelatedArtifacts );
+ }
+
+ public void testCreateRepositoryTaskForArtifactDoNotUpdateAllRelated()
+ throws Exception
+ {
+ File resource = new File( getBasedir(), "target/test-classes/test.jar" );
+ RepositoryTask task = TaskCreator.createRepositoryTask( REPO_ID, TASKNAME_SUFFIX, resource, false );
+
+ assertBasicTaskDetails( task );
+ assertEquals( "Incorrect resource file set.", resource, task.getResourceFile() );
+ assertFalse( task.updateRelatedArtifacts );
+ }
+
+ public void testCreateIndexingTask()
+ throws Exception
+ {
+ File resource = new File( getBasedir(), "target/test-classes/test.jar" );
+ ArtifactIndexingTask task = TaskCreator.createIndexingTask( REPO_ID, resource, ArtifactIndexingTask.ADD );
+
+ assertEquals( "Incorrect repository id set.", REPO_ID, task.getRepositoryId() );
+ assertEquals( "Incorrect queue policy set.", ArchivaTask.QUEUE_POLICY_WAIT, task.getQueuePolicy() );
+ assertEquals( "Incorrect task name set.", DefaultArchivaTaskScheduler.INDEXING_JOB + ":" + REPO_ID + ":" +
+ resource.getName() + ":" + ArtifactIndexingTask.ADD, task.getName() );
+ assertEquals( "Incorrect action set.", ArtifactIndexingTask.ADD, task.getAction() );
+ assertEquals( "Incorrect resource file set.", resource, task.getResourceFile() );
+ }
+
+ private void assertBasicTaskDetails( RepositoryTask task )
+ {
+ assertEquals( "Incorrect repository id set.", REPO_ID, task.getRepositoryId() );
+ assertEquals( "Incorrect task name set.", DefaultArchivaTaskScheduler.REPOSITORY_JOB + ":" + REPO_ID + ":" +
+ TASKNAME_SUFFIX, task.getName() );
+ assertEquals( "Incorrect queue policy set.", ArchivaTask.QUEUE_POLICY_WAIT, task.getQueuePolicy() );
+ }
+
+}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java?rev=816545&r1=816544&r2=816545&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java Fri Sep 18 08:58:50 2009
@@ -313,7 +313,7 @@
}
}
- RepositoryTask task = TaskCreator.createRepositoryTask( repoId, "", false );
+ RepositoryTask task = TaskCreator.createRepositoryTask( repoId, "" );
taskScheduler.queueRepositoryTask( task );