Copied: maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml (from r537027, maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaScheduledTaskExecutorTest.xml) URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml?view=diff&rev=537304&p1=maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaScheduledTaskExecutorTest.xml&r1=537027&p2=maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml&r2=537304 ============================================================================== --- maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaScheduledTaskExecutorTest.xml (original) +++ maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml Fri May 11 15:25:12 2007 @@ -22,32 +22,14 @@ <components> <component> <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role> - <role-hint>test-archiva-task-executor</role-hint> - <implementation>org.apache.maven.archiva.scheduled.executors.ArchivaScheduledTaskExecutor</implementation> + <role-hint>test-database-update</role-hint> + <implementation>org.apache.maven.archiva.scheduled.executors.ArchivaDatabaseUpdateTaskExecutor</implementation> <description></description> <requirements> <requirement> - <role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> - <field-name>archivaConfiguration</field-name> - <role-hint>test-configuration</role-hint> - </requirement> - <requirement> <role>org.apache.maven.archiva.database.updater.DatabaseUpdater</role> <role-hint>jdo</role-hint> <field-name>databaseUpdater</field-name> - </requirement> - <requirement> - <role>org.apache.maven.archiva.database.RepositoryDAO</role> - <role-hint>jdo</role-hint> - <field-name>repositoryDAO</field-name> - </requirement> - <requirement> - <role>org.apache.maven.archiva.consumers.ArchivaArtifactConsumer</role> - <field-name>availableDBConsumers</field-name> - </requirement> - <requirement> - <role>org.apache.maven.archiva.consumers.RepositoryContentConsumer</role> - <field-name>availableRepositoryConsumers</field-name> </requirement> </requirements> </component>
Added: maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml?view=auto&rev=537304 ============================================================================== --- maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml (added) +++ maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml Fri May 11 15:25:12 2007 @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + ~ 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. + --> + +<component-set> + <components> + <component> + <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role> + <role-hint>test-repository-scanning</role-hint> + <implementation>org.apache.maven.archiva.scheduled.executors.ArchivaRepositoryScanningTaskExecutor</implementation> + <description></description> + <requirements> + <requirement> + <role>org.apache.maven.archiva.database.ArchivaDAO</role> + <role-hint>jdo</role-hint> + <field-name>dao</field-name> + </requirement> + <requirement> + <role>org.apache.maven.archiva.database.RepositoryDAO</role> + <role-hint>jdo</role-hint> + <field-name>repositoryDAO</field-name> + </requirement> + <requirement> + <role>org.apache.maven.archiva.repository.scanner.RepositoryScanner</role> + <field-name>repoScanner</field-name> + </requirement> + </requirements> + </component> + + <component> + <role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> + <implementation>org.apache.maven.archiva.configuration.DefaultArchivaConfiguration</implementation> + <requirements> + <requirement> + <role>org.codehaus.plexus.registry.Registry</role> + <role-hint>configured</role-hint> + </requirement> + </requirements> + </component> + + <component> + <role>org.codehaus.plexus.registry.Registry</role> + <role-hint>configured</role-hint> + <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation> + <configuration> + <properties> + <system/> + <xml fileName="${basedir}/src/test/conf/repository-manager.xml" + config-name="org.apache.maven.archiva" config-at="org.apache.maven.archiva"/> + </properties> + </configuration> + </component> + + <component> + <role>org.codehaus.plexus.jdo.JdoFactory</role> + <role-hint>archiva</role-hint> + <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation> + <configuration> + <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass> + <otherProperties> + <property> + <name>javax.jdo.PersistenceManagerFactoryClass</name> + <value>org.jpox.PersistenceManagerFactoryImpl</value> + </property> + </otherProperties> + </configuration> + </component> + + </components> +</component-set> Propchange: maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/IndexRepositoryAction.java URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/IndexRepositoryAction.java?view=diff&rev=537304&r1=537303&r2=537304 ============================================================================== --- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/IndexRepositoryAction.java (original) +++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/IndexRepositoryAction.java Fri May 11 15:25:12 2007 @@ -20,6 +20,7 @@ */ import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.common.ArchivaException; import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler; import org.apache.maven.archiva.scheduled.DefaultArchivaTaskScheduler; import org.apache.maven.archiva.scheduled.tasks.ArchivaTask; @@ -63,27 +64,35 @@ boolean scheduleTask = false; - if ( taskScheduler.getTaskQueue().hasFilesystemTaskInQueue() ) + try { - if ( taskScheduler.getTaskQueue().hasRepositoryTaskInQueue( repoid ) ) + if ( taskScheduler.isProcessingAnyRepositoryTask() ) { - addActionError( "Repository [" + repoid + "] task was already queued." ); + if ( taskScheduler.isProcessingRepositoryTask( repoid ) ) + { + addActionError( "Repository [" + repoid + "] task was already queued." ); + } + else + { + scheduleTask = true; + } } else { scheduleTask = true; } } - else + catch ( ArchivaException e ) { - scheduleTask = true; + scheduleTask = false; + addActionError( e.getMessage() ); } if ( scheduleTask ) { try { - taskScheduler.getTaskQueue().put( task ); + taskScheduler.queueRepositoryTask( task ); addActionMessage( "Your request to have repository [" + repoid + "] be indexed has been queued." ); } catch ( TaskQueueException e ) @@ -95,6 +104,18 @@ // Return to the repositories screen. return SUCCESS; + } + + public void addActionMessage( String aMessage ) + { + super.addActionMessage( aMessage ); + getLogger().info( "[ActionMessage] " + aMessage ); + } + + public void addActionError( String anErrorMessage ) + { + super.addActionError( anErrorMessage ); + getLogger().warn( "[ActionError] " + anErrorMessage ); } public SecureActionBundle getSecureActionBundle() Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml?view=diff&rev=537304&r1=537303&r2=537304 ============================================================================== --- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml (original) +++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml Fri May 11 15:25:12 2007 @@ -19,8 +19,30 @@ --> <plexus> - <components> + <load-on-start> + <component> + <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role> + <role-hint>default</role-hint> + </component> + <component> + <role>org.apache.maven.archiva.web.startup.ConfigurationSynchronization</role> + <role-hint>default</role-hint> + </component> + <component> + <role>org.apache.maven.archiva.scheduled.ArchivaTaskScheduler</role> + <role-hint>default</role-hint> + </component> + <component> + <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role> + <role-hint>database-update</role-hint> + </component> + <component> + <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role> + <role-hint>repository-scanning</role-hint> + </component> + </load-on-start> + <components> <component> <role>org.codehaus.plexus.registry.Registry</role> <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation> @@ -193,29 +215,6 @@ <lifecycle-handler>basic</lifecycle-handler> </component> </components> - - <load-on-start> - <component> - <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role> - <role-hint>default</role-hint> - </component> - <component> - <role>org.apache.maven.archiva.web.startup.ConfigurationSynchronization</role> - <role-hint>default</role-hint> - </component> - <component> - <role>org.apache.maven.archiva.web.startup.ConfigurationSynchronization</role> - <role-hint>default</role-hint> - </component> - <component> - <role>org.apache.maven.archiva.scheduled.ArchivaTaskScheduler</role> - <role-hint>default</role-hint> - </component> - <component> - <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role> - <role-hint>archiva-task-executor</role-hint> - </component> - </load-on-start> <lifecycle-handler-manager implementation="org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager"> <default-lifecycle-handler-id>plexus</default-lifecycle-handler-id>
