You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/02/14 15:45:07 UTC

svn commit: r507550 [1/7] - in /maven/archiva/branches/archiva-MRM-239: ./ archiva-cli/src/main/java/org/apache/maven/archiva/cli/ archiva-converter/src/main/java/org/apache/maven/archiva/converter/ archiva-converter/src/main/java/org/apache/maven/arch...

Author: joakime
Date: Wed Feb 14 06:44:59 2007
New Revision: 507550

URL: http://svn.apache.org/viewvc?view=rev&rev=507550
Log:
(NOT COMPLETE YET) Commiting what I have for stability and memory utilization so far, wanted to confer with brett about changes.
* Overhauled archiva-discoverer to use a walker / publish / consumer type interface instead of in-memory lists of files.  This has had a reduction in memory over large repositories.  Expect an average of memory reduction of (22MB * Managed Repository Count).
* Overhauled archiva-reports-standard to use jpox as opposed to xml store to reduce memory usage.  Expect an average memory reduction of (45MB * Managed Repository Count).


Added:
    maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/
    maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/DefaultLegacyRepositoryConverter.java
      - copied, changed from r506385, maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/DefaultLegacyRepositoryConverter.java
    maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyRepositoryConverter.java
      - copied, changed from r506385, maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/LegacyRepositoryConverter.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/ArtifactHealthConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/IndexArtifactConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/RepositoryMetadataHealthConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/executors/DataRefreshExecutor.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/task/DataRefreshTask.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/test/java/org/apache/maven/archiva/scheduler/executors/DataRefreshExecutorTest.java
      - copied, changed from r506385, maven/archiva/branches/archiva-MRM-239/archiva-core/src/test/java/org/apache/maven/archiva/scheduler/executors/IndexerTaskExecutorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/DefaultDiscoverer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/DiscovererConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/DiscovererConsumerFactory.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/DiscovererStatistics.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/PathUtil.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/RepositoryScanner.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/builders/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/builders/AbstractLayoutArtifactBuilder.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/builders/BuilderException.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/builders/DefaultLayoutArtifactBuilder.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/builders/LayoutArtifactBuilder.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/builders/LegacyLayoutArtifactBuilder.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/consumers/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/consumers/AbstractDiscovererConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/consumers/GenericArtifactConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/consumers/GenericModelConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/consumers/GenericRepositoryMetadataConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/AbstractDiscovererTestCase.java
      - copied, changed from r506385, maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/AbstractArtifactDiscovererTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/builders/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/builders/AbstractLayoutArtifactBuilderTestCase.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/builders/DefaultLayoutArtifactBuilderTest.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/builders/LegacyLayoutArtifactBuilderTest.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/consumers/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/consumers/AbstractConsumerTestCase.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/consumers/GenericArtifactConsumerTest.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/consumers/GenericModelConsumerTest.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/consumers/GenericRepositoryMetadataConsumerTest.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/consumers/MockArtifactConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/consumers/MockModelConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/consumers/MockRepositoryMetadataConsumer.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/apache/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/apache/maven/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/apache/maven/archiva/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/apache/maven/archiva/discoverer/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/apache/maven/archiva/discoverer/consumers/
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/apache/maven/archiva/discoverer/consumers/GenericArtifactConsumerTest.xml   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/apache/maven/archiva/discoverer/consumers/GenericModelConsumerTest.xml   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/resources/org/apache/maven/archiva/discoverer/consumers/GenericRepositoryMetadataConsumerTest.xml   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/ReportingException.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/AbstractJdoDatabase.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/AbstractResultsDatabase.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabase.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabase.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/model/
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/model/ArtifactResultsKey.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/model/MetadataResultsKey.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ArtifactResultsDatabaseTest.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/MetadataResultsDatabaseTest.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/reporter/ChecksumMetadataReporterTest.java   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/resources/META-INF/
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/resources/META-INF/plexus/
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/resources/META-INF/plexus/components.xml   (with props)
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/resources/log4j.properties
Removed:
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/DefaultLegacyRepositoryConverter.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/LegacyRepositoryConverter.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/executors/IndexerTaskExecutor.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/task/IndexerTask.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/test/java/org/apache/maven/archiva/scheduler/executors/IndexerTaskExecutorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/AbstractArtifactDiscoverer.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/AbstractDiscoverer.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/DefaultArtifactDiscoverer.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/DefaultMetadataDiscoverer.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/DiscovererPath.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/LegacyArtifactDiscoverer.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/MetadataDiscoverer.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/filter/AcceptAllArtifactFilter.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/filter/AcceptAllMetadataFilter.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/filter/MetadataFilter.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/filter/SnapshotArtifactFilter.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/AbstractArtifactDiscovererTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultArtifactDiscovererTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultMetadataDiscovererTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/LegacyArtifactDiscovererTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/executor/
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/filter/
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/store/DefaultReportingStore.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/store/ReportingStore.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/store/ReportingStoreException.java
Modified:
    maven/archiva/branches/archiva-MRM-239/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ArchivaCli.java
    maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java
    maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/RepositoryConverter.java
    maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifact.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifactTypes.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedEjbArtifact.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedJavaArtifact.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/ActiveManagedRepositories.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositories.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/DefaultRepositoryTaskScheduler.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskJob.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskScheduler.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/test/java/org/apache/maven/archiva/LegacyRepositoryConverterTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-core/src/test/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositoriesTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/ArtifactDiscoverer.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/Discoverer.java
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/legacy-repository/   (props changed)
    maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/repository/   (props changed)
    maven/archiva/branches/archiva-MRM-239/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/RepositoryArtifactIndex.java
    maven/archiva/branches/archiva-MRM-239/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneRepositoryArtifactIndex.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/pom.xml
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/ReportingDatabase.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/AbstractReportGroup.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/DefaultReportGroup.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/ReportGroup.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DuplicateArtifactFileReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/InvalidPomArtifactReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/LocationArtifactReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/MetadataReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldArtifactReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/OldSnapshotArtifactReportProcessor.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/main/mdo/reporting.mdo
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/AbstractRepositoryReportsTestCase.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/database/ReportingDatabaseTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/processor/DuplicateArtifactFileReportProcessorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/processor/InvalidPomArtifactReportProcessorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/processor/LocationArtifactReportProcessorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/processor/OldArtifactReportProcessorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/processor/OldSnapshotArtifactReportProcessorTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/reporter/ChecksumArtifactReporterTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/reporter/DefaultArtifactReporterTest.java
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/resources/org/apache/maven/archiva/reporting/processor/DuplicateArtifactFileReportProcessorTest.xml
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/resources/org/apache/maven/archiva/reporting/processor/OldArtifactReportProcessorTest.xml
    maven/archiva/branches/archiva-MRM-239/archiva-reports-standard/src/test/resources/org/apache/maven/archiva/reporting/processor/OldSnapshotArtifactReportProcessorTest.xml
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/pom.xml
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/AuditLog.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifactTag.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/ExpressionTool.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/GroupIdLink.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/GroupIdLinkTag.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/PlexusTagUtil.java
    maven/archiva/branches/archiva-MRM-239/archiva-webapp/src/main/resources/META-INF/plexus/application.xml
    maven/archiva/branches/archiva-MRM-239/pom.xml

Modified: maven/archiva/branches/archiva-MRM-239/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ArchivaCli.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ArchivaCli.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ArchivaCli.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ArchivaCli.java Wed Feb 14 06:44:59 2007
@@ -23,8 +23,8 @@
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.conversion.LegacyRepositoryConverter;
 import org.apache.maven.archiva.converter.RepositoryConversionException;
+import org.apache.maven.archiva.converter.legacy.LegacyRepositoryConverter;
 import org.apache.maven.archiva.discoverer.DiscovererException;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.tools.cli.AbstractCli;
@@ -115,7 +115,7 @@
             try
             {
                 legacyRepositoryConverter.convertLegacyRepository( oldRepositoryPath, newRepositoryPath,
-                                                                   blacklistedPatterns, true );
+                                                                   true );
             }
             catch ( RepositoryConversionException e )
             {

Modified: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java Wed Feb 14 06:44:59 2007
@@ -38,7 +38,6 @@
 import org.apache.maven.model.DistributionManagement;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Relocation;
-import org.apache.maven.model.converter.ArtifactPomRewriter;
 import org.apache.maven.model.converter.ModelConverter;
 import org.apache.maven.model.converter.PomTranslationException;
 import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
@@ -84,17 +83,17 @@
     /**
      * @plexus.requirement
      */
-    private ArtifactPomRewriter rewriter;
+    private ModelConverter translator;
 
     /**
      * @plexus.requirement
      */
-    private ModelConverter translator;
-
+    private ArtifactHandlerManager artifactHandlerManager;
+    
     /**
      * @plexus.requirement
      */
-    private ArtifactHandlerManager artifactHandlerManager;
+    private ReportingDatabase reportingDatabase;
 
     /**
      * @plexus.configuration default-value="false"
@@ -111,7 +110,7 @@
      */
     private I18N i18n;
 
-    public void convert( Artifact artifact, ArtifactRepository targetRepository, ReportingDatabase reporter )
+    public void convert( Artifact artifact, ArtifactRepository targetRepository )
         throws RepositoryConversionException
     {
         if ( artifact.getRepository().getUrl().equals( targetRepository.getUrl() ) )
@@ -119,13 +118,13 @@
             throw new RepositoryConversionException( getI18NString( "exception.repositories.match" ) );
         }
 
-        if ( validateMetadata( artifact, reporter ) )
+        if ( validateMetadata( artifact ) )
         {
             FileTransaction transaction = new FileTransaction();
 
-            if ( copyPom( artifact, targetRepository, reporter, transaction ) )
+            if ( copyPom( artifact, targetRepository, transaction ) )
             {
-                if ( copyArtifact( artifact, targetRepository, reporter, transaction ) )
+                if ( copyArtifact( artifact, targetRepository, transaction ) )
                 {
                     Metadata metadata = createBaseMetadata( artifact );
                     Versioning versioning = new Versioning();
@@ -244,7 +243,7 @@
         return metadata;
     }
 
-    private boolean validateMetadata( Artifact artifact, ReportingDatabase reporter )
+    private boolean validateMetadata( Artifact artifact )
         throws RepositoryConversionException
     {
         ArtifactRepository repository = artifact.getRepository();
@@ -257,7 +256,7 @@
         if ( file.exists() )
         {
             Metadata metadata = readMetadata( file );
-            result = validateMetadata( metadata, repositoryMetadata, artifact, reporter );
+            result = validateMetadata( metadata, repositoryMetadata, artifact );
         }
 
         repositoryMetadata = new SnapshotArtifactRepositoryMetadata( artifact );
@@ -265,14 +264,13 @@
         if ( file.exists() )
         {
             Metadata metadata = readMetadata( file );
-            result = result && validateMetadata( metadata, repositoryMetadata, artifact, reporter );
+            result = result && validateMetadata( metadata, repositoryMetadata, artifact );
         }
 
         return result;
     }
 
-    private boolean validateMetadata( Metadata metadata, RepositoryMetadata repositoryMetadata, Artifact artifact,
-                                      ReportingDatabase reporter )
+    private boolean validateMetadata( Metadata metadata, RepositoryMetadata repositoryMetadata, Artifact artifact )
     {
         String groupIdKey;
         String artifactIdKey = null;
@@ -302,14 +300,14 @@
 
         if ( metadata.getGroupId() == null || !metadata.getGroupId().equals( artifact.getGroupId() ) )
         {
-            addFailure( reporter, artifact, groupIdKey );
+            addFailure( artifact, groupIdKey );
             result = false;
         }
         if ( !repositoryMetadata.storedInGroupDirectory() )
         {
             if ( metadata.getGroupId() == null || !metadata.getArtifactId().equals( artifact.getArtifactId() ) )
             {
-                addFailure( reporter, artifact, artifactIdKey );
+                addFailure( artifact, artifactIdKey );
                 result = false;
             }
             if ( !repositoryMetadata.storedInArtifactVersionDirectory() )
@@ -332,7 +330,7 @@
 
                 if ( !foundVersion )
                 {
-                    addFailure( reporter, artifact, versionsKey );
+                    addFailure( artifact, versionsKey );
                     result = false;
                 }
             }
@@ -341,7 +339,7 @@
                 // snapshot metadata
                 if ( !artifact.getBaseVersion().equals( metadata.getVersion() ) )
                 {
-                    addFailure( reporter, artifact, versionKey );
+                    addFailure( artifact, versionKey );
                     result = false;
                 }
 
@@ -364,7 +362,7 @@
 
                         if ( !correct )
                         {
-                            addFailure( reporter, artifact, snapshotKey );
+                            addFailure( artifact, snapshotKey );
                             result = false;
                         }
                     }
@@ -374,26 +372,25 @@
         return result;
     }
 
-    private void addFailure( ReportingDatabase reporter, Artifact artifact, String key )
+    private void addFailure( Artifact artifact, String key )
     {
-        addFailureWithReason( reporter, artifact, getI18NString( key ) );
+        addFailureWithReason( artifact, getI18NString( key ) );
 
     }
 
-    private static void addWarning( ReportingDatabase reporter, Artifact artifact, String message )
+    private void addWarning( Artifact artifact, String message )
     {
         // TODO: should we be able to identify/fix these?
-        reporter.addWarning( artifact, null, null, message );
+        reportingDatabase.getArtifactDatabase().addWarning( artifact, null, null, message );
     }
 
-    private static void addFailureWithReason( ReportingDatabase reporter, Artifact artifact, String reason )
+    private void addFailureWithReason( Artifact artifact, String reason )
     {
         // TODO: should we be able to identify/fix these?
-        reporter.addFailure( artifact, null, null, reason );
+        reportingDatabase.getArtifactDatabase().addFailure( artifact, null, null, reason );
     }
 
-    private boolean copyPom( Artifact artifact, ArtifactRepository targetRepository, ReportingDatabase reporter,
-                             FileTransaction transaction )
+    private boolean copyPom( Artifact artifact, ArtifactRepository targetRepository, FileTransaction transaction )
         throws RepositoryConversionException
     {
         Artifact pom = artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(),
@@ -411,7 +408,7 @@
             boolean checksumsValid = false;
             try
             {
-                if ( testChecksums( artifact, file, reporter ) )
+                if ( testChecksums( artifact, file ) )
                 {
                     checksumsValid = true;
                 }
@@ -479,12 +476,12 @@
                     for ( Iterator i = warnings.iterator(); i.hasNext(); )
                     {
                         String message = (String) i.next();
-                        addWarning( reporter, artifact, message );
+                        addWarning( artifact, message );
                     }
                 }
                 catch ( XmlPullParserException e )
                 {
-                    addFailureWithReason( reporter, artifact,
+                    addFailureWithReason( artifact,
                                           getI18NString( "failure.invalid.source.pom", e.getMessage() ) );
                     result = false;
                 }
@@ -494,7 +491,7 @@
                 }
                 catch ( PomTranslationException e )
                 {
-                    addFailureWithReason( reporter, artifact,
+                    addFailureWithReason( artifact,
                                           getI18NString( "failure.invalid.source.pom", e.getMessage() ) );
                     result = false;
                 }
@@ -506,7 +503,7 @@
         }
         else
         {
-            addWarning( reporter, artifact, getI18NString( "warning.missing.pom" ) );
+            addWarning( artifact, getI18NString( "warning.missing.pom" ) );
         }
         return result;
     }
@@ -600,7 +597,7 @@
         return i18n.getString( getClass().getName(), Locale.getDefault(), key );
     }
 
-    private boolean testChecksums( Artifact artifact, File file, ReportingDatabase reporter )
+    private boolean testChecksums( Artifact artifact, File file )
         throws IOException
     {
         boolean result = true;
@@ -609,7 +606,7 @@
         {
             Digester digester = (Digester) it.next();
             result &= verifyChecksum( file, file.getName() + "." + getDigesterFileExtension( digester ), digester,
-                                      reporter, artifact, "failure.incorrect." + getDigesterFileExtension( digester ) );
+                                      artifact, "failure.incorrect." + getDigesterFileExtension( digester ) );
         }
         return result;
     }
@@ -623,8 +620,8 @@
         return digester.getAlgorithm().toLowerCase().replaceAll( "-", "" );
     }
 
-    private boolean verifyChecksum( File file, String fileName, Digester digester, ReportingDatabase reporter,
-                                    Artifact artifact, String key )
+    private boolean verifyChecksum( File file, String fileName, Digester digester, Artifact artifact,
+                                    String key )
         throws IOException
     {
         boolean result = true;
@@ -639,15 +636,14 @@
             }
             catch ( DigesterException e )
             {
-                addFailure( reporter, artifact, key );
+                addFailure( artifact, key );
                 result = false;
             }
         }
         return result;
     }
 
-    private boolean copyArtifact( Artifact artifact, ArtifactRepository targetRepository, ReportingDatabase reporter,
-                                  FileTransaction transaction )
+    private boolean copyArtifact( Artifact artifact, ArtifactRepository targetRepository, FileTransaction transaction )
         throws RepositoryConversionException
     {
         File sourceFile = artifact.getFile();
@@ -668,7 +664,7 @@
                 matching = FileUtils.contentEquals( sourceFile, targetFile );
                 if ( !matching )
                 {
-                    addFailure( reporter, artifact, "failure.target.already.exists" );
+                    addFailure( artifact, "failure.target.already.exists" );
                     result = false;
                 }
             }
@@ -676,7 +672,7 @@
             {
                 if ( force || !matching )
                 {
-                    if ( testChecksums( artifact, sourceFile, reporter ) )
+                    if ( testChecksums( artifact, sourceFile ) )
                     {
                         transaction.copyFile( sourceFile, targetFile, digesters );
                     }
@@ -694,7 +690,7 @@
         return result;
     }
 
-    public void convert( List artifacts, ArtifactRepository targetRepository, ReportingDatabase reporter )
+    public void convert( List artifacts, ArtifactRepository targetRepository )
         throws RepositoryConversionException
     {
         for ( Iterator i = artifacts.iterator(); i.hasNext(); )
@@ -703,7 +699,7 @@
 
             try
             {
-                convert( artifact, targetRepository, reporter );
+                convert( artifact, targetRepository );
             }
             catch ( RepositoryConversionException e )
             {
@@ -716,7 +712,7 @@
                 // the stack trace would be useful. I also have no idea what a processor is currently or
                 // how to get hold of it here.
 
-                reporter.addFailure( artifact, "", e.getLocalizedMessage(), e.getCause().getLocalizedMessage() );
+                reportingDatabase.getArtifactDatabase().addFailure( artifact, "", e.getLocalizedMessage(), e.getCause().getLocalizedMessage() );
             }
         }
     }

Modified: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/RepositoryConverter.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/RepositoryConverter.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/RepositoryConverter.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/RepositoryConverter.java Wed Feb 14 06:44:59 2007
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 
@@ -39,9 +38,8 @@
      *
      * @param artifact         the artifact to convert
      * @param targetRepository the target repository
-     * @param reporter         reporter to track the results of the conversion
      */
-    void convert( Artifact artifact, ArtifactRepository targetRepository, ReportingDatabase reporter )
+    void convert( Artifact artifact, ArtifactRepository targetRepository )
         throws RepositoryConversionException;
 
     /**
@@ -49,8 +47,7 @@
      *
      * @param artifacts        the set of artifacts to convert
      * @param targetRepository the target repository
-     * @param reporter         reporter to track the results of the conversions
      */
-    void convert( List artifacts, ArtifactRepository targetRepository, ReportingDatabase reporter )
+    void convert( List artifacts, ArtifactRepository targetRepository )
         throws RepositoryConversionException;
 }

Copied: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/DefaultLegacyRepositoryConverter.java (from r506385, maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/DefaultLegacyRepositoryConverter.java)
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/DefaultLegacyRepositoryConverter.java?view=diff&rev=507550&p1=maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/DefaultLegacyRepositoryConverter.java&r1=506385&p2=maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/DefaultLegacyRepositoryConverter.java&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/DefaultLegacyRepositoryConverter.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/DefaultLegacyRepositoryConverter.java Wed Feb 14 06:44:59 2007
@@ -1,4 +1,4 @@
-package org.apache.maven.archiva.conversion;
+package org.apache.maven.archiva.converter.legacy;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -20,22 +20,16 @@
  */
 
 import org.apache.maven.archiva.converter.RepositoryConversionException;
-import org.apache.maven.archiva.converter.RepositoryConverter;
-import org.apache.maven.archiva.discoverer.ArtifactDiscoverer;
+import org.apache.maven.archiva.discoverer.Discoverer;
+import org.apache.maven.archiva.discoverer.DiscovererConsumerFactory;
 import org.apache.maven.archiva.discoverer.DiscovererException;
-import org.apache.maven.archiva.discoverer.filter.AcceptAllArtifactFilter;
-import org.apache.maven.archiva.discoverer.filter.SnapshotArtifactFilter;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
-import org.apache.maven.archiva.reporting.group.ReportGroup;
-import org.apache.maven.archiva.reporting.store.ReportingStore;
-import org.apache.maven.archiva.reporting.store.ReportingStoreException;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 
 import java.io.File;
 import java.net.MalformedURLException;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -50,11 +44,6 @@
     /**
      * @plexus.requirement role-hint="legacy"
      */
-    private ArtifactDiscoverer artifactDiscoverer;
-
-    /**
-     * @plexus.requirement role-hint="legacy"
-     */
     private ArtifactRepositoryLayout legacyLayout;
 
     /**
@@ -68,22 +57,17 @@
     private ArtifactRepositoryFactory artifactRepositoryFactory;
 
     /**
-     * @plexus.requirement
+     * @plexus.requirement role-hint="default"
      */
-    private RepositoryConverter repositoryConverter;
+    private Discoverer discoverer;
 
     /**
      * @plexus.requirement
      */
-    private ReportingStore reportingStore;
-
-    /**
-     * @plexus.requirement role-hint="health"
-     */
-    private ReportGroup reportGroup;
+    private DiscovererConsumerFactory consumerFactory;
 
     public void convertLegacyRepository( File legacyRepositoryDirectory, File repositoryDirectory,
-                                         List blacklistedPatterns, boolean includeSnapshots )
+                                         boolean includeSnapshots )
         throws RepositoryConversionException, DiscovererException
     {
         ArtifactRepository legacyRepository;
@@ -92,35 +76,25 @@
 
         try
         {
-            legacyRepository = artifactRepositoryFactory.createArtifactRepository( "legacy",
-                                                                                   legacyRepositoryDirectory.toURI().toURL().toString(),
-                                                                                   legacyLayout, null, null );
-
-            repository = artifactRepositoryFactory.createArtifactRepository( "default",
-                                                                             repositoryDirectory.toURI().toURL().toString(),
-                                                                             defaultLayout, null, null );
+            legacyRepository = artifactRepositoryFactory.createArtifactRepository( "legacy", legacyRepositoryDirectory
+                .toURI().toURL().toString(), legacyLayout, null, null );
+
+            repository = artifactRepositoryFactory.createArtifactRepository( "default", repositoryDirectory.toURI()
+                .toURL().toString(), defaultLayout, null, null );
         }
         catch ( MalformedURLException e )
         {
             throw new RepositoryConversionException( "Error convering legacy repository.", e );
         }
 
-        ArtifactFilter filter =
-            includeSnapshots ? new AcceptAllArtifactFilter() : (ArtifactFilter) new SnapshotArtifactFilter();
-        List legacyArtifacts = artifactDiscoverer.discoverArtifacts( legacyRepository, blacklistedPatterns, filter );
+        List consumers = new ArrayList();
 
-        ReportingDatabase reporter;
-        try
-        {
-            reporter = reportingStore.getReportsFromStore( repository, reportGroup );
+        LegacyConverterArtifactConsumer consumer = (LegacyConverterArtifactConsumer) consumerFactory
+            .createConsumer( "legacy-converter" );
+        consumer.setDestinationRepository( repository );
 
-            repositoryConverter.convert( legacyArtifacts, repository, reporter );
+        consumers.add( consumer );
 
-            reportingStore.storeReports( reporter, repository );
-        }
-        catch ( ReportingStoreException e )
-        {
-            throw new RepositoryConversionException( "Error convering legacy repository.", e );
-        }
+        discoverer.walkRepository( legacyRepository, consumers, includeSnapshots );
     }
 }

Added: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java?view=auto&rev=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java (added)
+++ maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java Wed Feb 14 06:44:59 2007
@@ -0,0 +1,79 @@
+package org.apache.maven.archiva.converter.legacy;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.archiva.converter.RepositoryConversionException;
+import org.apache.maven.archiva.converter.RepositoryConverter;
+import org.apache.maven.archiva.discoverer.consumers.GenericArtifactConsumer;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
+import java.io.File;
+
+/**
+ * LegacyConverterArtifactConsumer - convert artifacts as they are found
+ * into the destination repository. 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ * 
+ * @plexus.component role="org.apache.maven.archiva.discoverer.DiscovererConsumer"
+ *     role-hint="legacy-converter"
+ *     instantiation-strategy="per-lookup"
+ */
+public class LegacyConverterArtifactConsumer
+    extends GenericArtifactConsumer
+{
+    /**
+     * @plexus.requirement
+     */
+    private RepositoryConverter repositoryConverter;
+
+    private ArtifactRepository destinationRepository;
+
+    public void processArtifact( Artifact artifact, File file )
+    {
+        try
+        {
+            repositoryConverter.convert( artifact, destinationRepository );
+        }
+        catch ( RepositoryConversionException e )
+        {
+            getLogger().error(
+                               "Unable to convert artifact " + artifact + " to destination repository "
+                                   + destinationRepository, e );
+        }
+    }
+
+    public void processArtifactBuildFailure( File path, String message )
+    {
+        getLogger().error( "Artifact Build Failure on " + path + " : " + message );
+    }
+
+    public ArtifactRepository getDestinationRepository()
+    {
+        return destinationRepository;
+    }
+
+    public void setDestinationRepository( ArtifactRepository destinationRepository )
+    {
+        this.destinationRepository = destinationRepository;
+    }
+}

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Copied: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyRepositoryConverter.java (from r506385, maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/LegacyRepositoryConverter.java)
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyRepositoryConverter.java?view=diff&rev=507550&p1=maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/LegacyRepositoryConverter.java&r1=506385&p2=maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyRepositoryConverter.java&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/conversion/LegacyRepositoryConverter.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyRepositoryConverter.java Wed Feb 14 06:44:59 2007
@@ -1,4 +1,4 @@
-package org.apache.maven.archiva.conversion;
+package org.apache.maven.archiva.converter.legacy;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -23,7 +23,6 @@
 import org.apache.maven.archiva.discoverer.DiscovererException;
 
 import java.io.File;
-import java.util.List;
 
 /**
  * @author Jason van Zyl
@@ -41,7 +40,6 @@
      * @throws org.apache.maven.archiva.converter.RepositoryConversionException
      *
      */
-    void convertLegacyRepository( File legacyRepositoryDirectory, File repositoryDirectory, List blacklistedPatterns,
-                                  boolean includeSnapshots )
+    void convertLegacyRepository( File legacyRepositoryDirectory, File repositoryDirectory, boolean includeSnapshots )
         throws RepositoryConversionException, DiscovererException;
 }

Modified: maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java Wed Feb 14 06:44:59 2007
@@ -21,7 +21,6 @@
 
 import org.apache.commons.io.FileUtils;
 import org.apache.maven.archiva.reporting.database.ReportingDatabase;
-import org.apache.maven.archiva.reporting.group.ReportGroup;
 import org.apache.maven.archiva.reporting.model.ArtifactResults;
 import org.apache.maven.archiva.reporting.model.Result;
 import org.apache.maven.artifact.Artifact;
@@ -96,9 +95,6 @@
         artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
 
         i18n = (I18N) lookup( I18N.ROLE );
-
-        ReportGroup reportGroup = (ReportGroup) lookup( ReportGroup.ROLE, "health" );
-        reportingDatabase = new ReportingDatabase( reportGroup );
     }
 
     private void copyDirectoryStructure( File sourceDirectory, File destinationDirectory )
@@ -167,7 +163,7 @@
         File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
         artifactFile.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         assertTrue( "Check artifact created", artifactFile.exists() );
@@ -209,7 +205,7 @@
                                              targetRepository.pathOfRemoteRepositoryMetadata( versionMetadata ) );
         versionMetadataFile.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
@@ -250,7 +246,7 @@
                                              targetRepository.pathOfRemoteRepositoryMetadata( versionMetadata ) );
         versionMetadataFile.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         //checkSuccess();  --> commented until MNG-2100 is fixed
 
         File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
@@ -285,7 +281,7 @@
                                              targetRepository.pathOfRemoteRepositoryMetadata( versionMetadata ) );
         versionMetadataFile.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         assertEquals( "check no errors", 0, reportingDatabase.getNumFailures() );
         assertEquals( "check number of warnings", 2, reportingDatabase.getNumWarnings() );
         assertEquals( "check no notices", 0, reportingDatabase.getNumNotices() );
@@ -320,7 +316,7 @@
                                               targetRepository.pathOfRemoteRepositoryMetadata( snapshotMetadata ) );
         snapshotMetadataFile.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
@@ -363,7 +359,7 @@
                                               targetRepository.pathOfRemoteRepositoryMetadata( snapshotMetadata ) );
         snapshotMetadataFile.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
@@ -414,7 +410,7 @@
             createArtifact( "org.apache.maven.plugins", "maven-foo-plugin", "1.0", "1.0", "maven-plugin" );
         artifact.setFile(
             new File( getBasedir(), "src/test/source-repository/test/plugins/maven-foo-plugin-1.0.jar" ) );
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         // There is a warning but I can't figure out how to look at it. Eyeballing the results it appears
         // the plugin is being coverted correctly.
         //checkSuccess();
@@ -450,7 +446,7 @@
                                               targetRepository.pathOfRemoteRepositoryMetadata( snapshotMetadata ) );
         snapshotMetadataFile.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
@@ -483,7 +479,7 @@
         // test that a POM is not created when there was none at the source
 
         Artifact artifact = createArtifact( "test", "noPomArtifact", "1.0.0" );
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         assertEquals( "check no errors", 0, reportingDatabase.getNumFailures() );
         assertEquals( "check warnings", 1, reportingDatabase.getNumWarnings() );
         assertEquals( "check warning message", getI18nString( "warning.missing.pom" ), getWarning().getReason() );
@@ -510,7 +506,7 @@
         File file = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
         file.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkFailure();
         assertEquals( "check failure message", getI18nString( "failure.incorrect.md5" ), getFailure().getReason() );
 
@@ -531,7 +527,7 @@
         File file = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
         file.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkFailure();
         assertEquals( "check failure message", getI18nString( "failure.incorrect.sha1" ), getFailure().getReason() );
 
@@ -568,7 +564,7 @@
         // Need to guarantee last modified is not equal
         Thread.sleep( SLEEP_MILLIS );
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         compareFiles( sourceFile, targetFile );
@@ -604,7 +600,7 @@
         // Need to guarantee last modified is not equal
         Thread.sleep( SLEEP_MILLIS );
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkFailure();
         assertEquals( "Check failure message", getI18nString( "failure.target.already.exists" ),
                       getFailure().getReason() );
@@ -641,7 +637,7 @@
         sourceFile.setLastModified( dateFormat.parse( "2006-01-01" ).getTime() );
         sourcePomFile.setLastModified( dateFormat.parse( "2006-02-02" ).getTime() );
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         compareFiles( sourceFile, targetFile );
@@ -671,7 +667,7 @@
         File targetFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
         File targetPomFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( pomArtifact ) );
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         assertTrue( "Check source file exists", sourceFile.exists() );
@@ -713,7 +709,7 @@
         // Need to guarantee last modified is not equal
         Thread.sleep( SLEEP_MILLIS );
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkFailure();
         assertEquals( "Check failure message", getI18nString( "failure.target.already.exists" ),
                       getFailure().getReason() );
@@ -744,7 +740,7 @@
 
         File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkFailure();
         String pattern = "^" + getI18nString( "failure.invalid.source.pom" ).replaceFirst( "\\{0\\}", ".*" ) + "$";
         assertTrue( "Check failure message", getFailure().getReason().matches( pattern ) );
@@ -763,7 +759,7 @@
         artifacts.add( createArtifact( "test", "artifact-one", "1.0.0" ) );
         artifacts.add( createArtifact( "test", "artifact-two", "1.0.0" ) );
         artifacts.add( createArtifact( "test", "artifact-three", "1.0.0" ) );
-        repositoryConverter.convert( artifacts, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifacts, targetRepository );
         assertEquals( "check no errors", 0, reportingDatabase.getNumFailures() );
         assertEquals( "check no warnings", 0, reportingDatabase.getNumWarnings() );
         assertEquals( "check no notices", 0, reportingDatabase.getNumNotices() );
@@ -797,7 +793,7 @@
         File file = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
         file.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkFailure();
         assertEquals( "check failure message", getI18nString( "failure.incorrect.artifactMetadata.versions" ),
                       getFailure().getReason() );
@@ -821,7 +817,7 @@
         File file = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
         file.delete();
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkFailure();
         assertEquals( "check failure message", getI18nString( "failure.incorrect.snapshotMetadata.snapshot" ),
                       getFailure().getReason() );
@@ -841,7 +837,7 @@
 
         Artifact artifact = createArtifact( "test", "newversion-artifact", "1.0.1" );
 
-        repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+        repositoryConverter.convert( artifact, targetRepository );
         checkSuccess();
 
         File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
@@ -879,7 +875,7 @@
 
         try
         {
-            repositoryConverter.convert( artifact, targetRepository, reportingDatabase );
+            repositoryConverter.convert( artifact, targetRepository );
             fail( "Should have failed trying to convert within the same repository" );
         }
         catch ( RepositoryConversionException e )

Modified: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifact.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifact.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifact.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifact.java Wed Feb 14 06:44:59 2007
@@ -27,7 +27,7 @@
 /**
  * ManagedArtifact 
  *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  */
 public class ManagedArtifact

Modified: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifactTypes.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifactTypes.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifactTypes.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedArtifactTypes.java Wed Feb 14 06:44:59 2007
@@ -27,7 +27,7 @@
 /**
  * ManagedArtifactTypes - provides place to test an unknown artifact type.
  *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  */
 public class ManagedArtifactTypes

Modified: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedEjbArtifact.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedEjbArtifact.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedEjbArtifact.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedEjbArtifact.java Wed Feb 14 06:44:59 2007
@@ -24,7 +24,7 @@
 /**
  * ManagedEjbArtifact - adds the ability to reference the ejb-client jar too. 
  *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  */
 public class ManagedEjbArtifact

Modified: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedJavaArtifact.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedJavaArtifact.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedJavaArtifact.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/artifact/ManagedJavaArtifact.java Wed Feb 14 06:44:59 2007
@@ -25,7 +25,7 @@
  * ManagedJavaArtifact - a ManagedArtifact with optional javadoc and source 
  * reference jars.
  *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  */
 public class ManagedJavaArtifact

Added: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/ArtifactHealthConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/ArtifactHealthConsumer.java?view=auto&rev=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/ArtifactHealthConsumer.java (added)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/ArtifactHealthConsumer.java Wed Feb 14 06:44:59 2007
@@ -0,0 +1,92 @@
+package org.apache.maven.archiva.consumers;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.archiva.discoverer.consumers.GenericArtifactConsumer;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
+import org.apache.maven.archiva.reporting.group.ReportGroup;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.InvalidArtifactRTException;
+import org.apache.maven.model.Model;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+
+import java.io.File;
+import java.util.Collections;
+
+/**
+ * ArtifactHealthConsumer 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.apache.maven.archiva.discoverer.DiscovererConsumer"
+ *     role-hint="artifact-health"
+ *     instantiation-strategy="per-lookup"
+ */
+public class ArtifactHealthConsumer
+    extends GenericArtifactConsumer
+{
+    /**
+     * @plexus.requirement
+     */
+    private ArtifactResultsDatabase database;
+
+    /**
+     * @plexus.requirement role-hint="health"
+     */
+    private ReportGroup health;
+
+    /**
+     * @plexus.requirement
+     */
+    private MavenProjectBuilder projectBuilder;
+
+    public void processArtifact( Artifact artifact, File file )
+    {
+        Model model = null;
+        try
+        {
+            Artifact pomArtifact = artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact
+                .getArtifactId(), artifact.getVersion() );
+            MavenProject project = projectBuilder.buildFromRepository( pomArtifact, Collections.EMPTY_LIST, repository );
+
+            model = project.getModel();
+        }
+        catch ( InvalidArtifactRTException e )
+        {
+            database.addWarning( artifact, null, null, "Invalid artifact [" + artifact + "] : " + e );
+        }
+        catch ( ProjectBuildingException e )
+        {
+            database.addWarning( artifact, null, null, "Error reading project model: " + e );
+        }
+        
+        database.remove( artifact );
+        health.processArtifact( artifact, model );
+    }
+
+    public void processArtifactBuildFailure( File path, String message )
+    {
+        /* do nothing here (yet) */
+        // TODO: store build failure into database?
+    }
+}

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/ArtifactHealthConsumer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/ArtifactHealthConsumer.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/ArtifactHealthConsumer.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/IndexArtifactConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/IndexArtifactConsumer.java?view=auto&rev=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/IndexArtifactConsumer.java (added)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/IndexArtifactConsumer.java Wed Feb 14 06:44:59 2007
@@ -0,0 +1,94 @@
+package org.apache.maven.archiva.consumers;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.discoverer.consumers.GenericArtifactConsumer;
+import org.apache.maven.archiva.indexer.RepositoryArtifactIndex;
+import org.apache.maven.archiva.indexer.RepositoryArtifactIndexFactory;
+import org.apache.maven.archiva.indexer.RepositoryIndexException;
+import org.apache.maven.archiva.indexer.record.RepositoryIndexRecordFactory;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
+import java.io.File;
+
+/**
+ * IndexArtifactConsumer 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.apache.maven.archiva.discoverer.DiscovererConsumer"
+ *     role-hint="index-artifact"
+ *     instantiation-strategy="per-lookup"
+ */
+public class IndexArtifactConsumer
+    extends GenericArtifactConsumer
+{
+    /**
+     * @plexus.requirement
+     */
+    private RepositoryArtifactIndexFactory indexFactory;
+    
+    /**
+     * @plexus.requirement role-hint="standard"
+     */
+    private RepositoryIndexRecordFactory recordFactory;
+
+    /**
+     * Configuration store.
+     *
+     * @plexus.requirement
+     */
+    private ArchivaConfiguration archivaConfiguration;
+
+    private RepositoryArtifactIndex index;
+
+    public boolean init( ArtifactRepository repository )
+    {
+        Configuration configuration = archivaConfiguration.getConfiguration();
+
+        File indexPath = new File( configuration.getIndexPath() );
+
+        index = indexFactory.createStandardIndex( indexPath );
+
+        return super.init( repository );
+    }
+
+    public void processArtifact( Artifact artifact, File file )
+    {
+        try
+        {
+            index.indexArtifact( artifact, recordFactory );
+        }
+        catch ( RepositoryIndexException e )
+        {
+            getLogger().warn( "Unable to index artifact " + artifact, e );
+        }
+    }
+
+    public void processArtifactBuildFailure( File path, String message )
+    {
+        // TODO Auto-generated method stub
+
+    }
+}

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/IndexArtifactConsumer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/IndexArtifactConsumer.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/IndexArtifactConsumer.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/RepositoryMetadataHealthConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/RepositoryMetadataHealthConsumer.java?view=auto&rev=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/RepositoryMetadataHealthConsumer.java (added)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/RepositoryMetadataHealthConsumer.java Wed Feb 14 06:44:59 2007
@@ -0,0 +1,60 @@
+package org.apache.maven.archiva.consumers;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.archiva.discoverer.consumers.GenericRepositoryMetadataConsumer;
+import org.apache.maven.archiva.reporting.database.MetadataResultsDatabase;
+import org.apache.maven.archiva.reporting.group.ReportGroup;
+import org.apache.maven.archiva.reporting.model.MetadataResults;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
+
+import java.io.File;
+
+/**
+ * RepositoryMetadataHealthConsumer 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ * 
+ * @plexus.component role="org.apache.maven.archiva.discoverer.DiscovererConsumer"
+ *     role-hint="metadata-health"
+ *     instantiation-strategy="per-lookup"
+ */
+public class RepositoryMetadataHealthConsumer
+    extends GenericRepositoryMetadataConsumer
+{
+    /**
+     * @plexus.requirement
+     */
+    private MetadataResultsDatabase database;
+
+    /**
+     * @plexus.requirement role-hint="health"
+     */
+    private ReportGroup health;
+
+    public void processRepositoryMetadata( RepositoryMetadata metadata, File file )
+    {
+        MetadataResults results = database.getMetadataResults( metadata );
+        database.clearResults( results );
+
+        health.processMetadata( metadata, repository );
+    }
+}

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/RepositoryMetadataHealthConsumer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/RepositoryMetadataHealthConsumer.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/consumers/RepositoryMetadataHealthConsumer.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/ActiveManagedRepositories.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/ActiveManagedRepositories.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/ActiveManagedRepositories.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/ActiveManagedRepositories.java Wed Feb 14 06:44:59 2007
@@ -31,7 +31,7 @@
 /**
  * ActiveManagedRepositories
  *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  */
 public interface ActiveManagedRepositories

Modified: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositories.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositories.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositories.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositories.java Wed Feb 14 06:44:59 2007
@@ -49,7 +49,7 @@
 /**
  * DefaultActiveManagedRepositories
  *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  * @plexus.component role="org.apache.maven.archiva.repositories.ActiveManagedRepositories"
  */

Modified: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/DefaultRepositoryTaskScheduler.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/DefaultRepositoryTaskScheduler.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/DefaultRepositoryTaskScheduler.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/DefaultRepositoryTaskScheduler.java Wed Feb 14 06:44:59 2007
@@ -24,8 +24,7 @@
 import org.apache.maven.archiva.indexer.RepositoryArtifactIndex;
 import org.apache.maven.archiva.indexer.RepositoryArtifactIndexFactory;
 import org.apache.maven.archiva.indexer.RepositoryIndexException;
-import org.apache.maven.archiva.scheduler.executors.IndexerTaskExecutor;
-import org.apache.maven.archiva.scheduler.task.IndexerTask;
+import org.apache.maven.archiva.scheduler.task.DataRefreshTask;
 import org.apache.maven.archiva.scheduler.task.RepositoryTask;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable;
@@ -61,14 +60,9 @@
     private Scheduler scheduler;
 
     /**
-     * @plexus.requirement role-hint="indexer"
+     * @plexus.requirement role-hint="data-refresh"
      */
-    private TaskQueue indexerQueue;
-
-    /**
-     * @plexus.requirement role="org.codehaus.plexus.taskqueue.execution.TaskExecutor" role-hint="indexer"
-     */
-    private IndexerTaskExecutor indexerTaskExecutor;
+    private TaskQueue datarefreshQueue;
 
     /**
      * @plexus.requirement
@@ -135,7 +129,7 @@
         JobDetail jobDetail = new JobDetail( jobName, DISCOVERER_GROUP, RepositoryTaskJob.class );
 
         JobDataMap dataMap = new JobDataMap();
-        dataMap.put( RepositoryTaskJob.TASK_QUEUE, indexerQueue );
+        dataMap.put( RepositoryTaskJob.TASK_QUEUE, datarefreshQueue );
         dataMap.put( RepositoryTaskJob.TASK_QUEUE_POLICY, RepositoryTask.QUEUE_POLICY_SKIP );
         jobDetail.setJobDataMap( dataMap );
 
@@ -199,14 +193,14 @@
         }
     }
 
-    public void runIndexer()
+    public void runDataRefresh()
         throws org.apache.maven.archiva.scheduler.TaskExecutionException
     {
-        IndexerTask task = new IndexerTask();
-        task.setJobName( "INDEX_INIT" );
+        DataRefreshTask task = new DataRefreshTask();
+        task.setJobName( "DATA_REFRESH_INIT" );
         try
         {
-            indexerQueue.put( task );
+            datarefreshQueue.put( task );
         }
         catch ( TaskQueueException e )
         {
@@ -226,7 +220,7 @@
             RepositoryArtifactIndex artifactIndex = indexFactory.createStandardIndex( indexPath );
             if ( !artifactIndex.exists() )
             {
-                runIndexer();
+                runDataRefresh();
             }
         }
         catch ( RepositoryIndexException e )

Modified: maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskJob.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskJob.java?view=diff&rev=507550&r1=507549&r2=507550
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskJob.java (original)
+++ maven/archiva/branches/archiva-MRM-239/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskJob.java Wed Feb 14 06:44:59 2007
@@ -19,7 +19,7 @@
  * under the License.
  */
 
-import org.apache.maven.archiva.scheduler.task.IndexerTask;
+import org.apache.maven.archiva.scheduler.task.DataRefreshTask;
 import org.apache.maven.archiva.scheduler.task.RepositoryTask;
 import org.codehaus.plexus.scheduler.AbstractJob;
 import org.codehaus.plexus.taskqueue.TaskQueue;
@@ -53,23 +53,23 @@
         JobDataMap dataMap = context.getJobDetail().getJobDataMap();
         setJobDataMap( dataMap );
 
-        TaskQueue indexerQueue = (TaskQueue) dataMap.get( TASK_QUEUE );
+        TaskQueue taskQueue = (TaskQueue) dataMap.get( TASK_QUEUE );
         String queuePolicy = dataMap.get( TASK_QUEUE_POLICY ).toString();
 
-        RepositoryTask task = new IndexerTask();
+        RepositoryTask task = new DataRefreshTask();
         task.setJobName( context.getJobDetail().getName() );
 
         try
         {
-            if ( indexerQueue.getQueueSnapshot().size() == 0 )
+            if ( taskQueue.getQueueSnapshot().size() == 0 )
             {
-                indexerQueue.put( task );
+                taskQueue.put( task );
             }
             else
             {
                 if ( RepositoryTask.QUEUE_POLICY_WAIT.equals( queuePolicy ) )
                 {
-                    indexerQueue.put( task );
+                    taskQueue.put( task );
                 }
                 else if ( RepositoryTask.QUEUE_POLICY_SKIP.equals( queuePolicy ) )
                 {