Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java Thu Nov 19 17:16:20 2009 @@ -23,8 +23,10 @@ import java.io.IOException; import java.util.ArrayList; +import com.opensymphony.xwork2.Action; import org.apache.archiva.checksum.ChecksumAlgorithm; import org.apache.archiva.checksum.ChecksummedFile; +import org.apache.archiva.scheduler.ArchivaTaskScheduler; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; import org.apache.maven.archiva.configuration.ArchivaConfiguration; @@ -36,13 +38,10 @@ import org.apache.maven.archiva.repository.RepositoryNotFoundException; import org.apache.maven.archiva.repository.content.ManagedDefaultRepositoryContent; import org.apache.maven.archiva.repository.metadata.MetadataTools; -import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler; import org.codehaus.plexus.spring.PlexusInSpringTestCase; import org.easymock.MockControl; import org.easymock.classextension.MockClassControl; -import com.opensymphony.xwork2.Action; - /** * UploadActionTest */
Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/pom.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/pom.xml?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/pom.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/pom.xml Thu Nov 19 17:16:20 2009 @@ -43,10 +43,6 @@ <artifactId>archiva-repository-layer</artifactId> </dependency> <dependency> - <groupId>org.apache.archiva</groupId> - <artifactId>archiva-scheduled</artifactId> - </dependency> - <dependency> <groupId>org.apache.archiva</groupId> <artifactId>archiva-proxy</artifactId> </dependency> Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java Thu Nov 19 17:16:20 2009 @@ -25,9 +25,11 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; - import javax.servlet.http.HttpServletResponse; +import org.apache.archiva.scheduler.ArchivaTaskScheduler; +import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler; +import org.apache.archiva.scheduler.repository.RepositoryTask; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.jackrabbit.util.Text; @@ -56,9 +58,6 @@ import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; import org.apache.maven.archiva.repository.audit.AuditEvent; import org.apache.maven.archiva.repository.audit.AuditListener; -import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler; -import org.apache.maven.archiva.scheduled.tasks.RepositoryTask; -import org.apache.maven.archiva.scheduled.tasks.TaskCreator; import org.apache.maven.archiva.webdav.util.IndexWriter; import org.apache.maven.archiva.webdav.util.MimeTypes; import org.codehaus.plexus.taskqueue.TaskQueueException; @@ -108,7 +107,7 @@ public ArchivaDavResource( String localResource, String logicalResource, ManagedRepositoryConfiguration repository, DavSession session, ArchivaDavResourceLocator locator, DavResourceFactory factory, MimeTypes mimeTypes, List<AuditListener> auditListeners, - ArchivaTaskScheduler scheduler ) + RepositoryArchivaTaskScheduler scheduler ) { this.localResource = new File( localResource ); this.logicalResource = logicalResource; @@ -128,7 +127,7 @@ public ArchivaDavResource( String localResource, String logicalResource, ManagedRepositoryConfiguration repository, String remoteAddr, String principal, DavSession session, ArchivaDavResourceLocator locator, DavResourceFactory factory, MimeTypes mimeTypes, List<AuditListener> auditListeners, - ArchivaTaskScheduler scheduler ) + RepositoryArchivaTaskScheduler scheduler ) { this( localResource, logicalResource, repository, session, locator, factory, mimeTypes, auditListeners, scheduler ); @@ -645,11 +644,15 @@ private void queueRepositoryTask( File localFile ) { - RepositoryTask task = TaskCreator.createRepositoryTask( repository.getId(), localFile, false, true ); - + RepositoryTask task = new RepositoryTask(); + task.setRepositoryId( repository.getId() ); + task.setResourceFile( localFile ); + task.setUpdateRelatedArtifacts( false ); + task.setScanAll( true ); + try { - scheduler.queueRepositoryTask( task ); + scheduler.queueTask( task ); } catch ( TaskQueueException e ) { Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java Thu Nov 19 17:16:20 2009 @@ -27,6 +27,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; +import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; import org.apache.jackrabbit.webdav.DavException; @@ -60,7 +61,6 @@ import org.apache.maven.archiva.repository.metadata.RepositoryMetadataMerge; import org.apache.maven.archiva.repository.metadata.RepositoryMetadataReader; import org.apache.maven.archiva.repository.metadata.RepositoryMetadataWriter; -import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler; import org.apache.maven.archiva.security.ServletAuthenticator; import org.apache.maven.archiva.webdav.util.MimeTypes; import org.apache.maven.archiva.webdav.util.RepositoryPathUtil; @@ -164,9 +164,9 @@ private Digester digestMd5; /** - * @plexus.requirement + * @plexus.requirement role="org.apache.archiva.scheduler.ArchivaTaskScheduler" role-hint="repository" */ - private ArchivaTaskScheduler scheduler; + private RepositoryArchivaTaskScheduler scheduler; public DavResource createResource( final DavResourceLocator locator, final DavServletRequest request, final DavServletResponse response ) @@ -1068,7 +1068,7 @@ this.httpAuth = httpAuth; } - public void setScheduler( ArchivaTaskScheduler scheduler ) + public void setScheduler( RepositoryArchivaTaskScheduler scheduler ) { this.scheduler = scheduler; } Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletSecurityTest.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletSecurityTest.xml?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletSecurityTest.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletSecurityTest.xml Thu Nov 19 17:16:20 2009 @@ -149,7 +149,8 @@ <field-name>digestMd5</field-name> </requirement> <requirement> - <role>org.apache.maven.archiva.scheduled.ArchivaTaskScheduler</role> + <role>org.apache.archiva.scheduler.ArchivaTaskScheduler</role> + <role-hint>repository</role-hint> <field-name>scheduler</field-name> </requirement> </requirements> Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletTest.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletTest.xml?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletTest.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletTest.xml Thu Nov 19 17:16:20 2009 @@ -161,7 +161,8 @@ <field-name>digestMd5</field-name> </requirement> <requirement> - <role>org.apache.maven.archiva.scheduled.ArchivaTaskScheduler</role> + <role>org.apache.archiva.scheduler.ArchivaTaskScheduler</role> + <role-hint>repository</role-hint> <field-name>scheduler</field-name> </requirement> </requirements> Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml Thu Nov 19 17:16:20 2009 @@ -52,7 +52,15 @@ </dependency> <dependency> <groupId>org.apache.archiva</groupId> - <artifactId>archiva-scheduled</artifactId> + <artifactId>archiva-repository-scanner</artifactId> + </dependency> + <dependency> + <groupId>org.apache.archiva</groupId> + <artifactId>archiva-scheduler-repository</artifactId> + </dependency> + <dependency> + <groupId>org.apache.archiva</groupId> + <artifactId>archiva-scheduler-database</artifactId> </dependency> <dependency> <groupId>org.apache.archiva</groupId> Modified: archiva/branches/MRM-1025/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/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java Thu Nov 19 17:16:20 2009 @@ -24,6 +24,10 @@ import java.util.List; import org.apache.archiva.repository.scanner.RepositoryContentConsumers; +import org.apache.archiva.scheduler.database.DatabaseArchivaTaskScheduler; +import org.apache.archiva.scheduler.database.DatabaseTask; +import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler; +import org.apache.archiva.scheduler.repository.RepositoryTask; import org.apache.archiva.web.xmlrpc.api.AdministrationService; import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository; import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository; @@ -49,41 +53,40 @@ import org.apache.maven.archiva.repository.RepositoryException; import org.apache.maven.archiva.repository.RepositoryNotFoundException; import org.apache.maven.archiva.repository.events.RepositoryListener; -import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler; -import org.apache.maven.archiva.scheduled.tasks.DatabaseTask; -import org.apache.maven.archiva.scheduled.tasks.RepositoryTask; -import org.apache.maven.archiva.scheduled.tasks.TaskCreator; import org.codehaus.plexus.registry.RegistryException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * AdministrationServiceImpl - * + * * @version $Id: AdministrationServiceImpl.java */ public class AdministrationServiceImpl implements AdministrationService -{ +{ protected Logger log = LoggerFactory.getLogger( getClass() ); private ArchivaConfiguration archivaConfiguration; - + private RepositoryContentConsumers repoConsumersUtil; - + private DatabaseConsumers dbConsumersUtil; - + private RepositoryContentFactory repoFactory; - + private ArtifactDAO artifactDAO; - - private ArchivaTaskScheduler taskScheduler; - + + private DatabaseArchivaTaskScheduler databaseTaskScheduler; + + private RepositoryArchivaTaskScheduler repositoryTaskScheduler; + private Collection<RepositoryListener> listeners; public AdministrationServiceImpl( ArchivaConfiguration archivaConfig, RepositoryContentConsumers repoConsumersUtil, DatabaseConsumers dbConsumersUtil, RepositoryContentFactory repoFactory, - ArtifactDAO artifactDAO, ArchivaTaskScheduler taskScheduler, + ArtifactDAO artifactDAO, DatabaseArchivaTaskScheduler databaseTaskScheduler, + RepositoryArchivaTaskScheduler repositoryTaskScheduler, Collection<RepositoryListener> listeners ) { this.archivaConfiguration = archivaConfig; @@ -91,10 +94,11 @@ this.dbConsumersUtil = dbConsumersUtil; this.repoFactory = repoFactory; this.artifactDAO = artifactDAO; - this.taskScheduler = taskScheduler; + this.databaseTaskScheduler = databaseTaskScheduler; + this.repositoryTaskScheduler = repositoryTaskScheduler; this.listeners = listeners; } - + /** * @see AdministrationService#configureDatabaseConsumer(String, boolean) */ @@ -102,9 +106,9 @@ { List<DatabaseUnprocessedArtifactConsumer> unprocessedConsumers = dbConsumersUtil.getAvailableUnprocessedConsumers(); - + boolean found = false; - + for( DatabaseUnprocessedArtifactConsumer consumer : unprocessedConsumers ) { if( consumer.getId().equals( consumerId ) ) @@ -113,20 +117,20 @@ break; } } - + if( !found ) { throw new Exception( "Invalid database consumer." ); } - + Configuration config = archivaConfiguration.getConfiguration(); DatabaseScanningConfiguration dbScanningConfig = config.getDatabaseScanning(); - + dbScanningConfig.addUnprocessedConsumer( consumerId ); - - config.setDatabaseScanning( dbScanningConfig ); + + config.setDatabaseScanning( dbScanningConfig ); saveConfiguration( config ); - + return new Boolean( true ); } @@ -137,10 +141,10 @@ throws Exception { // TODO use repoId once consumers are configured per repository! (MRM-930) - + List<KnownRepositoryContentConsumer> knownConsumers = repoConsumersUtil.getAvailableKnownConsumers(); List<InvalidRepositoryContentConsumer> invalidConsumers = repoConsumersUtil.getAvailableInvalidConsumers(); - + boolean found = false; boolean isKnownContentConsumer = false; for( KnownRepositoryContentConsumer consumer : knownConsumers ) @@ -152,7 +156,7 @@ break; } } - + if( !found ) { for( InvalidRepositoryContentConsumer consumer : invalidConsumers ) @@ -164,15 +168,15 @@ } } } - + if( !found ) { throw new Exception( "Invalid repository consumer." ); } - + Configuration config = archivaConfiguration.getConfiguration(); RepositoryScanningConfiguration repoScanningConfig = config.getRepositoryScanning(); - + if( isKnownContentConsumer ) { repoScanningConfig.addKnownContentConsumer( consumerId ); @@ -181,13 +185,13 @@ { repoScanningConfig.addInvalidContentConsumer( consumerId ); } - - config.setRepositoryScanning( repoScanningConfig ); + + config.setRepositoryScanning( repoScanningConfig ); saveConfiguration( config ); - + return new Boolean( true ); } - + /** * @see AdministrationService#deleteArtifact(String, String, String, String) */ @@ -196,26 +200,26 @@ { Configuration config = archivaConfiguration.getConfiguration(); ManagedRepositoryConfiguration repoConfig = config.findManagedRepositoryById( repoId ); - + if( repoConfig == null ) { throw new Exception( "Repository does not exist." ); } - + try { - ManagedRepositoryContent repoContent = repoFactory.getManagedRepositoryContent( repoId ); + ManagedRepositoryContent repoContent = repoFactory.getManagedRepositoryContent( repoId ); VersionedReference ref = new VersionedReference(); ref.setGroupId( groupId ); ref.setArtifactId( artifactId ); ref.setVersion( version ); - + // delete from file system repoContent.deleteVersion( ref ); - + ArtifactVersionsConstraint constraint = new ArtifactVersionsConstraint( repoId, groupId, artifactId, false ); List<ArchivaArtifact> artifacts = null; - + try { artifacts = artifactDAO.queryArtifacts( constraint ); @@ -223,8 +227,8 @@ catch ( ArchivaDatabaseException e ) { throw new Exception( "Error occurred while cleaning up database." ); - } - + } + if ( artifacts != null ) { for ( ArchivaArtifact artifact : artifacts ) @@ -251,7 +255,7 @@ { throw new Exception( "Repository exception occurred." ); } - + return new Boolean( true ); } @@ -260,16 +264,16 @@ */ public Boolean executeDatabaseScanner() throws Exception { - if ( taskScheduler.isProcessingDatabaseTask() ) + if ( databaseTaskScheduler.isProcessingDatabaseTask() ) { return false; } log.info( "Queueing database task on request from administration service" ); DatabaseTask task = new DatabaseTask(); - - taskScheduler.queueDatabaseTask( task ); - + + databaseTaskScheduler.queueTask( task ); + return new Boolean( true ); } @@ -283,16 +287,17 @@ { throw new Exception( "Repository does not exist." ); } - - if ( taskScheduler.isProcessingRepositoryTask( repoId ) ) + + if ( repositoryTaskScheduler.isProcessingRepositoryTask( repoId ) ) { return false; } - RepositoryTask task = TaskCreator.createRepositoryTask( repoId ); + RepositoryTask task = new RepositoryTask(); + task.setRepositoryId( repoId ); + + repositoryTaskScheduler.queueTask( task ); - taskScheduler.queueRepositoryTask( task ); - return new Boolean( true ); } @@ -302,14 +307,14 @@ public List<String> getAllDatabaseConsumers() { List<String> consumers = new ArrayList<String>(); - + List<DatabaseUnprocessedArtifactConsumer> unprocessedConsumers = dbConsumersUtil.getAvailableUnprocessedConsumers(); - + for( DatabaseUnprocessedArtifactConsumer consumer : unprocessedConsumers ) { consumers.add( consumer.getId() ); - } - + } + return consumers; } @@ -319,15 +324,15 @@ public List<String> getAllRepositoryConsumers() { List<String> consumers = new ArrayList<String>(); - + List<KnownRepositoryContentConsumer> knownConsumers = repoConsumersUtil.getAvailableKnownConsumers(); List<InvalidRepositoryContentConsumer> invalidConsumers = repoConsumersUtil.getAvailableInvalidConsumers(); - + for( KnownRepositoryContentConsumer consumer : knownConsumers ) { consumers.add( consumer.getId() ); } - + for( InvalidRepositoryContentConsumer consumer : invalidConsumers ) { consumers.add( consumer.getId() ); @@ -342,19 +347,19 @@ public List<ManagedRepository> getAllManagedRepositories() { List<ManagedRepository> managedRepos = new ArrayList<ManagedRepository>(); - + Configuration config = archivaConfiguration.getConfiguration(); List<ManagedRepositoryConfiguration> managedRepoConfigs = config.getManagedRepositories(); - + for( ManagedRepositoryConfiguration repoConfig : managedRepoConfigs ) { // TODO fix resolution of repo url! ManagedRepository repo = new ManagedRepository( repoConfig.getId(), repoConfig.getName(), "URL", repoConfig.getLayout(), - repoConfig.isSnapshots(), repoConfig.isReleases() ); + repoConfig.isSnapshots(), repoConfig.isReleases() ); managedRepos.add( repo ); } - + return managedRepos; } @@ -364,10 +369,10 @@ public List<RemoteRepository> getAllRemoteRepositories() { List<RemoteRepository> remoteRepos = new ArrayList<RemoteRepository>(); - + Configuration config = archivaConfiguration.getConfiguration(); List<RemoteRepositoryConfiguration> remoteRepoConfigs = config.getRemoteRepositories(); - + for( RemoteRepositoryConfiguration repoConfig : remoteRepoConfigs ) { RemoteRepository repo = @@ -375,7 +380,7 @@ repoConfig.getLayout() ); remoteRepos.add( repo ); } - + return remoteRepos; } @@ -392,7 +397,7 @@ } catch ( IndeterminateConfigurationException e ) { - throw new Exception( "Error occurred while saving the configuration." ); + throw new Exception( "Error occurred while saving the configuration." ); } } } Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java (original) +++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java Thu Nov 19 17:16:20 2009 @@ -26,6 +26,10 @@ import java.util.List; import org.apache.archiva.repository.scanner.RepositoryContentConsumers; +import org.apache.archiva.scheduler.database.DatabaseArchivaTaskScheduler; +import org.apache.archiva.scheduler.database.DatabaseTask; +import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler; +import org.apache.archiva.scheduler.repository.RepositoryTask; import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository; import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository; import org.apache.commons.io.FileUtils; @@ -51,9 +55,6 @@ import org.apache.maven.archiva.repository.content.PathParser; import org.apache.maven.archiva.repository.events.RepositoryListener; import org.apache.maven.archiva.repository.layout.LayoutException; -import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler; -import org.apache.maven.archiva.scheduled.tasks.DatabaseTask; -import org.apache.maven.archiva.scheduled.tasks.RepositoryTask; import org.codehaus.plexus.spring.PlexusInSpringTestCase; import org.easymock.MockControl; import org.easymock.classextension.MockClassControl; @@ -76,10 +77,14 @@ private AdministrationServiceImpl service; - private MockControl taskSchedulerControl; + private MockControl repositoryTaskSchedulerControl; + + private MockControl databaseTaskSchedulerControl; - private ArchivaTaskScheduler taskScheduler; + private RepositoryArchivaTaskScheduler repositoryTaskScheduler; + private DatabaseArchivaTaskScheduler databaseTaskScheduler; + // repository consumers private MockControl repoConsumerUtilsControl; @@ -134,9 +139,12 @@ configControl = MockClassControl.createControl( Configuration.class ); config = ( Configuration ) configControl.getMock(); - taskSchedulerControl = MockControl.createControl( ArchivaTaskScheduler.class ); - taskScheduler = ( ArchivaTaskScheduler ) taskSchedulerControl.getMock(); + databaseTaskSchedulerControl = MockClassControl.createControl( DatabaseArchivaTaskScheduler.class ); + databaseTaskScheduler = (DatabaseArchivaTaskScheduler) databaseTaskSchedulerControl.getMock(); + repositoryTaskSchedulerControl = MockClassControl.createControl( RepositoryArchivaTaskScheduler.class ); + repositoryTaskScheduler = (RepositoryArchivaTaskScheduler) repositoryTaskSchedulerControl.getMock(); + // repo consumers repoConsumerUtilsControl = MockClassControl.createControl( RepositoryContentConsumers.class ); repoConsumersUtil = ( RepositoryContentConsumers ) repoConsumerUtilsControl.getMock(); @@ -169,7 +177,8 @@ service = new AdministrationServiceImpl( archivaConfig, repoConsumersUtil, dbConsumersUtil, repositoryFactory, - artifactDao, taskScheduler, Collections.singletonList( listener ) ); + artifactDao, databaseTaskScheduler, repositoryTaskScheduler, + Collections.singletonList( listener ) ); } /* Tests for database consumers */ @@ -622,15 +631,15 @@ RepositoryTask task = new RepositoryTask(); - taskSchedulerControl.expectAndReturn( taskScheduler.isProcessingRepositoryTask( "internal" ), false ); + repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask( "internal" ), false ); - taskScheduler.queueRepositoryTask( task ); - taskSchedulerControl.setMatcher( MockControl.ALWAYS_MATCHER ); - taskSchedulerControl.setVoidCallable(); + repositoryTaskScheduler.queueTask( task ); + repositoryTaskSchedulerControl.setMatcher( MockControl.ALWAYS_MATCHER ); + repositoryTaskSchedulerControl.setVoidCallable(); archivaConfigControl.replay(); configControl.replay(); - taskSchedulerControl.replay(); + repositoryTaskSchedulerControl.replay(); try { @@ -644,7 +653,7 @@ archivaConfigControl.verify(); configControl.verify(); - taskSchedulerControl.verify(); + repositoryTaskSchedulerControl.verify(); } public void testExecuteRepoScannerRepoExistsButBeingScanned() @@ -654,11 +663,11 @@ configControl.expectAndReturn( config.findManagedRepositoryById( "internal" ), createManagedRepo( "internal", "default", "Internal Repository", true, false ) ); - taskSchedulerControl.expectAndReturn( taskScheduler.isProcessingRepositoryTask( "internal" ), true); + repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask( "internal" ), true); archivaConfigControl.replay(); configControl.replay(); - taskSchedulerControl.replay(); + repositoryTaskSchedulerControl.replay(); try { @@ -672,7 +681,7 @@ archivaConfigControl.verify(); configControl.verify(); - taskSchedulerControl.verify(); + repositoryTaskSchedulerControl.verify(); } public void testExecuteRepoScannerRepoDoesNotExist() @@ -705,17 +714,17 @@ { DatabaseTask task = new DatabaseTask(); - taskSchedulerControl.expectAndReturn( taskScheduler.isProcessingDatabaseTask(), false ); + databaseTaskSchedulerControl.expectAndReturn( databaseTaskScheduler.isProcessingDatabaseTask(), false ); - taskScheduler.queueDatabaseTask( task ); - taskSchedulerControl.setMatcher( MockControl.ALWAYS_MATCHER ); - taskSchedulerControl.setVoidCallable(); + databaseTaskScheduler.queueTask( task ); + databaseTaskSchedulerControl.setMatcher( MockControl.ALWAYS_MATCHER ); + databaseTaskSchedulerControl.setVoidCallable(); - taskSchedulerControl.replay(); + databaseTaskSchedulerControl.replay(); boolean success = service.executeDatabaseScanner(); - taskSchedulerControl.verify(); + databaseTaskSchedulerControl.verify(); assertTrue( success ); } @@ -723,13 +732,13 @@ public void testExecuteDbScannerDbIsBeingScanned() throws Exception { - taskSchedulerControl.expectAndReturn( taskScheduler.isProcessingDatabaseTask(), true ); + databaseTaskSchedulerControl.expectAndReturn( databaseTaskScheduler.isProcessingDatabaseTask(), true ); - taskSchedulerControl.replay(); + databaseTaskSchedulerControl.replay(); boolean success = service.executeDatabaseScanner(); - taskSchedulerControl.verify(); + databaseTaskSchedulerControl.verify(); assertFalse( success ); } Modified: archiva/branches/MRM-1025/archiva-modules/pom.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/pom.xml?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/pom.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/pom.xml Thu Nov 19 17:16:20 2009 @@ -31,7 +31,7 @@ <module>archiva-base</module> <module>archiva-database</module> <module>archiva-reporting</module> - <module>archiva-scheduled</module> + <module>archiva-scheduler</module> <module>archiva-web</module> <module>metadata</module> <module>plugins</module> Modified: archiva/branches/MRM-1025/pom.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/pom.xml?rev=882207&r1=882206&r2=882207&view=diff ============================================================================== --- archiva/branches/MRM-1025/pom.xml (original) +++ archiva/branches/MRM-1025/pom.xml Thu Nov 19 17:16:20 2009 @@ -405,7 +405,22 @@ </dependency> <dependency> <groupId>org.apache.archiva</groupId> - <artifactId>archiva-scheduled</artifactId> + <artifactId>archiva-scheduler-api</artifactId> + <version>1.3-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.archiva</groupId> + <artifactId>archiva-scheduler-repository</artifactId> + <version>1.3-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.archiva</groupId> + <artifactId>archiva-scheduler-database</artifactId> + <version>1.3-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.archiva</groupId> + <artifactId>archiva-scheduler-indexing</artifactId> <version>1.3-SNAPSHOT</version> </dependency> <dependency>
