You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2011/11/17 23:50:22 UTC

svn commit: r1203406 - in /archiva/trunk/archiva-modules: archiva-base/archiva-configuration/src/main/mdo/ archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ archiva-base/archiva-repos...

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" />