Author: olamy
Date: Thu Nov 17 22:50:21 2011
New Revision: 1203406
URL: http://svn.apache.org/viewvc?rev=1203406&view=rev
Log:
[MRM-1560] Add the possibility to schedule retrieve remote indexes when
application startup
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/RemoteRepository.java
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo?rev=1203406&r1=1203405&r2=1203406&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
Thu Nov 17 22:50:21 2011
@@ -538,6 +538,15 @@
</description>
<defaultValue>300</defaultValue>
</field>
+ <field>
+ <name>downloadRemoteIndexOnStartup</name>
+ <version>1.4.0+</version>
+ <type>boolean</type>
+ <description>
+ Schedule download of remote index when archiva start
+ </description>
+ <defaultValue>false</defaultValue>
+ </field>
</fields>
<codeSegments>
<codeSegment>
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/RemoteRepository.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/RemoteRepository.java?rev=1203406&r1=1203405&r2=1203406&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/RemoteRepository.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/RemoteRepository.java
Thu Nov 17 22:50:21 2011
@@ -59,6 +59,11 @@ public class RemoteRepository
private int remoteDownloadTimeout = 300;
+ /**
+ * @since 1.4-M2
+ */
+ private boolean downloadRemoteIndexOnStartup = false;
+
public RemoteRepository()
{
@@ -171,11 +176,20 @@ public class RemoteRepository
this.remoteDownloadTimeout = remoteDownloadTimeout;
}
+ public boolean isDownloadRemoteIndexOnStartup()
+ {
+ return downloadRemoteIndexOnStartup;
+ }
+
+ public void setDownloadRemoteIndexOnStartup( boolean
downloadRemoteIndexOnStartup )
+ {
+ this.downloadRemoteIndexOnStartup = downloadRemoteIndexOnStartup;
+ }
+
@Override
public String toString()
{
final StringBuilder sb = new StringBuilder();
- sb.append( super.toString() );
sb.append( "RemoteRepository" );
sb.append( "{url='" ).append( url ).append( '\'' );
sb.append( ", userName='" ).append( userName ).append( '\'' );
@@ -186,6 +200,7 @@ public class RemoteRepository
sb.append( ", remoteDownloadNetworkProxyId='" ).append(
remoteDownloadNetworkProxyId ).append( '\'' );
sb.append( ", cronExpression='" ).append( cronExpression ).append(
'\'' );
sb.append( ", remoteDownloadTimeout=" ).append( remoteDownloadTimeout
);
+ sb.append( ", downloadRemoteIndexOnStartup=" ).append(
downloadRemoteIndexOnStartup );
sb.append( '}' );
return sb.toString();
}
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java?rev=1203406&r1=1203405&r2=1203406&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java
Thu Nov 17 22:50:21 2011
@@ -129,6 +129,8 @@ public class DefaultRemoteRepositoryAdmi
remoteRepository.setRemoteDownloadNetworkProxyId(
repositoryConfiguration.getRemoteDownloadNetworkProxyId() );
remoteRepository.setRemoteDownloadTimeout(
repositoryConfiguration.getRemoteDownloadTimeout() );
+ remoteRepository.setDownloadRemoteIndexOnStartup(
+ repositoryConfiguration.isDownloadRemoteIndexOnStartup() );
remoteRepositories.add( remoteRepository );
}
return remoteRepositories;
@@ -327,6 +329,8 @@ public class DefaultRemoteRepositoryAdmi
remoteRepositoryConfiguration.setRemoteDownloadNetworkProxyId(
remoteRepository.getRemoteDownloadNetworkProxyId() );
remoteRepositoryConfiguration.setRemoteDownloadTimeout(
remoteRepository.getRemoteDownloadTimeout() );
+ remoteRepositoryConfiguration.setDownloadRemoteIndexOnStartup(
+ remoteRepository.isDownloadRemoteIndexOnStartup() );
return remoteRepositoryConfiguration;
}
Modified:
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java?rev=1203406&r1=1203405&r2=1203406&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java
(original)
+++
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java
Thu Nov 17 22:50:21 2011
@@ -193,6 +193,15 @@ public class DefaultDownloadRemoteIndexS
taskScheduler.schedule(
new DownloadRemoteIndexTask(
downloadRemoteIndexTaskRequest, this.runningRemoteDownloadIds ),
new CronTrigger( remoteRepository.getCronExpression() ) );
+
+ if ( remoteRepository.isDownloadRemoteIndexOnStartup() )
+ {
+ log.info(
+ "remote repository {} configured with
downloadRemoteIndexOnStartup schedule now a download" );
+ taskScheduler.schedule(
+ new DownloadRemoteIndexTask(
downloadRemoteIndexTaskRequest, this.runningRemoteDownloadIds ),
+ new Date() );
+ }
}
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml?rev=1203406&r1=1203405&r2=1203406&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml Thu Nov 17
22:50:21 2011
@@ -1104,7 +1104,7 @@
<type>war</type>
<overWrite>false</overWrite>
<outputDirectory>${basedir}/src/main/webapp</outputDirectory>
-
<excludes>**/web.xml,**/struts*.jar,**/sitemesh*.jar,**/struts-security.xml</excludes>
+
<excludes>**/web.xml,**/**.jar,**/struts-security.xml</excludes>
</artifactItem>
</artifactItems>
</configuration>
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf?rev=1203406&r1=1203405&r2=1203406&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf
Thu Nov 17 22:50:21 2011
@@ -35,5 +35,6 @@
<s:textfield name="repository.remoteDownloadTimeout" label="Download Remote
Index Timeout in seconds" size="10" required="false"/>
<s:select list="networkProxies" name="repository.remoteDownloadNetworkProxyId"
emptyOption="true"
required="false" listKey="id" listValue="id" label="Network Proxy to Use for
download Remote Index"/>
+<s:checkbox name="repository.downloadRemoteIndexOnStartup" label="Download
remote index on Archiva startup" />