Author: olamy
Date: Thu Nov 14 03:11:06 2013
New Revision: 1541794

URL: http://svn.apache.org/r1541794
Log:
add a service to know repositories ids running a remote download

Modified:
    
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DefaultDownloadRemoteIndexScheduler.java
    
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexScheduler.java
    
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/DownloadMergedIndexNonDefaultPathTest.java

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=1541794&r1=1541793&r2=1541794&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 14 03:11:06 2013
@@ -236,4 +236,9 @@ public class DefaultDownloadRemoteIndexS
     {
         this.taskScheduler = taskScheduler;
     }
+
+    public List<String> getRunningRemoteDownloadIds()
+    {
+        return runningRemoteDownloadIds;
+    }
 }

Modified: 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexScheduler.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexScheduler.java?rev=1541794&r1=1541793&r2=1541794&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexScheduler.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexScheduler.java
 Thu Nov 14 03:11:06 2013
@@ -18,6 +18,8 @@ package org.apache.archiva.scheduler.ind
  * under the License.
  */
 
+import java.util.List;
+
 /**
  * @author Olivier Lamy
  * @since 1.4-M1
@@ -26,4 +28,6 @@ public interface DownloadRemoteIndexSche
 {
     void scheduleDownloadRemote( String repositoryId, boolean now, boolean 
fullDownload )
         throws DownloadRemoteIndexException;
+
+    List<String> getRunningRemoteDownloadIds();
 }

Modified: 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java?rev=1541794&r1=1541793&r2=1541794&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java
 Thu Nov 14 03:11:06 2013
@@ -232,16 +232,19 @@ public class DownloadRemoteIndexTask
             request.setLocalIndexCacheDir( indexCacheDirectory );
 
             this.indexUpdater.fetchAndUpdateIndex( request );
-            stopWatch.stop();
-            log.info( "time update index from remote for repository {}: {} s", 
this.remoteRepository.getId(),
-                      ( stopWatch.getTime() / 1000 ) );
 
             // index packing optionnal ??
             //IndexPackingRequest indexPackingRequest =
             //    new IndexPackingRequest( indexingContext, 
indexingContext.getIndexDirectoryFile() );
             //indexPacker.packIndex( indexPackingRequest );
+
             indexingContext.updateTimestamp( true );
 
+            stopWatch.stop();
+            log.info( "time update index from remote for repository {}: {} s", 
this.remoteRepository.getId(),
+                      ( stopWatch.getTime() / 1000 ) );
+
+
         }
         catch ( MalformedURLException e )
         {
@@ -263,7 +266,7 @@ public class DownloadRemoteIndexTask
             deleteDirectoryQuiet( tempIndexDirectory );
             this.runningRemoteDownloadIds.remove( 
this.remoteRepository.getId() );
         }
-        log.info( "end download remote index for remote repository " + 
this.remoteRepository.getId() );
+        log.info( "end download remote index for remote repository {}", 
this.remoteRepository.getId() );
     }
 
     private void deleteDirectoryQuiet( File f )
@@ -304,7 +307,7 @@ public class DownloadRemoteIndexTask
         {
             if ( response.getStatusLine().getStatusCode() != HttpStatus.SC_OK )
             {
-                throw new ClientProtocolException( "Upload failed: " + 
response.getStatusLine() );
+                throw new ClientProtocolException( "Download failed: " + 
response.getStatusLine() );
             }
             long endTime = System.currentTimeMillis();
             log.info( "end of transfer file {} {} kb: {}s", resourceName, 
this.totalLength / 1024,

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java?rev=1541794&r1=1541793&r2=1541794&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java
 Thu Nov 14 03:11:06 2013
@@ -23,6 +23,7 @@ import org.apache.archiva.maven2.model.A
 import org.apache.archiva.redback.authorization.RedbackAuthorization;
 import org.apache.archiva.repository.scanner.RepositoryScanStatistics;
 import org.apache.archiva.rest.api.model.ArtifactTransferRequest;
+import org.apache.archiva.rest.api.model.StringList;
 import org.apache.archiva.security.common.ArchivaRoleConstants;
 
 import javax.ws.rs.Consumes;
@@ -34,6 +35,7 @@ import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
+import java.util.List;
 
 /**
  * @author Olivier Lamy
@@ -166,5 +168,13 @@ public interface RepositoriesService
                            @PathParam ("repositoryId") String repositoryId )
         throws ArchivaRestServiceException;
 
+    /**
+     * @since 2.0
+     */
+    @Path ("runningRemoteDownloadIds")
+    @GET
+    @Produces ({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, 
MediaType.TEXT_PLAIN })
+    @RedbackAuthorization (noPermission = true)
+    StringList getRunningRemoteDownloadIds();
 
 }

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java?rev=1541794&r1=1541793&r2=1541794&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRepositoriesService.java
 Thu Nov 14 03:11:06 2013
@@ -64,6 +64,7 @@ import org.apache.archiva.repository.sca
 import org.apache.archiva.repository.scanner.RepositoryScanner;
 import org.apache.archiva.repository.scanner.RepositoryScannerException;
 import org.apache.archiva.rest.api.model.ArtifactTransferRequest;
+import org.apache.archiva.rest.api.model.StringList;
 import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
 import org.apache.archiva.rest.api.services.RepositoriesService;
 import org.apache.archiva.scheduler.ArchivaTaskScheduler;
@@ -1153,6 +1154,12 @@ public class DefaultRepositoriesService
         checksum.fixChecksums( algorithms );
     }
 
+    @Override
+    public StringList getRunningRemoteDownloadIds()
+    {
+        return new StringList( 
downloadRemoteIndexScheduler.getRunningRemoteDownloadIds() );
+    }
+
     public ManagedRepositoryAdmin getManagedRepositoryAdmin()
     {
         return managedRepositoryAdmin;

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/DownloadMergedIndexNonDefaultPathTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/DownloadMergedIndexNonDefaultPathTest.java?rev=1541794&r1=1541793&r2=1541794&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/DownloadMergedIndexNonDefaultPathTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/DownloadMergedIndexNonDefaultPathTest.java
 Thu Nov 14 03:11:06 2013
@@ -56,7 +56,7 @@ public class DownloadMergedIndexNonDefau
     public static void setAppServerBase()
     {
         previousAppServerBase = System.getProperty( "appserver.base" );
-        System.setProperty( "appserver.base", "target/" + 
DownloadMergedIndexNonDefaultPathTest.class.getName() );
+        System.setProperty( "appserver.base", System.getProperty( "basedir" ) 
+ "/target/" + DownloadMergedIndexNonDefaultPathTest.class.getName() );
     }
 
     @AfterClass
@@ -175,11 +175,17 @@ public class DownloadMergedIndexNonDefau
         repositoriesService.scheduleDownloadRemoteIndex( remoteId, true, true 
);
 
         // wait a bit
+        /*
         timeout = 20000;
         while ( timeout > 0 )
         {
             Thread.sleep( 500 );
             timeout -= 500;
+        }*/
+        // wait the end
+        while ( 
!repositoriesService.getRunningRemoteDownloadIds().getStrings().isEmpty() )
+        {
+            Thread.sleep( 500 );
         }
 
         SearchService searchService = getSearchService();


Reply via email to