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;
+ }
}