Author: olamy
Date: Mon Oct 15 12:12:08 2012
New Revision: 1398259

URL: http://svn.apache.org/viewvc?rev=1398259&view=rev
Log:
[MRM-1693] exposing index downloaded from remote repositories
pack index.

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/DownloadRemoteIndexTask.java
    
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskRequest.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=1398259&r1=1398258&r2=1398259&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
 Mon Oct 15 12:12:08 2012
@@ -36,6 +36,7 @@ import org.apache.commons.lang.StringUti
 import org.apache.maven.index.NexusIndexer;
 import org.apache.maven.index.context.IndexingContext;
 import org.apache.maven.index.context.UnsupportedExistingLuceneIndexException;
+import org.apache.maven.index.packer.IndexPacker;
 import org.apache.maven.index.updater.IndexUpdater;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -56,7 +57,7 @@ import java.util.concurrent.CopyOnWriteA
  * @author Olivier Lamy
  * @since 1.4-M1
  */
-@Service( "downloadRemoteIndexScheduler#default" )
+@Service ("downloadRemoteIndexScheduler#default")
 public class DefaultDownloadRemoteIndexScheduler
     implements ConfigurationListener, DownloadRemoteIndexScheduler
 {
@@ -64,7 +65,7 @@ public class DefaultDownloadRemoteIndexS
     private Logger log = LoggerFactory.getLogger( getClass() );
 
     @Inject
-    @Named( value = "taskScheduler#indexDownloadRemote" )
+    @Named (value = "taskScheduler#indexDownloadRemote")
     private TaskScheduler taskScheduler;
 
     @Inject
@@ -92,6 +93,8 @@ public class DefaultDownloadRemoteIndexS
 
     private IndexUpdater indexUpdater;
 
+    private IndexPacker indexPacker;
+
     // store ids about currently running remote download : updated in 
DownloadRemoteIndexTask
     private List<String> runningRemoteDownloadIds = new 
CopyOnWriteArrayList<String>();
 
@@ -107,6 +110,8 @@ public class DefaultDownloadRemoteIndexS
 
         indexUpdater = plexusSisuBridge.lookup( IndexUpdater.class );
 
+        this.indexPacker = plexusSisuBridge.lookup( IndexPacker.class );
+
         for ( RemoteRepository remoteRepository : 
remoteRepositoryAdmin.getRemoteRepositories() )
         {
             String contextKey = "remote-" + remoteRepository.getId();
@@ -176,7 +181,8 @@ public class DefaultDownloadRemoteIndexS
             DownloadRemoteIndexTaskRequest downloadRemoteIndexTaskRequest =
                 new DownloadRemoteIndexTaskRequest().setRemoteRepository( 
remoteRepository ).setNetworkProxy(
                     networkProxy ).setFullDownload( fullDownload 
).setWagonFactory(
-                    wagonFactory ).setRemoteRepositoryAdmin( 
remoteRepositoryAdmin ).setIndexUpdater( indexUpdater );
+                    wagonFactory ).setRemoteRepositoryAdmin( 
remoteRepositoryAdmin ).setIndexUpdater(
+                    indexUpdater ).setIndexPacker( this.indexPacker );
 
             if ( now )
             {

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=1398259&r1=1398258&r2=1398259&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
 Mon Oct 15 12:12:08 2012
@@ -27,6 +27,8 @@ import org.apache.archiva.proxy.common.W
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.time.StopWatch;
 import org.apache.maven.index.context.IndexingContext;
+import org.apache.maven.index.packer.IndexPacker;
+import org.apache.maven.index.packer.IndexPackingRequest;
 import org.apache.maven.index.updater.IndexUpdateRequest;
 import org.apache.maven.index.updater.IndexUpdater;
 import org.apache.maven.index.updater.ResourceFetcher;
@@ -78,6 +80,8 @@ public class DownloadRemoteIndexTask
 
     private IndexUpdater indexUpdater;
 
+    private IndexPacker indexPacker;
+
     public DownloadRemoteIndexTask( DownloadRemoteIndexTaskRequest 
downloadRemoteIndexTaskRequest,
                                     List<String> runningRemoteDownloadIds )
     {
@@ -88,6 +92,7 @@ public class DownloadRemoteIndexTask
         this.runningRemoteDownloadIds = runningRemoteDownloadIds;
         this.indexUpdater = downloadRemoteIndexTaskRequest.getIndexUpdater();
         this.remoteRepositoryAdmin = 
downloadRemoteIndexTaskRequest.getRemoteRepositoryAdmin();
+        this.indexPacker = downloadRemoteIndexTaskRequest.getIndexPacker();
     }
 
     public void run()
@@ -170,6 +175,13 @@ public class DownloadRemoteIndexTask
             stopWatch.stop();
             log.info( "time to download remote repository index 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 );
+
         }
         catch ( MalformedURLException e )
         {

Modified: 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskRequest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskRequest.java?rev=1398259&r1=1398258&r2=1398259&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskRequest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskRequest.java
 Mon Oct 15 12:12:08 2012
@@ -23,6 +23,7 @@ import org.apache.archiva.admin.model.be
 import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
 import org.apache.archiva.proxy.common.WagonFactory;
 import org.apache.maven.index.NexusIndexer;
+import org.apache.maven.index.packer.IndexPacker;
 import org.apache.maven.index.updater.IndexUpdater;
 
 /**
@@ -43,6 +44,8 @@ public class DownloadRemoteIndexTaskRequ
 
     private IndexUpdater indexUpdater;
 
+    private IndexPacker indexPacker;
+
     public DownloadRemoteIndexTaskRequest()
     {
         // no op
@@ -114,4 +117,15 @@ public class DownloadRemoteIndexTaskRequ
         this.remoteRepositoryAdmin = remoteRepositoryAdmin;
         return this;
     }
+
+    public IndexPacker getIndexPacker()
+    {
+        return indexPacker;
+    }
+
+    public DownloadRemoteIndexTaskRequest setIndexPacker( IndexPacker 
indexPacker )
+    {
+        this.indexPacker = indexPacker;
+        return this;
+    }
 }


Reply via email to