You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2010/12/22 02:53:12 UTC
svn commit: r1051732 [1/4] - in /archiva/trunk/archiva-modules:
archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/
archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiv...
Author: brett
Date: Wed Dec 22 01:53:10 2010
New Revision: 1051732
URL: http://svn.apache.org/viewvc?rev=1051732&view=rev
Log:
[MRM-1327] add exception handling to the metadata repository implementation
Added:
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepositoryException.java
- copied, changed from r1050283, archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/RepositoryArchivaTaskScheduler.java
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java
archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewVersionsOfArtifactRssFeedProcessor.java
archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/RssFeedProcessor.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/BrowseActionTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/AuditManager.java
archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java
archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/MetadataAuditListener.java
archiva/trunk/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/DefaultDependencyTreeBuilder.java
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemEventListener.java
archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
archiva/trunk/archiva-modules/plugins/problem-reports/src/test/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumerTest.java
archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java
archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManager.java
archiva/trunk/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java
Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java Wed Dec 22 01:53:10 2010
@@ -23,6 +23,7 @@ import org.apache.archiva.metadata.model
import org.apache.archiva.metadata.model.ProjectMetadata;
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.MetadataResolutionException;
import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
import org.apache.maven.archiva.common.utils.VersionUtil;
@@ -169,15 +170,24 @@ public class ArchivaMetadataCreationCons
createVersionMetadata = true;
}
- // TODO: transaction
- // read the metadata and update it if it is newer or doesn't exist
- artifact.setWhenGathered( whenGathered );
- metadataRepository.updateArtifact( repoId, project.getNamespace(), project.getId(), projectVersion, artifact );
- if ( createVersionMetadata )
+ try
+ {
+ // TODO: transaction
+ // read the metadata and update it if it is newer or doesn't exist
+ artifact.setWhenGathered( whenGathered );
+ metadataRepository.updateArtifact( repoId, project.getNamespace(), project.getId(), projectVersion,
+ artifact );
+ if ( createVersionMetadata )
+ {
+ metadataRepository.updateProjectVersion( repoId, project.getNamespace(), project.getId(),
+ versionMetadata );
+ }
+ metadataRepository.updateProject( repoId, project );
+ }
+ catch ( MetadataRepositoryException e )
{
- metadataRepository.updateProjectVersion( repoId, project.getNamespace(), project.getId(), versionMetadata );
+ log.warn( "Error occurred persisting metadata for artifact: " + path + "; message: " + e.getMessage(), e );
}
- metadataRepository.updateProject( repoId, project );
}
public void processFile( String path, boolean executeOnEntireRepo )
Modified: archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java (original)
+++ archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutor.java Wed Dec 22 01:53:10 2010
@@ -19,8 +19,7 @@ package org.apache.archiva.scheduler.rep
* under the License.
*/
-import java.util.Date;
-
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.stats.RepositoryStatistics;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
@@ -38,6 +37,8 @@ import org.codehaus.plexus.taskqueue.exe
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Date;
+
/**
* ArchivaRepositoryScanningTaskExecutor
*
@@ -80,7 +81,7 @@ public class ArchivaRepositoryScanningTa
log.info( "Initialized " + this.getClass().getName() );
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings( "unchecked" )
public void executeTask( Task task )
throws TaskExecutionException
{
@@ -103,8 +104,8 @@ public class ArchivaRepositoryScanningTa
throw new TaskExecutionException( "Unable to execute RepositoryTask with blank repository Id." );
}
- ManagedRepositoryConfiguration arepo =
- archivaConfiguration.getConfiguration().findManagedRepositoryById( repoId );
+ ManagedRepositoryConfiguration arepo = archivaConfiguration.getConfiguration().findManagedRepositoryById(
+ repoId );
// execute consumers on resource file if set
if ( repoTask.getResourceFile() != null )
@@ -117,50 +118,66 @@ public class ArchivaRepositoryScanningTa
log.info( "Executing task from queue with job name: " + repoTask );
// otherwise, execute consumers on whole repository
- try
+ if ( arepo == null )
{
- if ( arepo == null )
- {
- throw new TaskExecutionException(
- "Unable to execute RepositoryTask with invalid repository id: " + repoId );
- }
+ throw new TaskExecutionException(
+ "Unable to execute RepositoryTask with invalid repository id: " + repoId );
+ }
- long sinceWhen = RepositoryScanner.FRESH_SCAN;
- long previousFileCount = 0;
+ long sinceWhen = RepositoryScanner.FRESH_SCAN;
+ long previousFileCount = 0;
- if ( !repoTask.isScanAll() )
+ if ( !repoTask.isScanAll() )
+ {
+ RepositoryStatistics previousStats;
+ try
+ {
+ previousStats = repositoryStatisticsManager.getLastStatistics( repoId );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ throw new TaskExecutionException( "Unable to get previous statistics: " + e.getMessage(), e );
+ }
+ if ( previousStats != null )
{
- RepositoryStatistics previousStats = repositoryStatisticsManager.getLastStatistics( repoId );
- if ( previousStats != null )
- {
- sinceWhen = previousStats.getScanStartTime().getTime();
- previousFileCount = previousStats.getTotalFileCount();
- }
+ sinceWhen = previousStats.getScanStartTime().getTime();
+ previousFileCount = previousStats.getTotalFileCount();
}
+ }
- RepositoryScanStatistics stats = repoScanner.scan( arepo, sinceWhen );
+ RepositoryScanStatistics stats;
+ try
+ {
+ stats = repoScanner.scan( arepo, sinceWhen );
+ }
+ catch ( RepositoryScannerException e )
+ {
+ throw new TaskExecutionException( "Repository error when executing repository job.", e );
+ }
- log.info( "Finished first scan: " + stats.toDump( arepo ) );
+ log.info( "Finished first scan: " + stats.toDump( arepo ) );
- // further statistics will be populated by the following method
- Date endTime = new Date( stats.getWhenGathered().getTime() + stats.getDuration() );
+ // further statistics will be populated by the following method
+ Date endTime = new Date( stats.getWhenGathered().getTime() + stats.getDuration() );
+ try
+ {
repositoryStatisticsManager.addStatisticsAfterScan( repoId, stats.getWhenGathered(), endTime,
stats.getTotalFileCount(),
stats.getTotalFileCount() - previousFileCount );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ throw new TaskExecutionException( "Unable to store updated statistics: " + e.getMessage(), e );
+ }
// log.info( "Scanning for removed repository content" );
// metadataRepository.findAllProjects();
- // FIXME: do something
+ // FIXME: do something
- log.info( "Finished repository task: " + repoTask );
+ log.info( "Finished repository task: " + repoTask );
- this.task = null;
- }
- catch ( RepositoryScannerException e )
- {
- throw new TaskExecutionException( "Repository error when executing repository job.", e );
- }
+ this.task = null;
}
}
Modified: archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/RepositoryArchivaTaskScheduler.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/RepositoryArchivaTaskScheduler.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/RepositoryArchivaTaskScheduler.java (original)
+++ archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/main/java/org/apache/archiva/scheduler/repository/RepositoryArchivaTaskScheduler.java Wed Dec 22 01:53:10 2010
@@ -19,12 +19,7 @@ package org.apache.archiva.scheduler.rep
* under the License.
*/
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.archiva.scheduler.ArchivaTaskScheduler;
import org.apache.maven.archiva.common.ArchivaException;
@@ -46,6 +41,12 @@ import org.quartz.SchedulerException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* Default implementation of a scheduling component for archiva.
*
@@ -110,28 +111,36 @@ public class RepositoryArchivaTaskSchedu
public void start()
throws StartingException
{
- try
- {
- List<ManagedRepositoryConfiguration> repositories = archivaConfiguration.getConfiguration()
- .getManagedRepositories();
+ List<ManagedRepositoryConfiguration> repositories =
+ archivaConfiguration.getConfiguration().getManagedRepositories();
- for ( ManagedRepositoryConfiguration repoConfig : repositories )
+ for ( ManagedRepositoryConfiguration repoConfig : repositories )
+ {
+ if ( repoConfig.isScanned() )
{
- if ( repoConfig.isScanned() )
+ try
{
scheduleRepositoryJobs( repoConfig );
+ }
+ catch ( SchedulerException e )
+ {
+ throw new StartingException( "Unable to start scheduler: " + e.getMessage(), e );
+ }
- if( !isPreviouslyScanned( repoConfig ) )
+ try
+ {
+ if ( !isPreviouslyScanned( repoConfig ) )
{
queueInitialRepoScan( repoConfig );
}
}
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to determine if a repository is already scanned, skipping initial scan: " +
+ e.getMessage(), e );
+ }
}
}
- catch ( SchedulerException e )
- {
- throw new StartingException( "Unable to start scheduler: " + e.getMessage(), e );
- }
}
public void stop()
@@ -152,10 +161,10 @@ public class RepositoryArchivaTaskSchedu
}
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings( "unchecked" )
public boolean isProcessingRepositoryTask( String repositoryId )
{
- synchronized( repositoryScanningQueue )
+ synchronized ( repositoryScanningQueue )
{
List<RepositoryTask> queue = null;
@@ -179,10 +188,10 @@ public class RepositoryArchivaTaskSchedu
}
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings( "unchecked" )
private boolean isProcessingRepositoryTask( RepositoryTask task )
{
- synchronized( repositoryScanningQueue )
+ synchronized ( repositoryScanningQueue )
{
List<RepositoryTask> queue = null;
@@ -240,7 +249,8 @@ public class RepositoryArchivaTaskSchedu
}
jobs.clear();
- List<ManagedRepositoryConfiguration> repositories = archivaConfiguration.getConfiguration().getManagedRepositories();
+ List<ManagedRepositoryConfiguration> repositories =
+ archivaConfiguration.getConfiguration().getManagedRepositories();
for ( ManagedRepositoryConfiguration repoConfig : repositories )
{
@@ -259,8 +269,9 @@ public class RepositoryArchivaTaskSchedu
}
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings( "unchecked" )
private boolean isPreviouslyScanned( ManagedRepositoryConfiguration repoConfig )
+ throws MetadataRepositoryException
{
return repositoryStatisticsManager.getLastStatistics( repoConfig.getId() ) != null;
}
@@ -310,13 +321,13 @@ public class RepositoryArchivaTaskSchedu
if ( !cronValidator.validate( cronString ) )
{
log.warn( "Cron expression [" + cronString + "] for repository [" + repoConfig.getId() +
- "] is invalid. Defaulting to hourly." );
+ "] is invalid. Defaulting to hourly." );
cronString = CRON_HOURLY;
}
// setup the unprocessed artifact job
- JobDetail repositoryJob =
- new JobDetail( REPOSITORY_JOB + ":" + repoConfig.getId(), REPOSITORY_SCAN_GROUP, RepositoryTaskJob.class );
+ JobDetail repositoryJob = new JobDetail( REPOSITORY_JOB + ":" + repoConfig.getId(), REPOSITORY_SCAN_GROUP,
+ RepositoryTaskJob.class );
JobDataMap dataMap = new JobDataMap();
dataMap.put( TASK_QUEUE, repositoryScanningQueue );
@@ -325,17 +336,16 @@ public class RepositoryArchivaTaskSchedu
try
{
- CronTrigger trigger =
- new CronTrigger( REPOSITORY_JOB_TRIGGER + ":" + repoConfig.getId(), REPOSITORY_SCAN_GROUP, cronString );
+ CronTrigger trigger = new CronTrigger( REPOSITORY_JOB_TRIGGER + ":" + repoConfig.getId(),
+ REPOSITORY_SCAN_GROUP, cronString );
jobs.add( REPOSITORY_JOB + ":" + repoConfig.getId() );
scheduler.scheduleJob( repositoryJob, trigger );
}
catch ( ParseException e )
{
- log.error(
- "ParseException in repository scanning cron expression, disabling repository scanning for '" +
- repoConfig.getId() + "': " + e.getMessage() );
+ log.error( "ParseException in repository scanning cron expression, disabling repository scanning for '" +
+ repoConfig.getId() + "': " + e.getMessage() );
}
}
Modified: archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/scheduler/repository/ArchivaRepositoryScanningTaskExecutorTest.java Wed Dec 22 01:53:10 2010
@@ -19,12 +19,7 @@ package org.apache.archiva.scheduler.rep
* under the License.
*/
-import java.io.File;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.stats.RepositoryStatistics;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
@@ -35,6 +30,12 @@ import org.codehaus.plexus.spring.Plexus
import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
import org.codehaus.plexus.util.FileUtils;
+import java.io.File;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
/**
* ArchivaRepositoryScanningTaskExecutorTest
*
@@ -294,6 +295,7 @@ public class ArchivaRepositoryScanningTa
}
private void createAndSaveTestStats()
+ throws MetadataRepositoryException
{
Date date = Calendar.getInstance().getTime();
RepositoryStatistics stats = new RepositoryStatistics();
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java Wed Dec 22 01:53:10 2010
@@ -19,32 +19,34 @@ package org.apache.archiva.rss.processor
* under the License.
*/
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.TimeZone;
-
import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.FeedException;
import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.rss.RssFeedEntry;
import org.apache.archiva.rss.RssFeedGenerator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.TimeZone;
+
/**
* Retrieve and process all artifacts of a repository from the database and generate a rss feed.
- * The artifacts will be grouped by the date when the artifacts were gathered.
+ * The artifacts will be grouped by the date when the artifacts were gathered.
* Each group will appear as one entry in the feed.
- *
+ *
* @plexus.component role="org.apache.archiva.rss.processor.RssFeedProcessor" role-hint="new-artifacts"
*/
public class NewArtifactsRssFeedProcessor
extends AbstractArtifactsRssFeedProcessor
{
private int numberOfDaysBeforeNow = 30;
-
+
private static final String title = "New Artifacts in Repository ";
private static final String desc = "These are the new artifacts found in the repository ";
@@ -63,6 +65,7 @@ public class NewArtifactsRssFeedProcesso
* new versions of artifact.
*/
public SyndFeed process( Map<String, String> reqParams )
+ throws FeedException
{
log.debug( "Process new artifacts into rss feeds." );
@@ -76,13 +79,22 @@ public class NewArtifactsRssFeedProcesso
}
private SyndFeed processNewArtifactsInRepo( String repoId )
+ throws FeedException
{
Calendar greaterThanThisDate = Calendar.getInstance( GMT_TIME_ZONE );
greaterThanThisDate.add( Calendar.DATE, -( getNumberOfDaysBeforeNow() ) );
greaterThanThisDate.clear( Calendar.MILLISECOND );
- List<ArtifactMetadata> artifacts =
- metadataRepository.getArtifactsByDateRange( repoId, greaterThanThisDate.getTime(), null );
+ List<ArtifactMetadata> artifacts = null;
+ try
+ {
+ artifacts = metadataRepository.getArtifactsByDateRange( repoId, greaterThanThisDate.getTime(), null );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ throw new FeedException( "Unable to construct feed, metadata could not be retrieved: " + e.getMessage(),
+ e );
+ }
long tmp = 0;
RssFeedEntry entry = null;
@@ -104,7 +116,8 @@ public class NewArtifactsRssFeedProcesso
}
String repoId1 = artifact.getRepositoryId();
- entry = new RssFeedEntry( this.getTitle() + "\'" + repoId1 + "\'" + " as of " + new Date( whenGathered ) );
+ entry = new RssFeedEntry( this.getTitle() + "\'" + repoId1 + "\'" + " as of " + new Date(
+ whenGathered ) );
entry.setPublishedDate( artifact.getWhenGathered() );
description = this.getDescription() + "\'" + repoId1 + "\'" + ": \n" + id + " | ";
}
@@ -123,8 +136,9 @@ public class NewArtifactsRssFeedProcesso
idx++;
}
- return generator.generateFeed( getTitle() + "\'" + repoId + "\'", "New artifacts found in repository " +
- "\'" + repoId + "\'" + " during repository scan.", entries );
+ return generator.generateFeed( getTitle() + "\'" + repoId + "\'",
+ "New artifacts found in repository " + "\'" + repoId + "\'" +
+ " during repository scan.", entries );
}
public String getTitle()
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewVersionsOfArtifactRssFeedProcessor.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewVersionsOfArtifactRssFeedProcessor.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewVersionsOfArtifactRssFeedProcessor.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewVersionsOfArtifactRssFeedProcessor.java Wed Dec 22 01:53:10 2010
@@ -19,17 +19,22 @@ package org.apache.archiva.rss.processor
* under the License.
*/
+import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.FeedException;
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
+import org.apache.archiva.metadata.repository.MetadataResolutionException;
+import org.apache.archiva.rss.RssFeedEntry;
+import org.apache.archiva.rss.RssFeedGenerator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
-import com.sun.syndication.feed.synd.SyndFeed;
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.rss.RssFeedEntry;
-import org.apache.archiva.rss.RssFeedGenerator;
-
/**
* Retrieve and process new versions of an artifact from the database and
* generate a rss feed. The versions will be grouped by the date when the artifact
@@ -40,6 +45,8 @@ import org.apache.archiva.rss.RssFeedGen
public class NewVersionsOfArtifactRssFeedProcessor
extends AbstractArtifactsRssFeedProcessor
{
+ private Logger log = LoggerFactory.getLogger( NewVersionsOfArtifactRssFeedProcessor.class );
+
private static final String title = "New Versions of Artifact ";
private static final String desc = "These are the new versions of artifact ";
@@ -53,6 +60,7 @@ public class NewVersionsOfArtifactRssFee
* Process all versions of the artifact which had a rss feed request.
*/
public SyndFeed process( Map<String, String> reqParams )
+ throws FeedException
{
String groupId = reqParams.get( RssFeedProcessor.KEY_GROUP_ID );
String artifactId = reqParams.get( RssFeedProcessor.KEY_ARTIFACT_ID );
@@ -66,16 +74,30 @@ public class NewVersionsOfArtifactRssFee
}
private SyndFeed processNewVersionsOfArtifact( String groupId, String artifactId )
+ throws FeedException
{
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>();
- for ( String repoId : metadataRepository.getRepositories() )
+ try
{
- Collection<String> versions = metadataRepository.getProjectVersions( repoId, groupId, artifactId );
- for ( String version : versions )
+ for ( String repoId : metadataRepository.getRepositories() )
{
- artifacts.addAll( metadataRepository.getArtifacts( repoId, groupId, artifactId, version ) );
+ Collection<String> versions = metadataRepository.getProjectVersions( repoId, groupId, artifactId );
+ for ( String version : versions )
+ {
+ artifacts.addAll( metadataRepository.getArtifacts( repoId, groupId, artifactId, version ) );
+ }
}
}
+ catch ( MetadataRepositoryException e )
+ {
+ throw new FeedException( "Unable to construct feed, metadata could not be retrieved: " + e.getMessage(),
+ e );
+ }
+ catch ( MetadataResolutionException e )
+ {
+ throw new FeedException( "Unable to construct feed, metadata could not be retrieved: " + e.getMessage(),
+ e );
+ }
long tmp = 0;
RssFeedEntry entry = null;
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/RssFeedProcessor.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/RssFeedProcessor.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/RssFeedProcessor.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/RssFeedProcessor.java Wed Dec 22 01:53:10 2010
@@ -19,9 +19,10 @@ package org.apache.archiva.rss.processor
* under the License.
*/
-import java.util.Map;
-
import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.FeedException;
+
+import java.util.Map;
/**
* Retrieve and process the data that will be fed into the RssFeedGenerator.
@@ -34,5 +35,6 @@ public interface RssFeedProcessor
public static final String KEY_ARTIFACT_ID = "artifactId";
- SyndFeed process( Map<String, String> reqParams );
+ SyndFeed process( Map<String, String> reqParams )
+ throws FeedException;
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml Wed Dec 22 01:53:10 2010
@@ -288,6 +288,11 @@
<!-- FIXME: temporary coupling to plugin, should be runtime -->
<artifactId>maven2-repository</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<resources>
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java Wed Dec 22 01:53:10 2010
@@ -19,13 +19,6 @@ package org.apache.maven.archiva.web.act
* under the License.
*/
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.repository.MetadataResolutionException;
import org.apache.archiva.metadata.repository.MetadataResolver;
@@ -33,6 +26,13 @@ import org.apache.archiva.metadata.repos
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* Browse the repository.
*
@@ -62,6 +62,7 @@ public class BrowseAction
private Collection<String> projectVersions;
public String browse()
+ throws MetadataResolutionException
{
List<String> selectedRepos = getObservableRepos();
if ( CollectionUtils.isEmpty( selectedRepos ) )
@@ -91,6 +92,7 @@ public class BrowseAction
}
private String collapseNamespaces( Collection<String> repoIds, String n )
+ throws MetadataResolutionException
{
Set<String> subNamespaces = new LinkedHashSet<String>();
for ( String repoId : repoIds )
@@ -124,6 +126,7 @@ public class BrowseAction
}
public String browseGroup()
+ throws MetadataResolutionException
{
if ( StringUtils.isEmpty( groupId ) )
{
@@ -171,6 +174,7 @@ public class BrowseAction
}
public String browseArtifact()
+ throws MetadataResolutionException
{
if ( StringUtils.isEmpty( groupId ) )
{
@@ -249,8 +253,8 @@ public class BrowseAction
}
else
{
- MavenProjectFacet versionMetadataMavenFacet =
- (MavenProjectFacet) versionMetadata.getFacet( MavenProjectFacet.FACET_ID );
+ MavenProjectFacet versionMetadataMavenFacet = (MavenProjectFacet) versionMetadata.getFacet(
+ MavenProjectFacet.FACET_ID );
if ( versionMetadataMavenFacet != null )
{
if ( mavenFacet.getPackaging() != null && !StringUtils.equalsIgnoreCase( mavenFacet.getPackaging(),
@@ -260,14 +264,14 @@ public class BrowseAction
}
}
- if ( sharedModel.getName() != null &&
- !StringUtils.equalsIgnoreCase( sharedModel.getName(), versionMetadata.getName() ) )
+ if ( sharedModel.getName() != null && !StringUtils.equalsIgnoreCase( sharedModel.getName(),
+ versionMetadata.getName() ) )
{
sharedModel.setName( "" );
}
- if ( sharedModel.getDescription() != null &&
- !StringUtils.equalsIgnoreCase( sharedModel.getDescription(), versionMetadata.getDescription() ) )
+ if ( sharedModel.getDescription() != null && !StringUtils.equalsIgnoreCase(
+ sharedModel.getDescription(), versionMetadata.getDescription() ) )
{
sharedModel.setDescription( null );
}
@@ -293,8 +297,8 @@ public class BrowseAction
sharedModel.setOrganization( null );
}
- if ( sharedModel.getUrl() != null &&
- !StringUtils.equalsIgnoreCase( sharedModel.getUrl(), versionMetadata.getUrl() ) )
+ if ( sharedModel.getUrl() != null && !StringUtils.equalsIgnoreCase( sharedModel.getUrl(),
+ versionMetadata.getUrl() ) )
{
sharedModel.setUrl( null );
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java Wed Dec 22 01:53:10 2010
@@ -27,6 +27,8 @@ import org.apache.archiva.checksum.Check
import org.apache.archiva.checksum.ChecksummedFile;
import org.apache.archiva.metadata.model.ArtifactMetadata;
import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
+import org.apache.archiva.metadata.repository.MetadataResolutionException;
import org.apache.archiva.repository.events.RepositoryListener;
import org.apache.maven.archiva.common.utils.VersionComparator;
import org.apache.maven.archiva.common.utils.VersionUtil;
@@ -199,8 +201,8 @@ public class DeleteArtifactAction
TimeZone timezone = TimeZone.getTimeZone( "UTC" );
DateFormat fmt = new SimpleDateFormat( "yyyyMMdd.HHmmss" );
fmt.setTimeZone( timezone );
- ManagedRepositoryConfiguration repoConfig =
- configuration.getConfiguration().findManagedRepositoryById( repositoryId );
+ ManagedRepositoryConfiguration repoConfig = configuration.getConfiguration().findManagedRepositoryById(
+ repositoryId );
VersionedReference ref = new VersionedReference();
ref.setArtifactId( artifactId );
@@ -228,8 +230,8 @@ public class DeleteArtifactAction
updateMetadata( metadata, metadataFile, lastUpdatedTimestamp );
- Collection<ArtifactMetadata> artifacts =
- metadataRepository.getArtifacts( repositoryId, groupId, artifactId, version );
+ Collection<ArtifactMetadata> artifacts = metadataRepository.getArtifacts( repositoryId, groupId, artifactId,
+ version );
for ( ArtifactMetadata artifact : artifacts )
{
@@ -237,8 +239,7 @@ public class DeleteArtifactAction
if ( artifact.getVersion().equals( version ) )
{
metadataRepository.deleteArtifact( artifact.getRepositoryId(), artifact.getNamespace(),
- artifact.getProject(), artifact.getVersion(),
- artifact.getId() );
+ artifact.getProject(), artifact.getVersion(), artifact.getId() );
// TODO: move into the metadata repository proper - need to differentiate attachment of
// repository metadata to an artifact
@@ -275,6 +276,16 @@ public class DeleteArtifactAction
addActionError( "Repository exception: " + e.getMessage() );
return ERROR;
}
+ catch ( MetadataResolutionException e )
+ {
+ addActionError( "Repository exception: " + e.getMessage() );
+ return ERROR;
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ addActionError( "Repository exception: " + e.getMessage() );
+ return ERROR;
+ }
}
private File getMetadata( String targetPath )
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java Wed Dec 22 01:53:10 2010
@@ -20,7 +20,6 @@ package org.apache.maven.archiva.web.act
*/
import com.opensymphony.xwork2.Validateable;
-
import org.apache.archiva.metadata.generic.GenericMetadataFacet;
import org.apache.archiva.metadata.model.ArtifactMetadata;
import org.apache.archiva.metadata.model.Dependency;
@@ -28,6 +27,7 @@ import org.apache.archiva.metadata.model
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.model.ProjectVersionReference;
import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.MetadataResolutionException;
import org.apache.archiva.metadata.repository.MetadataResolver;
import org.apache.archiva.metadata.repository.storage.maven2.MavenArtifactFacet;
@@ -49,12 +49,12 @@ import java.util.List;
import java.util.Map;
/**
- * Browse the repository.
- *
+ * Browse the repository.
+ *
* TODO change name to ShowVersionedAction to conform to terminology.
- *
+ *
* @plexus.component role="com.opensymphony.xwork2.Action" role-hint="showArtifactAction"
- * instantiation-strategy="per-lookup"
+ * instantiation-strategy="per-lookup"
*/
@SuppressWarnings( "serial" )
public class ShowArtifactAction
@@ -171,9 +171,19 @@ public class ShowArtifactAction
{
repositoryId = repoId;
- List<ArtifactMetadata> artifacts =
- new ArrayList<ArtifactMetadata>( metadataResolver.getArtifacts( repoId, groupId, artifactId,
- version ) );
+ List<ArtifactMetadata> artifacts;
+ try
+ {
+ artifacts = new ArrayList<ArtifactMetadata>( metadataResolver.getArtifacts( repoId, groupId,
+ artifactId,
+ version ) );
+ }
+ catch ( MetadataResolutionException e )
+ {
+ addIncompleteModelWarning();
+
+ artifacts = Collections.emptyList();
+ }
Collections.sort( artifacts, new Comparator<ArtifactMetadata>()
{
public int compare( ArtifactMetadata o1, ArtifactMetadata o2 )
@@ -181,9 +191,8 @@ public class ShowArtifactAction
// sort by version (reverse), then ID
// TODO: move version sorting into repository handling (maven2 specific), and perhaps add a
// way to get latest instead
- int result =
- new DefaultArtifactVersion( o2.getVersion() ).compareTo( new DefaultArtifactVersion(
- o1.getVersion() ) );
+ int result = new DefaultArtifactVersion( o2.getVersion() ).compareTo(
+ new DefaultArtifactVersion( o1.getVersion() ) );
return result != 0 ? result : o1.getId().compareTo( o2.getId() );
}
} );
@@ -207,7 +216,8 @@ public class ShowArtifactAction
private void addIncompleteModelWarning()
{
- addActionMessage( "The model may be incomplete due to a previous error in resolving information. Refer to the repository problem reports for more information." );
+ addActionMessage(
+ "The model may be incomplete due to a previous error in resolving information. Refer to the repository problem reports for more information." );
}
/**
@@ -248,6 +258,7 @@ public class ShowArtifactAction
* Show the dependees (other artifacts that depend on this project) tab.
*/
public String dependees()
+ throws MetadataResolutionException
{
List<ProjectVersionReference> references = new ArrayList<ProjectVersionReference>();
// TODO: what if we get duplicates across repositories?
@@ -321,8 +332,8 @@ public class ShowArtifactAction
genericMetadata = projectMetadata.getFacet( GenericMetadataFacet.FACET_ID ).toProperties();
}
- if ( propertyName == null || "".equals( propertyName.trim() ) || propertyValue == null ||
- "".equals( propertyValue.trim() ) )
+ if ( propertyName == null || "".equals( propertyName.trim() ) || propertyValue == null || "".equals(
+ propertyValue.trim() ) )
{
model = projectMetadata;
addActionError( errorMsg != null ? errorMsg : "Property Name and Property Value are required." );
@@ -331,7 +342,16 @@ public class ShowArtifactAction
genericMetadata.put( propertyName, propertyValue );
- updateProjectMetadata( projectMetadata );
+ try
+ {
+ updateProjectMetadata( projectMetadata );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to persist modified project metadata after adding entry: " + e.getMessage(), e );
+ addActionError( "Unable to add metadata item to underlying content storage - consult application logs." );
+ return ERROR;
+ }
projectMetadata = getProjectVersionMetadata();
@@ -352,7 +372,7 @@ public class ShowArtifactAction
if ( projectMetadata == null )
{
- addActionError( errorMsg != null ? errorMsg : "Artifact not found" );
+ addActionError( "Artifact not found" );
return ERROR;
}
@@ -364,7 +384,18 @@ public class ShowArtifactAction
{
genericMetadata.remove( deleteItem );
- updateProjectMetadata( projectMetadata );
+ try
+ {
+ updateProjectMetadata( projectMetadata );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to persist modified project metadata after removing entry: " + e.getMessage(),
+ e );
+ addActionError(
+ "Unable to remove metadata item to underlying content storage - consult application logs." );
+ return ERROR;
+ }
projectMetadata = getProjectVersionMetadata();
@@ -379,7 +410,7 @@ public class ShowArtifactAction
}
else
{
- addActionError( errorMsg != null ? errorMsg : "No generic metadata facet for this artifact." );
+ addActionError( "No generic metadata facet for this artifact." );
return ERROR;
}
@@ -387,6 +418,7 @@ public class ShowArtifactAction
}
private void updateProjectMetadata( ProjectVersionMetadata projectMetadata )
+ throws MetadataRepositoryException
{
GenericMetadataFacet genericMetadataFacet = new GenericMetadataFacet();
genericMetadataFacet.fromProperties( genericMetadata );
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java Wed Dec 22 01:53:10 2010
@@ -22,6 +22,7 @@ package org.apache.maven.archiva.web.act
import com.opensymphony.xwork2.Preparable;
import org.apache.archiva.audit.AuditEvent;
import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.configuration.Configuration;
@@ -35,7 +36,7 @@ import java.util.Map;
/**
* DeleteManagedRepositoryAction
- *
+ *
* @version $Id$
* @plexus.component role="com.opensymphony.xwork2.Action" role-hint="deleteManagedRepositoryAction" instantiation-strategy="per-lookup"
*/
@@ -64,7 +65,8 @@ public class DeleteManagedRepositoryActi
if ( StringUtils.isNotBlank( repoid ) )
{
this.repository = archivaConfiguration.getConfiguration().findManagedRepositoryById( repoid );
- this.stagingRepository = archivaConfiguration.getConfiguration().findManagedRepositoryById( repoid +"-stage");
+ this.stagingRepository = archivaConfiguration.getConfiguration().findManagedRepositoryById(
+ repoid + "-stage" );
}
}
@@ -104,23 +106,23 @@ public class DeleteManagedRepositoryActi
try
{
Configuration configuration = archivaConfiguration.getConfiguration();
- cleanupRepositoryData( existingRepository );
- removeRepository( repoid, configuration );
- triggerAuditEvent( repoid, null, AuditEvent.DELETE_MANAGED_REPO );
- if(attachedStagingRepo !=null)
+ if ( attachedStagingRepo != null )
{
cleanupRepositoryData( attachedStagingRepo );
- removeRepository( repoid +"-stage", configuration );
- triggerAuditEvent(repoid +"-stage", null, AuditEvent.DELETE_MANAGED_REPO );
+ removeRepository( repoid + "-stage", configuration );
+ triggerAuditEvent( repoid + "-stage", null, AuditEvent.DELETE_MANAGED_REPO );
}
+ cleanupRepositoryData( existingRepository );
+ removeRepository( repoid, configuration );
+ triggerAuditEvent( repoid, null, AuditEvent.DELETE_MANAGED_REPO );
result = saveConfiguration( configuration );
if ( result.equals( SUCCESS ) )
{
if ( deleteContents )
{
- if(attachedStagingRepo !=null)
+ if ( attachedStagingRepo != null )
{
removeContents( attachedStagingRepo );
}
@@ -130,12 +132,20 @@ public class DeleteManagedRepositoryActi
}
catch ( IOException e )
{
- addActionError( "Unable to delete repository: " + e.getMessage() );
+ addActionError(
+ "Unable to delete repository, content may already be partially removed: " + e.getMessage() );
result = ERROR;
}
catch ( RoleManagerException e )
{
- addActionError( "Unable to delete repository: " + e.getMessage() );
+ addActionError(
+ "Unable to delete repository, content may already be partially removed: " + e.getMessage() );
+ result = ERROR;
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ addActionError(
+ "Unable to delete repository, content may already be partially removed: " + e.getMessage() );
result = ERROR;
}
@@ -143,7 +153,7 @@ public class DeleteManagedRepositoryActi
}
private void cleanupRepositoryData( ManagedRepositoryConfiguration cleanupRepository )
- throws RoleManagerException
+ throws RoleManagerException, MetadataRepositoryException
{
removeRepositoryRoles( cleanupRepository );
cleanupDatabase( cleanupRepository.getId() );
@@ -160,20 +170,22 @@ public class DeleteManagedRepositoryActi
}
Map<String, List<String>> repoToGroupMap = archivaConfiguration.getConfiguration().getRepositoryToGroupMap();
- if( repoToGroupMap != null )
+ if ( repoToGroupMap != null )
{
- if( repoToGroupMap.containsKey( cleanupRepository.getId() ) )
+ if ( repoToGroupMap.containsKey( cleanupRepository.getId() ) )
{
List<String> repoGroups = repoToGroupMap.get( cleanupRepository.getId() );
- for( String repoGroup : repoGroups )
+ for ( String repoGroup : repoGroups )
{
- archivaConfiguration.getConfiguration().findRepositoryGroupById( repoGroup ).removeRepository( cleanupRepository.getId() );
+ archivaConfiguration.getConfiguration().findRepositoryGroupById( repoGroup ).removeRepository(
+ cleanupRepository.getId() );
}
}
}
}
private void cleanupDatabase( String repoId )
+ throws MetadataRepositoryException
{
metadataRepository.deleteRepository( repoId );
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java Wed Dec 22 01:53:10 2010
@@ -22,6 +22,7 @@ package org.apache.maven.archiva.web.act
import com.opensymphony.xwork2.Preparable;
import com.opensymphony.xwork2.Validateable;
import org.apache.archiva.audit.AuditEvent;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.configuration.Configuration;
@@ -144,7 +145,7 @@ public class EditManagedRepositoryAction
//delete staging repo when we dont need it
if ( !stageNeeded )
{
- stagingRepository = getStageRepoConfig(configuration);
+ stagingRepository = getStageRepoConfig( configuration );
removeRepository( stagingRepository.getId(), configuration );
removeContents( stagingRepository );
removeRepositoryRoles( stagingRepository );
@@ -166,6 +167,11 @@ public class EditManagedRepositoryAction
addActionError( "Role Manager Exception: " + e.getMessage() );
result = ERROR;
}
+ catch ( MetadataRepositoryException e )
+ {
+ addActionError( "Metadata Exception: " + e.getMessage() );
+ result = ERROR;
+ }
return result;
}
@@ -177,7 +183,7 @@ public class EditManagedRepositoryAction
if ( repoConf.getId().equals( repository.getId() + "-stage" ) )
{
stagingRepository = repoConf;
- removeRepository( repoConf .getId() , configuration);
+ removeRepository( repoConf.getId(), configuration );
updateStagingRepository( stagingRepository );
return stagingRepository;
}
@@ -220,6 +226,7 @@ public class EditManagedRepositoryAction
}
private void resetStatistics()
+ throws MetadataRepositoryException
{
repositoryStatisticsManager.deleteStatistics( repository.getId() );
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java Wed Dec 22 01:53:10 2010
@@ -19,14 +19,8 @@ package org.apache.maven.archiva.web.act
* under the License.
*/
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-
import com.opensymphony.xwork2.Preparable;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.stats.RepositoryStatistics;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
@@ -43,6 +37,13 @@ import org.codehaus.redback.integration.
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
import org.codehaus.redback.integration.interceptor.SecureActionException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+
/**
* Shows the Repositories Tab for the administrator.
*
@@ -108,7 +109,17 @@ public class RepositoriesAction
repositoryStatistics = new HashMap<String, RepositoryStatistics>();
for ( ManagedRepositoryConfiguration repo : managedRepositories )
{
- RepositoryStatistics stats = repositoryStatisticsManager.getLastStatistics( repo.getId() );
+ RepositoryStatistics stats = null;
+ try
+ {
+ stats = repositoryStatisticsManager.getLastStatistics( repo.getId() );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ addActionError(
+ "Error retrieving statistics for repository " + repo.getId() + " - consult application logs" );
+ log.warn( "Error retrieving repository statistics: " + e.getMessage(), e );
+ }
if ( stats != null )
{
repositoryStatistics.put( repo.getId(), stats );
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java Wed Dec 22 01:53:10 2010
@@ -19,22 +19,9 @@ package org.apache.maven.archiva.web.act
* under the License.
*/
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringReader;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
import com.opensymphony.xwork2.Preparable;
import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.stats.RepositoryStatistics;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.archiva.reports.RepositoryProblemFacet;
@@ -51,6 +38,20 @@ import org.codehaus.redback.integration.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
/**
* @plexus.component role="com.opensymphony.xwork2.Action" role-hint="generateReport" instantiation-strategy="per-lookup"
*/
@@ -114,7 +115,7 @@ public class GenerateReportAction
*/
private MetadataRepository metadataRepository;
- @SuppressWarnings("unchecked")
+ @SuppressWarnings( "unchecked" )
public void prepare()
{
repositoryIds = new ArrayList<String>();
@@ -186,9 +187,16 @@ public class GenerateReportAction
// multiple repos
for ( String repo : selectedRepositories )
{
- List<RepositoryStatistics> stats =
- repositoryStatisticsManager.getStatisticsInRange( repo, startDateInDF, endDateInDF );
- if ( stats.isEmpty() )
+ List<RepositoryStatistics> stats = null;
+ try
+ {
+ stats = repositoryStatisticsManager.getStatisticsInRange( repo, startDateInDF, endDateInDF );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to retrieve stats, assuming is empty: " + e.getMessage(), e );
+ }
+ if ( stats == null || stats.isEmpty() )
{
log.info( "No statistics available for repository '" + repo + "'." );
// TODO set repo's stats to 0
@@ -212,10 +220,17 @@ public class GenerateReportAction
return INPUT;
}
- List<RepositoryStatistics> stats =
- repositoryStatisticsManager.getStatisticsInRange( repositoryId, startDateInDF, endDateInDF );
-
- if ( stats.isEmpty() )
+ List<RepositoryStatistics> stats = null;
+ try
+ {
+ stats = repositoryStatisticsManager.getStatisticsInRange( repositoryId, startDateInDF,
+ endDateInDF );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to retrieve stats, assuming is empty: " + e.getMessage(), e );
+ }
+ if ( stats == null || stats.isEmpty() )
{
addActionError( "No statistics available for repository. Repository might not have been scanned." );
return ERROR;
@@ -304,9 +319,16 @@ public class GenerateReportAction
// multiple repos
for ( String repo : selectedRepositories )
{
- List<RepositoryStatistics> stats =
- repositoryStatisticsManager.getStatisticsInRange( repo, startDateInDF, endDateInDF );
- if ( stats.isEmpty() )
+ List<RepositoryStatistics> stats = null;
+ try
+ {
+ stats = repositoryStatisticsManager.getStatisticsInRange( repo, startDateInDF, endDateInDF );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to retrieve stats, assuming is empty: " + e.getMessage(), e );
+ }
+ if ( stats == null || stats.isEmpty() )
{
log.info( "No statistics available for repository '" + repo + "'." );
// TODO set repo's stats to 0
@@ -344,9 +366,17 @@ public class GenerateReportAction
return INPUT;
}
- List<RepositoryStatistics> stats =
- repositoryStatisticsManager.getStatisticsInRange( repositoryId, startDateInDF, endDateInDF );
- if ( stats.isEmpty() )
+ List<RepositoryStatistics> stats = null;
+ try
+ {
+ stats = repositoryStatisticsManager.getStatisticsInRange( repositoryId, startDateInDF,
+ endDateInDF );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to retrieve stats, assuming is empty: " + e.getMessage(), e );
+ }
+ if ( stats == null || stats.isEmpty() )
{
addActionError( "No statistics available for repository. Repository might not have been scanned." );
return ERROR;
@@ -503,10 +533,8 @@ public class GenerateReportAction
// TODO: improve performance by navigating into a group subtree. Currently group is property, not part of name of item
for ( String name : metadataRepository.getMetadataFacets( repoId, RepositoryProblemFacet.FACET_ID ) )
{
- RepositoryProblemFacet metadataFacet =
- (RepositoryProblemFacet) metadataRepository.getMetadataFacet( repoId,
- RepositoryProblemFacet.FACET_ID,
- name );
+ RepositoryProblemFacet metadataFacet = (RepositoryProblemFacet) metadataRepository.getMetadataFacet(
+ repoId, RepositoryProblemFacet.FACET_ID, name );
if ( StringUtils.isEmpty( groupId ) || groupId.equals( metadataFacet.getNamespace() ) )
{
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/BrowseActionTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/BrowseActionTest.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/BrowseActionTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/BrowseActionTest.java Wed Dec 22 01:53:10 2010
@@ -19,14 +19,14 @@ package org.apache.maven.archiva.web.act
* under the License.
*/
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
import com.opensymphony.xwork2.Action;
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.repository.memory.TestMetadataResolver;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
public class BrowseActionTest
extends AbstractActionTestCase
{
@@ -34,9 +34,8 @@ public class BrowseActionTest
private BrowseAction action;
- private static final List<String> GROUPS =
- Arrays.asList( "org.apache.archiva", "commons-lang", "org.apache.maven", "com.sun", "com.oracle",
- "repeat.repeat" );
+ private static final List<String> GROUPS = Arrays.asList( "org.apache.archiva", "commons-lang", "org.apache.maven",
+ "com.sun", "com.oracle", "repeat.repeat" );
private static final String OTHER_TEST_REPO = "other-repo";
@@ -46,6 +45,7 @@ public class BrowseActionTest
}
public void testBrowse()
+ throws Exception
{
metadataResolver.setNamespaces( TEST_REPO, GROUPS );
@@ -63,6 +63,7 @@ public class BrowseActionTest
}
public void testBrowseNoObservableRepos()
+ throws Exception
{
setObservableRepos( Collections.<String>emptyList() );
@@ -73,6 +74,7 @@ public class BrowseActionTest
}
public void testBrowseGroupNoObservableRepos()
+ throws Exception
{
setObservableRepos( Collections.<String>emptyList() );
String selectedGroupId = "org";
@@ -91,6 +93,7 @@ public class BrowseActionTest
}
public void testBrowseArtifactNoObservableRepos()
+ throws Exception
{
setObservableRepos( Collections.<String>emptyList() );
String selectedGroupId = "org.apache";
@@ -111,6 +114,7 @@ public class BrowseActionTest
}
public void testBrowseGroupNoGroupId()
+ throws Exception
{
String result = action.browseGroup();
assertErrorResult( result );
@@ -118,6 +122,7 @@ public class BrowseActionTest
}
public void testBrowseGroupNoArtifacts()
+ throws Exception
{
String selectedGroupId = "org";
List<String> groups = Arrays.asList( "org.apache.archiva", "org.apache.maven" );
@@ -138,6 +143,7 @@ public class BrowseActionTest
}
public void testBrowseGroupWithArtifacts()
+ throws Exception
{
String artifacts = "apache";
String selectedGroupId = "org.apache";
@@ -160,6 +166,7 @@ public class BrowseActionTest
}
public void testBrowseWithCollapsedGroupsAndArtifacts()
+ throws Exception
{
List<String> groups = Arrays.asList( "org.apache.archiva", "org.apache" );
@@ -181,6 +188,7 @@ public class BrowseActionTest
}
public void testBrowseWithCollapsedGroupsAndArtifactsAcrossRepositories()
+ throws Exception
{
setObservableRepos( Arrays.asList( TEST_REPO, OTHER_TEST_REPO ) );
@@ -204,6 +212,7 @@ public class BrowseActionTest
}
public void testBrowseGroupWithCollapsedGroupsAndArtifacts()
+ throws Exception
{
String artifacts = "apache";
String selectedGroupId = "org.apache";
@@ -228,6 +237,7 @@ public class BrowseActionTest
}
public void testBrowseArtifactNoGroupId()
+ throws Exception
{
String selectedArtifactId = "apache";
@@ -245,6 +255,7 @@ public class BrowseActionTest
}
public void testBrowseArtifactNoArtifactId()
+ throws Exception
{
String selectedGroupId = "org.apache";
@@ -262,19 +273,21 @@ public class BrowseActionTest
}
public void testBrowseArtifact()
+ throws Exception
+
{
String selectedGroupId = "org.apache";
String selectedArtifactId = "apache";
List<String> versions = Arrays.asList( "1", "2", "3", "4" );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "1" ) );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "2" ) );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "3" ) );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "4" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "1" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "2" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "3" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "4" ) );
action.setGroupId( selectedGroupId );
action.setArtifactId( selectedArtifactId );
@@ -294,23 +307,25 @@ public class BrowseActionTest
}
public void testBrowseArtifactWithSnapshots()
+ throws Exception
+
{
String selectedGroupId = "org.apache";
String selectedArtifactId = "apache";
List<String> versions = Arrays.asList( "1", "2", "3", "4-SNAPSHOT", "4", "5-SNAPSHOT" );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "1" ) );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "2" ) );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "3" ) );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "4-SNAPSHOT" ) );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "4" ) );
- metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId,
- createProjectModel( selectedGroupId, selectedArtifactId, "5-SNAPSHOT" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "1" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "2" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "3" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "4-SNAPSHOT" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "4" ) );
+ metadataResolver.setProjectVersion( TEST_REPO, selectedGroupId, selectedArtifactId, createProjectModel(
+ selectedGroupId, selectedArtifactId, "5-SNAPSHOT" ) );
action.setGroupId( selectedGroupId );
action.setArtifactId( selectedArtifactId );