diff options
author | Joakim Erdfelt <joakime@apache.org> | 2007-05-11 22:25:12 +0000 |
---|---|---|
committer | Joakim Erdfelt <joakime@apache.org> | 2007-05-11 22:25:12 +0000 |
commit | b2a4a02c00b70a0265251bd57fc772bebafba434 (patch) | |
tree | 98a48045eddb0a1dcb6a7c202fd651d17478eb81 /archiva-base/archiva-repository-layer | |
parent | cfb785460af3e39c016a1e89f9a2da16be87c088 (diff) | |
download | archiva-b2a4a02c00b70a0265251bd57fc772bebafba434.tar.gz archiva-b2a4a02c00b70a0265251bd57fc772bebafba434.zip |
[MRM-336]: Repository Admin - "Index Repository" appears to not do anything.
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@537304 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-base/archiva-repository-layer')
2 files changed, 60 insertions, 24 deletions
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java index cf9b790ae..4a8d20915 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java @@ -19,8 +19,10 @@ package org.apache.maven.archiva.repository.scanner; * under the License. */ +import org.apache.commons.collections.Closure; import org.apache.commons.collections.CollectionUtils; import org.apache.maven.archiva.configuration.FileTypes; +import org.apache.maven.archiva.consumers.RepositoryContentConsumer; import org.apache.maven.archiva.model.ArchivaRepository; import org.apache.maven.archiva.model.RepositoryContentStatistics; import org.apache.maven.archiva.repository.RepositoryException; @@ -123,6 +125,38 @@ public class DefaultRepositoryScanner // Execute scan. dirWalker.scan(); - return scannerInstance.getStatistics(); + RepositoryContentStatistics stats = scannerInstance.getStatistics(); + + ConsumerIdClosure consumerIdList; + + consumerIdList = new ConsumerIdClosure(); + CollectionUtils.forAllDo( knownContentConsumers, consumerIdList ); + stats.setKnownConsumers( consumerIdList.getList() ); + + consumerIdList = new ConsumerIdClosure(); + CollectionUtils.forAllDo( invalidContentConsumers, consumerIdList ); + stats.setInvalidConsumers( consumerIdList.getList() ); + + return stats; + } + + class ConsumerIdClosure + implements Closure + { + private List list = new ArrayList(); + + public void execute( Object input ) + { + if ( input instanceof RepositoryContentConsumer ) + { + RepositoryContentConsumer consumer = (RepositoryContentConsumer) input; + list.add( consumer.getId() ); + } + } + + public List getList() + { + return list; + } } } diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java index 6e38b7ae2..e57c633c1 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java @@ -24,11 +24,13 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.apache.commons.collections.functors.IfClosure; import org.apache.maven.archiva.configuration.ArchivaConfiguration; -import org.apache.maven.archiva.configuration.Configuration; import org.apache.maven.archiva.configuration.RepositoryScanningConfiguration; import org.apache.maven.archiva.consumers.InvalidRepositoryContentConsumer; import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer; import org.apache.maven.archiva.consumers.RepositoryContentConsumer; +import org.codehaus.plexus.logging.AbstractLogEnabled; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; import java.util.ArrayList; import java.util.HashMap; @@ -44,6 +46,8 @@ import java.util.Map; * @plexus.component role="org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers" */ public class RepositoryContentConsumers + extends AbstractLogEnabled + implements Initializable { /** * @plexus.requirement @@ -60,6 +64,10 @@ public class RepositoryContentConsumers */ private List availableInvalidConsumers; + private SelectedKnownRepoConsumersPredicate selectedKnownPredicate; + + private SelectedInvalidRepoConsumersPredicate selectedInvalidPredicate; + class SelectedKnownRepoConsumersPredicate implements Predicate { @@ -70,14 +78,14 @@ public class RepositoryContentConsumers if ( object instanceof KnownRepositoryContentConsumer ) { KnownRepositoryContentConsumer known = (KnownRepositoryContentConsumer) object; - Configuration config = archivaConfiguration.getConfiguration(); + RepositoryScanningConfiguration scanning = archivaConfiguration.getConfiguration() + .getRepositoryScanning(); - return config.getRepositoryScanning().getKnownContentConsumers().contains( known.getId() ); + return scanning.getKnownContentConsumers().contains( known.getId() ); } return satisfies; } - } class SelectedInvalidRepoConsumersPredicate @@ -90,9 +98,10 @@ public class RepositoryContentConsumers if ( object instanceof InvalidRepositoryContentConsumer ) { InvalidRepositoryContentConsumer invalid = (InvalidRepositoryContentConsumer) object; - Configuration config = archivaConfiguration.getConfiguration(); + RepositoryScanningConfiguration scanning = archivaConfiguration.getConfiguration() + .getRepositoryScanning(); - return config.getRepositoryScanning().getInvalidContentConsumers().contains( invalid.getId() ); + return scanning.getInvalidContentConsumers().contains( invalid.getId() ); } return satisfies; @@ -119,22 +128,19 @@ public class RepositoryContentConsumers } } - public Predicate getKnownSelectionPredicate() + public void initialize() + throws InitializationException { - return new SelectedKnownRepoConsumersPredicate(); + this.selectedKnownPredicate = new SelectedKnownRepoConsumersPredicate(); + this.selectedInvalidPredicate = new SelectedInvalidRepoConsumersPredicate(); } - public Predicate getInvalidSelectionPredicate() - { - return new SelectedInvalidRepoConsumersPredicate(); - } - public List getSelectedKnownConsumerIds() { RepositoryScanningConfiguration scanning = archivaConfiguration.getConfiguration().getRepositoryScanning(); return scanning.getKnownContentConsumers(); } - + public List getSelectedInvalidConsumerIds() { RepositoryScanningConfiguration scanning = archivaConfiguration.getConfiguration().getRepositoryScanning(); @@ -144,7 +150,7 @@ public class RepositoryContentConsumers public Map getSelectedKnownConsumersMap() { RepoConsumerToMapClosure consumerMapClosure = new RepoConsumerToMapClosure(); - Closure ifclosure = IfClosure.getInstance( getKnownSelectionPredicate(), consumerMapClosure ); + Closure ifclosure = IfClosure.getInstance( selectedKnownPredicate, consumerMapClosure ); CollectionUtils.forAllDo( availableKnownConsumers, ifclosure ); return consumerMapClosure.getMap(); @@ -153,28 +159,24 @@ public class RepositoryContentConsumers public Map getSelectedInvalidConsumersMap() { RepoConsumerToMapClosure consumerMapClosure = new RepoConsumerToMapClosure(); - Closure ifclosure = IfClosure.getInstance( getInvalidSelectionPredicate(), consumerMapClosure ); + Closure ifclosure = IfClosure.getInstance( selectedInvalidPredicate, consumerMapClosure ); CollectionUtils.forAllDo( availableInvalidConsumers, ifclosure ); return consumerMapClosure.getMap(); } - + public List getSelectedKnownConsumers() { - RepositoryScanningConfiguration scanning = archivaConfiguration.getConfiguration().getRepositoryScanning(); - List ret = new ArrayList(); - ret.addAll( CollectionUtils.select( scanning.getKnownContentConsumers(), getKnownSelectionPredicate() )); + ret.addAll( CollectionUtils.select( availableKnownConsumers, selectedKnownPredicate ) ); return ret; } public List getSelectedInvalidConsumers() { - RepositoryScanningConfiguration scanning = archivaConfiguration.getConfiguration().getRepositoryScanning(); - List ret = new ArrayList(); - ret.addAll( CollectionUtils.select( scanning.getInvalidContentConsumers(), getInvalidSelectionPredicate() )); + ret.addAll( CollectionUtils.select( availableInvalidConsumers, selectedInvalidPredicate ) ); return ret; } |