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 [2/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...

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.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/ShowArtifactActionTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java Wed Dec 22 01:53:10 2010
@@ -20,33 +20,30 @@ package org.apache.maven.archiva.web.act
  */
 
 import com.opensymphony.xwork2.Action;
-
-import org.apache.archiva.metadata.generic.GenericMetadataFacet;
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.Dependency;
 import org.apache.archiva.metadata.model.MailingList;
 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.file.FileMetadataRepository;
 import org.apache.archiva.metadata.repository.memory.TestMetadataResolver;
 import org.apache.archiva.metadata.repository.storage.maven2.MavenArtifactFacet;
 import org.apache.maven.archiva.common.utils.VersionUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.DefaultArchivaConfiguration;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.RepositoryContentFactory;
 import org.apache.maven.archiva.repository.content.ManagedDefaultRepositoryContent;
-import org.easymock.MockControl;
-import org.easymock.classextension.MockClassControl;
 
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
 public class ShowArtifactActionTest
     extends AbstractActionTestCase
 {
@@ -77,8 +74,8 @@ public class ShowArtifactActionTest
 
     public void testGetArtifactUniqueRelease()
     {
-        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_VERSION ) );
+        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_VERSION ) );
 
         setActionParameters();
 
@@ -100,8 +97,8 @@ public class ShowArtifactActionTest
 
     public void testGetArtifactUniqueSnapshot()
     {
-        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_SNAPSHOT_VERSION ) );
+        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_SNAPSHOT_VERSION ) );
         metadataResolver.setArtifacts( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, TEST_SNAPSHOT_VERSION,
                                        TEST_SNAPSHOT_ARTIFACTS );
 
@@ -130,8 +127,8 @@ public class ShowArtifactActionTest
 
     public void testGetArtifactUniqueSnapshotTimestamped()
     {
-        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_SNAPSHOT_VERSION ) );
+        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_SNAPSHOT_VERSION ) );
         metadataResolver.setArtifacts( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, TEST_SNAPSHOT_VERSION,
                                        TEST_SNAPSHOT_ARTIFACTS );
 
@@ -171,8 +168,8 @@ public class ShowArtifactActionTest
 
     public void testGetArtifactNotInObservableRepos()
     {
-        metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_VERSION ) );
+        metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_VERSION ) );
 
         setActionParameters();
 
@@ -186,8 +183,8 @@ public class ShowArtifactActionTest
     public void testGetArtifactOnlySeenInSecondObservableRepo()
     {
         setObservableRepos( Arrays.asList( OTHER_TEST_REPO, TEST_REPO ) );
-        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_VERSION ) );
+        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_VERSION ) );
 
         setActionParameters();
 
@@ -210,10 +207,10 @@ public class ShowArtifactActionTest
     public void testGetArtifactSeenInBothObservableRepo()
     {
         setObservableRepos( Arrays.asList( TEST_REPO, OTHER_TEST_REPO ) );
-        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_VERSION ) );
-        metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_VERSION ) );
+        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_VERSION ) );
+        metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_VERSION ) );
 
         setActionParameters();
 
@@ -236,10 +233,10 @@ public class ShowArtifactActionTest
     public void testGetArtifactCanOnlyObserveInOneOfTwoRepos()
     {
         setObservableRepos( Arrays.asList( TEST_REPO ) );
-        metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_VERSION ) );
-        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                            createProjectModel( TEST_VERSION ) );
+        metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_VERSION ) );
+        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, createProjectModel(
+            TEST_VERSION ) );
 
         setActionParameters();
 
@@ -347,13 +344,14 @@ public class ShowArtifactActionTest
     }
 
     public void testGetDependees()
+        throws Exception
     {
         ProjectVersionMetadata versionMetadata = createProjectModel( TEST_VERSION );
         metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, versionMetadata );
         ProjectVersionReference dependee1 = createReference( "artifactId1" );
         ProjectVersionReference dependee2 = createReference( "artifactId2" );
-        metadataResolver.setProjectReferences( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, TEST_VERSION,
-                                               Arrays.asList( dependee1, dependee2 ) );
+        metadataResolver.setProjectReferences( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, TEST_VERSION, Arrays.asList(
+            dependee1, dependee2 ) );
 
         setActionParameters();
 
@@ -378,7 +376,7 @@ public class ShowArtifactActionTest
     public void testGetProjectMetadata()
     {
         ProjectVersionMetadata versionMetadata = createProjectModel( TEST_VERSION );
-        
+
         metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, TEST_ARTIFACT_ID, versionMetadata );
 
         setActionParameters();
@@ -388,11 +386,12 @@ public class ShowArtifactActionTest
         assertActionSuccess( action, result );
 
         assertActionParameters( action );
-        
+
         Map<String, String> genericMetadata = action.getGenericMetadata();
         assertNotNull( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ) );
-        assertEquals( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ), TEST_GENERIC_METADATA_PROPERTY_VALUE );
-        
+        assertEquals( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ),
+                      TEST_GENERIC_METADATA_PROPERTY_VALUE );
+
         assertEquals( TEST_REPO, action.getRepositoryId() );
         assertNotNull( action.getModel() );
         assertNull( action.getDependees() );
@@ -400,7 +399,7 @@ public class ShowArtifactActionTest
         assertNull( action.getMailingLists() );
         assertTrue( action.getArtifacts().isEmpty() );
     }
-    
+
     public void testAddAndDeleteMetadataProperty()
     {
         ProjectVersionMetadata versionMetadata = createProjectModel( TEST_VERSION );
@@ -412,6 +411,9 @@ public class ShowArtifactActionTest
         action.setPropertyValue( "bar" );
         action.setRepositoryId( TEST_REPO );
 
+        MetadataRepository repo = mock( MetadataRepository.class );
+        action.setMetadataRepository( repo );
+
         String result = action.addMetadataProperty();
 
         assertActionSuccess( action, result );
@@ -419,7 +421,8 @@ public class ShowArtifactActionTest
 
         Map<String, String> genericMetadata = action.getGenericMetadata();
         assertNotNull( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ) );
-        assertEquals( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ), TEST_GENERIC_METADATA_PROPERTY_VALUE );
+        assertEquals( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ),
+                      TEST_GENERIC_METADATA_PROPERTY_VALUE );
 
         assertNotNull( genericMetadata.get( "foo" ) );
         assertEquals( "bar", genericMetadata.get( "foo" ) );
@@ -444,7 +447,8 @@ public class ShowArtifactActionTest
 
         genericMetadata = action.getGenericMetadata();
         assertNotNull( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ) );
-        assertEquals( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ), TEST_GENERIC_METADATA_PROPERTY_VALUE );
+        assertEquals( genericMetadata.get( TEST_GENERIC_METADATA_PROPERTY_NAME ),
+                      TEST_GENERIC_METADATA_PROPERTY_VALUE );
 
         assertNull( genericMetadata.get( "foo" ) );
 
@@ -474,7 +478,7 @@ public class ShowArtifactActionTest
             assertEquals( TEST_TYPE, actual.getType() );
             assertEquals( "12.06 K", actual.getSize() );
             assertEquals( artifact.getNamespace() + "/" + artifact.getProject() + "/" + TEST_SNAPSHOT_VERSION + "/" +
-                artifact.getId(), actual.getPath() );
+                              artifact.getId(), actual.getPath() );
         }
     }
 
@@ -576,8 +580,8 @@ public class ShowArtifactActionTest
         ml1.setSubscribeAddress( prefix + "-subscribe@" );
         ml1.setUnsubscribeAddress( prefix + "-unsubscribe@" );
         ml1.setMainArchiveUrl( prefix + "-archive-url" );
-        ml1.setOtherArchives(
-            Arrays.asList( "other-" + prefix + "-archive-url-1", "other-" + prefix + "-archive-url-2" ) );
+        ml1.setOtherArchives( Arrays.asList( "other-" + prefix + "-archive-url-1",
+                                             "other-" + prefix + "-archive-url-2" ) );
         return ml1;
     }
 
@@ -628,32 +632,22 @@ public class ShowArtifactActionTest
         super.setUp();
         action = (ShowArtifactAction) lookup( Action.class, ACTION_HINT );
         metadataResolver = (TestMetadataResolver) action.getMetadataResolver();
-        MockControl control = MockClassControl.createControl( RepositoryContentFactory.class );
-        RepositoryContentFactory factory = (RepositoryContentFactory) control.getMock();
+
+        RepositoryContentFactory factory = mock( RepositoryContentFactory.class );
         action.setRepositoryFactory( factory );
 
         ManagedRepositoryConfiguration config = new ManagedRepositoryConfiguration();
         config.setId( TEST_REPO );
         config.setLocation( getTestFile( "target/test-repo" ).getAbsolutePath() );
-        
+
         ManagedRepositoryContent content = new ManagedDefaultRepositoryContent();
         content.setRepository( config );
-        factory.getManagedRepositoryContent( TEST_REPO );
-        
-        FileMetadataRepository metadataRepo = ( FileMetadataRepository ) lookup( MetadataRepository.class );
-        MockControl archivaConfigControl = MockControl.createControl( ArchivaConfiguration.class );
-        ArchivaConfiguration archivaConfig = (ArchivaConfiguration) archivaConfigControl.getMock();
-        
+        when( factory.getManagedRepositoryContent( TEST_REPO ) ).thenReturn( content );
+
+        ArchivaConfiguration archivaConfig = mock( ArchivaConfiguration.class );
+
         Configuration configuration = new Configuration();
         configuration.addManagedRepository( config );
-        metadataRepo.setConfiguration( archivaConfig );
-        archivaConfig.getConfiguration();
-        
-        action.setMetadataRepository( metadataRepo );
-        
-        archivaConfigControl.setDefaultReturnValue( configuration );        
-        control.setDefaultReturnValue( content );
-        control.replay();
-        archivaConfigControl.replay();
+        when( archivaConfig.getConfiguration() ).thenReturn( configuration );
     }
 }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.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/admin/repositories/DeleteManagedRepositoryActionTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java Wed Dec 22 01:53:10 2010
@@ -23,6 +23,7 @@ import com.opensymphony.xwork2.Action;
 import org.apache.archiva.audit.AuditEvent;
 import org.apache.archiva.audit.AuditListener;
 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.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
@@ -42,7 +43,6 @@ import org.codehaus.redback.integration.
 import org.easymock.MockControl;
 
 import java.io.File;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
@@ -123,7 +123,7 @@ public class DeleteManagedRepositoryActi
         archivaConfiguration.getConfiguration();
         archivaConfigurationControl.setReturnValue( configuration );
 
-         Configuration stageRepoConfiguration = new Configuration();
+        Configuration stageRepoConfiguration = new Configuration();
         stageRepoConfiguration.addManagedRepository( createSatingRepository() );
         archivaConfigurationControl.setReturnValue( stageRepoConfiguration );
 
@@ -174,6 +174,7 @@ public class DeleteManagedRepositoryActi
     }
 
     private MockControl mockMetadataRepository()
+        throws MetadataRepositoryException
     {
         MockControl metadataRepositoryControl = MockControl.createControl( MetadataRepository.class );
         MetadataRepository metadataRepository = (MetadataRepository) metadataRepositoryControl.getMock();
@@ -273,8 +274,8 @@ public class DeleteManagedRepositoryActi
     }
 
 
-
-    private Configuration prepDeletionTest( ManagedRepositoryConfiguration originalRepository, int expectCountGetConfig )
+    private Configuration prepDeletionTest( ManagedRepositoryConfiguration originalRepository,
+                                            int expectCountGetConfig )
         throws RegistryException, IndeterminateConfigurationException
     {
         location.mkdirs();
@@ -288,7 +289,6 @@ public class DeleteManagedRepositoryActi
         stageRepoConfiguration.addManagedRepository( createSatingRepository() );
         archivaConfigurationControl.setReturnValue( stageRepoConfiguration );
 
-
         archivaConfiguration.save( configuration );
         archivaConfigurationControl.replay();
 
@@ -348,7 +348,7 @@ public class DeleteManagedRepositoryActi
     private ManagedRepositoryConfiguration createSatingRepository()
     {
         ManagedRepositoryConfiguration r = new ManagedRepositoryConfiguration();
-        r.setId( REPO_ID +"-stage" );
+        r.setId( REPO_ID + "-stage" );
         r.setName( "repo name" );
         r.setLocation( location.getAbsolutePath() );
         r.setLayout( "default" );
@@ -362,7 +362,7 @@ public class DeleteManagedRepositoryActi
         return r;
     }
 
-    private RemoteRepositoryConfiguration createRemoteRepository(String id, String url)
+    private RemoteRepositoryConfiguration createRemoteRepository( String id, String url )
     {
         RemoteRepositoryConfiguration r = new RemoteRepositoryConfiguration();
         r.setId( id );

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.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/reports/GenerateReportActionTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java Wed Dec 22 01:53:10 2010
@@ -19,13 +19,6 @@ package org.apache.maven.archiva.web.act
  * under the License.
  */
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
 import com.opensymphony.xwork2.Action;
 import org.apache.archiva.metadata.model.MetadataFacet;
 import org.apache.archiva.metadata.repository.MetadataRepository;
@@ -36,6 +29,13 @@ import org.apache.commons.io.IOUtils;
 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
 import org.easymock.MockControl;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
 /**
  * Test the GenerationReportAction. Note that we are testing for <i>current</i> behaviour, however there are several
  * instances below where other behaviour may actually be more appropriate (eg the error handling, download stats should
@@ -167,10 +167,12 @@ public class GenerateReportActionTest
     }
 
     public void testGenerateStatisticsSingleRepo()
+        throws Exception
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ),
-            Collections.singletonList( createDefaultStats() ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createDefaultStats() ) );
 
         repositoryStatisticsManagerControl.replay();
         prepareAction( Collections.singletonList( INTERNAL ), Collections.singletonList( SNAPSHOTS ) );
@@ -181,9 +183,13 @@ public class GenerateReportActionTest
     }
 
     public void testGenerateStatisticsSingleRepoNoStats()
+        throws Exception
+
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ), Collections.<Object>emptyList() );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.<Object>emptyList() );
         repositoryStatisticsManagerControl.replay();
         prepareAction( Collections.singletonList( INTERNAL ), Collections.singletonList( SNAPSHOTS ) );
 
@@ -195,10 +201,13 @@ public class GenerateReportActionTest
     }
 
     public void testGenerateStatisticsOvershotPages()
+        throws Exception
+
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ),
-            Collections.singletonList( createDefaultStats() ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createDefaultStats() ) );
         repositoryStatisticsManagerControl.replay();
         action.setPage( 2 );
         prepareAction( Collections.singletonList( INTERNAL ), Collections.singletonList( SNAPSHOTS ) );
@@ -210,12 +219,17 @@ public class GenerateReportActionTest
     }
 
     public void testGenerateStatisticsMultipleRepoNoResults()
+        throws Exception
+
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS, null, null ),
-            Collections.<Object>emptyList() );
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ), Collections.<Object>emptyList() );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.<Object>emptyList() );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.<Object>emptyList() );
         repositoryStatisticsManagerControl.replay();
         prepareAction( Arrays.asList( SNAPSHOTS, INTERNAL ), Collections.<String>emptyList() );
 
@@ -229,13 +243,17 @@ public class GenerateReportActionTest
     }
 
     public void testGenerateStatisticsMultipleRepo()
+        throws Exception
+
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS, null, null ),
-            Collections.singletonList( createDefaultStats() ) );
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ),
-            Collections.singletonList( createDefaultStats() ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createDefaultStats() ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createDefaultStats() ) );
 
         repositoryStatisticsManagerControl.replay();
         prepareAction( Arrays.asList( SNAPSHOTS, INTERNAL ), Collections.<String>emptyList() );
@@ -246,12 +264,13 @@ public class GenerateReportActionTest
     }
 
     public void testDownloadStatisticsSingleRepo()
-        throws IOException
+        throws Exception
     {
         Date date = new Date();
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS, null, null ),
-            Collections.singletonList( createStats( date ) ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createStats( date ) ) );
         repositoryStatisticsManagerControl.replay();
 
         prepareAction( Arrays.asList( SNAPSHOTS ), Arrays.asList( INTERNAL ) );
@@ -268,14 +287,16 @@ public class GenerateReportActionTest
     }
 
     public void testDownloadStatisticsMultipleRepos()
-        throws IOException
+        throws Exception
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS, null, null ),
-            Collections.singletonList( createDefaultStats() ) );
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ),
-            Collections.singletonList( createDefaultStats() ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createDefaultStats() ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createDefaultStats() ) );
         repositoryStatisticsManagerControl.replay();
         prepareAction( Arrays.asList( SNAPSHOTS, INTERNAL ), Collections.<String>emptyList() );
 
@@ -343,9 +364,13 @@ public class GenerateReportActionTest
     }
 
     public void testDownloadStatisticsSingleRepoNoStats()
+        throws Exception
+
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ), Collections.<Object>emptyList() );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.<Object>emptyList() );
         repositoryStatisticsManagerControl.replay();
         prepareAction( Collections.singletonList( INTERNAL ), Collections.singletonList( SNAPSHOTS ) );
 
@@ -367,12 +392,17 @@ public class GenerateReportActionTest
     }
 
     public void testDownloadStatisticsMultipleRepoNoResults()
+        throws Exception
+
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS, null, null ),
-            Collections.<Object>emptyList() );
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ), Collections.<Object>emptyList() );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.<Object>emptyList() );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.<Object>emptyList() );
         repositoryStatisticsManagerControl.replay();
         prepareAction( Arrays.asList( SNAPSHOTS, INTERNAL ), Collections.<String>emptyList() );
 
@@ -385,14 +415,16 @@ public class GenerateReportActionTest
     }
 
     public void testDownloadStatisticsMultipleRepoInStrutsFormat()
-        throws IOException
+        throws Exception
     {
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS, null, null ),
-            Collections.singletonList( createDefaultStats() ) );
-        repositoryStatisticsManagerControl.expectAndReturn(
-            repositoryStatisticsManager.getStatisticsInRange( INTERNAL, null, null ),
-            Collections.singletonList( createDefaultStats() ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createDefaultStats() ) );
+        repositoryStatisticsManagerControl.expectAndReturn( repositoryStatisticsManager.getStatisticsInRange( INTERNAL,
+                                                                                                              null,
+                                                                                                              null ),
+                                                            Collections.singletonList( createDefaultStats() ) );
         repositoryStatisticsManagerControl.replay();
         prepareAction( Arrays.asList( SNAPSHOTS, INTERNAL ), Collections.<String>emptyList() );
 
@@ -412,15 +444,17 @@ public class GenerateReportActionTest
         RepositoryProblemFacet problem1 = createProblem( GROUP_ID, "artifactId", INTERNAL );
         RepositoryProblemFacet problem2 = createProblem( GROUP_ID, "artifactId-2", INTERNAL );
 
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacets( INTERNAL, RepositoryProblemFacet.FACET_ID ),
-            Arrays.asList( problem1.getName(), problem2.getName() ) );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacet( INTERNAL, RepositoryProblemFacet.FACET_ID, problem1.getName() ),
-            problem1 );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacet( INTERNAL, RepositoryProblemFacet.FACET_ID, problem2.getName() ),
-            problem2 );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( INTERNAL,
+                                                                                         RepositoryProblemFacet.FACET_ID ),
+                                                   Arrays.asList( problem1.getName(), problem2.getName() ) );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( INTERNAL,
+                                                                                        RepositoryProblemFacet.FACET_ID,
+                                                                                        problem1.getName() ),
+                                                   problem1 );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( INTERNAL,
+                                                                                        RepositoryProblemFacet.FACET_ID,
+                                                                                        problem2.getName() ),
+                                                   problem2 );
         metadataRepositoryControl.replay();
 
         action.setRepositoryId( INTERNAL );
@@ -459,18 +493,20 @@ public class GenerateReportActionTest
     {
         RepositoryProblemFacet problem1 = createProblem( GROUP_ID, "artifactId", INTERNAL );
         RepositoryProblemFacet problem2 = createProblem( GROUP_ID, "artifactId-2", SNAPSHOTS );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacets( INTERNAL, RepositoryProblemFacet.FACET_ID ),
-            Arrays.asList( problem1.getName() ) );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacets( SNAPSHOTS, RepositoryProblemFacet.FACET_ID ),
-            Arrays.asList( problem2.getName() ) );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacet( INTERNAL, RepositoryProblemFacet.FACET_ID, problem1.getName() ),
-            problem1 );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacet( SNAPSHOTS, RepositoryProblemFacet.FACET_ID, problem2.getName() ),
-            problem2 );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( INTERNAL,
+                                                                                         RepositoryProblemFacet.FACET_ID ),
+                                                   Arrays.asList( problem1.getName() ) );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( SNAPSHOTS,
+                                                                                         RepositoryProblemFacet.FACET_ID ),
+                                                   Arrays.asList( problem2.getName() ) );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( INTERNAL,
+                                                                                        RepositoryProblemFacet.FACET_ID,
+                                                                                        problem1.getName() ),
+                                                   problem1 );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( SNAPSHOTS,
+                                                                                        RepositoryProblemFacet.FACET_ID,
+                                                                                        problem2.getName() ),
+                                                   problem2 );
         metadataRepositoryControl.replay();
 
         action.setRepositoryId( GenerateReportAction.ALL_REPOSITORIES );
@@ -480,8 +516,8 @@ public class GenerateReportActionTest
         String result = action.execute();
         assertSuccessResult( result );
 
-        assertEquals( Arrays.asList( INTERNAL, SNAPSHOTS ),
-                      new ArrayList<String>( action.getRepositoriesMap().keySet() ) );
+        assertEquals( Arrays.asList( INTERNAL, SNAPSHOTS ), new ArrayList<String>(
+            action.getRepositoriesMap().keySet() ) );
         assertEquals( Arrays.asList( problem1 ), action.getRepositoriesMap().get( INTERNAL ) );
         assertEquals( Arrays.asList( problem2 ), action.getRepositoriesMap().get( SNAPSHOTS ) );
 
@@ -493,15 +529,17 @@ public class GenerateReportActionTest
     {
         RepositoryProblemFacet problem1 = createProblem( GROUP_ID, "artifactId", INTERNAL );
         RepositoryProblemFacet problem2 = createProblem( GROUP_ID, "artifactId-2", INTERNAL );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacets( INTERNAL, RepositoryProblemFacet.FACET_ID ),
-            Arrays.asList( problem1.getName(), problem2.getName() ) );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacet( INTERNAL, RepositoryProblemFacet.FACET_ID, problem1.getName() ),
-            problem1 );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacet( INTERNAL, RepositoryProblemFacet.FACET_ID, problem2.getName() ),
-            problem2 );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( INTERNAL,
+                                                                                         RepositoryProblemFacet.FACET_ID ),
+                                                   Arrays.asList( problem1.getName(), problem2.getName() ) );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( INTERNAL,
+                                                                                        RepositoryProblemFacet.FACET_ID,
+                                                                                        problem1.getName() ),
+                                                   problem1 );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( INTERNAL,
+                                                                                        RepositoryProblemFacet.FACET_ID,
+                                                                                        problem2.getName() ),
+                                                   problem2 );
         metadataRepositoryControl.replay();
 
         action.setGroupId( GROUP_ID );
@@ -523,18 +561,20 @@ public class GenerateReportActionTest
     {
         RepositoryProblemFacet problem1 = createProblem( GROUP_ID, "artifactId", INTERNAL );
         RepositoryProblemFacet problem2 = createProblem( GROUP_ID, "artifactId-2", SNAPSHOTS );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacets( INTERNAL, RepositoryProblemFacet.FACET_ID ),
-            Arrays.asList( problem1.getName() ) );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacets( SNAPSHOTS, RepositoryProblemFacet.FACET_ID ),
-            Arrays.asList( problem2.getName() ) );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacet( INTERNAL, RepositoryProblemFacet.FACET_ID, problem1.getName() ),
-            problem1 );
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacet( SNAPSHOTS, RepositoryProblemFacet.FACET_ID, problem2.getName() ),
-            problem2 );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( INTERNAL,
+                                                                                         RepositoryProblemFacet.FACET_ID ),
+                                                   Arrays.asList( problem1.getName() ) );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( SNAPSHOTS,
+                                                                                         RepositoryProblemFacet.FACET_ID ),
+                                                   Arrays.asList( problem2.getName() ) );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( INTERNAL,
+                                                                                        RepositoryProblemFacet.FACET_ID,
+                                                                                        problem1.getName() ),
+                                                   problem1 );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( SNAPSHOTS,
+                                                                                        RepositoryProblemFacet.FACET_ID,
+                                                                                        problem2.getName() ),
+                                                   problem2 );
         metadataRepositoryControl.replay();
 
         action.setGroupId( GROUP_ID );
@@ -545,8 +585,8 @@ public class GenerateReportActionTest
         String result = action.execute();
         assertSuccessResult( result );
 
-        assertEquals( Arrays.asList( INTERNAL, SNAPSHOTS ),
-                      new ArrayList<String>( action.getRepositoriesMap().keySet() ) );
+        assertEquals( Arrays.asList( INTERNAL, SNAPSHOTS ), new ArrayList<String>(
+            action.getRepositoriesMap().keySet() ) );
         assertEquals( Arrays.asList( problem1 ), action.getRepositoriesMap().get( INTERNAL ) );
         assertEquals( Arrays.asList( problem2 ), action.getRepositoriesMap().get( SNAPSHOTS ) );
 
@@ -556,9 +596,9 @@ public class GenerateReportActionTest
     public void testHealthReportSingleRepoByIncorrectGroupId()
         throws Exception
     {
-        metadataRepositoryControl.expectAndReturn(
-            metadataRepository.getMetadataFacets( INTERNAL, RepositoryProblemFacet.FACET_ID ),
-            Collections.<MetadataFacet>emptyList() );
+        metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( INTERNAL,
+                                                                                         RepositoryProblemFacet.FACET_ID ),
+                                                   Collections.<MetadataFacet>emptyList() );
         metadataRepositoryControl.replay();
 
         action.setGroupId( "not.it" );
@@ -579,8 +619,8 @@ public class GenerateReportActionTest
     {
         assertEquals(
             "Repository,Total File Count,Total Size,Artifact Count,Group Count,Project Count,Plugins,Archetypes,Jars,Wars\n" +
-                "snapshots,0,0,0,0,0,0,0,0,0\n" + "internal,0,0,0,0,0,0,0,0,0\n",
-            IOUtils.toString( action.getInputStream() ) );
+                "snapshots,0,0,0,0,0,0,0,0,0\n" + "internal,0,0,0,0,0,0,0,0,0\n", IOUtils.toString(
+            action.getInputStream() ) );
     }
 
     private RepositoryProblemFacet createProblem( String groupId, String artifactId, String repoId )

Modified: archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java Wed Dec 22 01:53:10 2010
@@ -19,9 +19,6 @@ package org.apache.archiva.metadata.repo
  * under the License.
  */
 
-import java.util.ArrayList;
-import java.util.Collection;
-
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.Dependency;
 import org.apache.archiva.metadata.model.ProjectMetadata;
@@ -32,6 +29,9 @@ import org.apache.archiva.metadata.repos
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
+import java.util.Collection;
+
 /**
  * @plexus.component role="org.apache.archiva.metadata.repository.MetadataResolver"
  */
@@ -55,6 +55,7 @@ public class DefaultMetadataResolver
     private static final Logger log = LoggerFactory.getLogger( DefaultMetadataResolver.class );
 
     public ProjectMetadata getProject( String repoId, String namespace, String projectId )
+        throws MetadataResolutionException
     {
         // TODO: intercept
         return metadataRepository.getProject( repoId, namespace, projectId );
@@ -64,8 +65,8 @@ public class DefaultMetadataResolver
                                                      String projectVersion )
         throws MetadataResolutionException
     {
-        ProjectVersionMetadata metadata =
-            metadataRepository.getProjectVersion( repoId, namespace, projectId, projectVersion );
+        ProjectVersionMetadata metadata = metadataRepository.getProjectVersion( repoId, namespace, projectId,
+                                                                                projectVersion );
         // TODO: do we want to detect changes as well by comparing timestamps? isProjectVersionNewerThan(updated)
         //       in such cases we might also remove/update stale metadata, including adjusting plugin-based facets
         //       This would also be better than checking for completeness - we can then refresh only when fixed (though
@@ -91,12 +92,26 @@ public class DefaultMetadataResolver
                     ref.setReferenceType( ProjectVersionReference.ReferenceType.DEPENDENCY );
                     for ( Dependency dependency : metadata.getDependencies() )
                     {
-                        metadataRepository.updateProjectReference( repoId, dependency.getGroupId(),
-                                                                   dependency.getArtifactId(), dependency.getVersion(),
-                                                                   ref );
+                        try
+                        {
+                            metadataRepository.updateProjectReference( repoId, dependency.getGroupId(),
+                                                                       dependency.getArtifactId(),
+                                                                       dependency.getVersion(), ref );
+                        }
+                        catch ( MetadataRepositoryException e )
+                        {
+                            log.warn( "Unable to persist resolved information: " + e.getMessage(), e );
+                        }
                     }
                 }
-                metadataRepository.updateProjectVersion( repoId, namespace, projectId, metadata );
+                try
+                {
+                    metadataRepository.updateProjectVersion( repoId, namespace, projectId, metadata );
+                }
+                catch ( MetadataRepositoryException e )
+                {
+                    log.warn( "Unable to persist resolved information: " + e.getMessage(), e );
+                }
             }
         }
         return metadata;
@@ -104,6 +119,7 @@ public class DefaultMetadataResolver
 
     public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
                                                    String projectVersion )
+        throws MetadataResolutionException
     {
         // TODO: intercept
         return metadataRepository.getArtifactVersions( repoId, namespace, projectId, projectVersion );
@@ -111,6 +127,7 @@ public class DefaultMetadataResolver
 
     public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
                                                                      String projectVersion )
+        throws MetadataResolutionException
     {
         // TODO: is this assumption correct? could a storage mech. actually know all references in a non-Maven scenario?
         // not passed to the storage mechanism as resolving references would require iterating all artifacts
@@ -118,10 +135,11 @@ public class DefaultMetadataResolver
     }
 
     public Collection<String> getRootNamespaces( String repoId )
+        throws MetadataResolutionException
     {
         Collection<String> namespaces = metadataRepository.getRootNamespaces( repoId );
-        Collection<String> storageNamespaces =
-            storageResolver.getRootNamespaces( repoId, new ExcludesFilter<String>( namespaces ) );
+        Collection<String> storageNamespaces = storageResolver.getRootNamespaces( repoId, new ExcludesFilter<String>(
+            namespaces ) );
         if ( storageNamespaces != null && !storageNamespaces.isEmpty() )
         {
             if ( log.isDebugEnabled() )
@@ -130,7 +148,14 @@ public class DefaultMetadataResolver
             }
             for ( String n : storageNamespaces )
             {
-                metadataRepository.updateNamespace( repoId, n );
+                try
+                {
+                    metadataRepository.updateNamespace( repoId, n );
+                }
+                catch ( MetadataRepositoryException e )
+                {
+                    log.warn( "Unable to persist resolved information: " + e.getMessage(), e );
+                }
             }
             namespaces = new ArrayList<String>( namespaces );
             namespaces.addAll( storageNamespaces );
@@ -139,12 +164,14 @@ public class DefaultMetadataResolver
     }
 
     public Collection<String> getNamespaces( String repoId, String namespace )
+        throws MetadataResolutionException
     {
         Collection<String> namespaces = metadataRepository.getNamespaces( repoId, namespace );
         Collection<String> exclusions = new ArrayList<String>( namespaces );
         exclusions.addAll( metadataRepository.getProjects( repoId, namespace ) );
-        Collection<String> storageNamespaces =
-            storageResolver.getNamespaces( repoId, namespace, new ExcludesFilter<String>( exclusions ) );
+        Collection<String> storageNamespaces = storageResolver.getNamespaces( repoId, namespace,
+                                                                              new ExcludesFilter<String>(
+                                                                                  exclusions ) );
         if ( storageNamespaces != null && !storageNamespaces.isEmpty() )
         {
             if ( log.isDebugEnabled() )
@@ -153,7 +180,14 @@ public class DefaultMetadataResolver
             }
             for ( String n : storageNamespaces )
             {
-                metadataRepository.updateNamespace( repoId, namespace + "." + n );
+                try
+                {
+                    metadataRepository.updateNamespace( repoId, namespace + "." + n );
+                }
+                catch ( MetadataRepositoryException e )
+                {
+                    log.warn( "Unable to persist resolved information: " + e.getMessage(), e );
+                }
             }
             namespaces = new ArrayList<String>( namespaces );
             namespaces.addAll( storageNamespaces );
@@ -162,12 +196,13 @@ public class DefaultMetadataResolver
     }
 
     public Collection<String> getProjects( String repoId, String namespace )
+        throws MetadataResolutionException
     {
         Collection<String> projects = metadataRepository.getProjects( repoId, namespace );
         Collection<String> exclusions = new ArrayList<String>( projects );
         exclusions.addAll( metadataRepository.getNamespaces( repoId, namespace ) );
-        Collection<String> storageProjects =
-            storageResolver.getProjects( repoId, namespace, new ExcludesFilter<String>( exclusions ) );
+        Collection<String> storageProjects = storageResolver.getProjects( repoId, namespace, new ExcludesFilter<String>(
+            exclusions ) );
         if ( storageProjects != null && !storageProjects.isEmpty() )
         {
             if ( log.isDebugEnabled() )
@@ -179,7 +214,14 @@ public class DefaultMetadataResolver
                 ProjectMetadata projectMetadata = storageResolver.getProject( repoId, namespace, projectId );
                 if ( projectMetadata != null )
                 {
-                    metadataRepository.updateProject( repoId, projectMetadata );
+                    try
+                    {
+                        metadataRepository.updateProject( repoId, projectMetadata );
+                    }
+                    catch ( MetadataRepositoryException e )
+                    {
+                        log.warn( "Unable to persist resolved information: " + e.getMessage(), e );
+                    }
                 }
             }
             projects = new ArrayList<String>( projects );
@@ -189,6 +231,7 @@ public class DefaultMetadataResolver
     }
 
     public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
+        throws MetadataResolutionException
     {
         Collection<String> projectVersions = metadataRepository.getProjectVersions( repoId, namespace, projectId );
         Collection<String> storageProjectVersions = storageResolver.getProjectVersions( repoId, namespace, projectId,
@@ -204,8 +247,9 @@ public class DefaultMetadataResolver
             {
                 try
                 {
-                    ProjectVersionMetadata versionMetadata =
-                        storageResolver.getProjectVersion( repoId, namespace, projectId, projectVersion );
+                    ProjectVersionMetadata versionMetadata = storageResolver.getProjectVersion( repoId, namespace,
+                                                                                                projectId,
+                                                                                                projectVersion );
                     if ( versionMetadata != null )
                     {
                         metadataRepository.updateProjectVersion( repoId, namespace, projectId, versionMetadata );
@@ -214,7 +258,11 @@ public class DefaultMetadataResolver
                 catch ( MetadataResolutionException e )
                 {
                     log.warn( "Not update project in metadata repository due to an error resolving it from storage: " +
-                        e.getMessage() );
+                                  e.getMessage() );
+                }
+                catch ( MetadataRepositoryException e )
+                {
+                    log.warn( "Unable to persist resolved information: " + e.getMessage(), e );
                 }
             }
             projectVersions = new ArrayList<String>( projectVersions );
@@ -225,12 +273,15 @@ public class DefaultMetadataResolver
 
     public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
                                                       String projectVersion )
+        throws MetadataResolutionException
     {
-        Collection<ArtifactMetadata> artifacts =
-            metadataRepository.getArtifacts( repoId, namespace, projectId, projectVersion );
-        Collection<ArtifactMetadata> storageArtifacts =
-            storageResolver.getArtifacts( repoId, namespace, projectId, projectVersion,
-                                          new ExcludesFilter<String>( createArtifactIdList( artifacts ) ) );
+        Collection<ArtifactMetadata> artifacts = metadataRepository.getArtifacts( repoId, namespace, projectId,
+                                                                                  projectVersion );
+        Collection<ArtifactMetadata> storageArtifacts = storageResolver.getArtifacts( repoId, namespace, projectId,
+                                                                                      projectVersion,
+                                                                                      new ExcludesFilter<String>(
+                                                                                          createArtifactIdList(
+                                                                                              artifacts ) ) );
         if ( storageArtifacts != null && !storageArtifacts.isEmpty() )
         {
             if ( log.isDebugEnabled() )
@@ -239,7 +290,14 @@ public class DefaultMetadataResolver
             }
             for ( ArtifactMetadata artifact : storageArtifacts )
             {
-                metadataRepository.updateArtifact( repoId, namespace, projectId, projectVersion, artifact );
+                try
+                {
+                    metadataRepository.updateArtifact( repoId, namespace, projectId, projectVersion, artifact );
+                }
+                catch ( MetadataRepositoryException e )
+                {
+                    log.warn( "Unable to persist resolved information: " + e.getMessage(), e );
+                }
             }
             artifacts = new ArrayList<ArtifactMetadata>( artifacts );
             artifacts.addAll( storageArtifacts );

Modified: archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java Wed Dec 22 01:53:10 2010
@@ -35,46 +35,63 @@ public interface MetadataRepository
     /**
      * Update metadata for a particular project in the metadata repository, or create it if it does not already exist.
      *
-     * @param repositoryId  the repository the project is in
-     * @param project the project metadata to create or update
+     * @param repositoryId the repository the project is in
+     * @param project      the project metadata to create or update
      */
-    void updateProject( String repositoryId, ProjectMetadata project );
+    void updateProject( String repositoryId, ProjectMetadata project )
+        throws MetadataRepositoryException;
 
     void updateArtifact( String repositoryId, String namespace, String projectId, String projectVersion,
-                         ArtifactMetadata artifactMeta );
+                         ArtifactMetadata artifactMeta )
+        throws MetadataRepositoryException;
 
     void updateProjectVersion( String repositoryId, String namespace, String projectId,
-                               ProjectVersionMetadata versionMetadata );
+                               ProjectVersionMetadata versionMetadata )
+        throws MetadataRepositoryException;
 
     void updateProjectReference( String repositoryId, String namespace, String projectId, String projectVersion,
-                                 ProjectVersionReference reference );
+                                 ProjectVersionReference reference )
+        throws MetadataRepositoryException;
 
-    void updateNamespace( String repositoryId, String namespace );
+    void updateNamespace( String repositoryId, String namespace )
+        throws MetadataRepositoryException;
 
-    List<String> getMetadataFacets( String repositoryId, String facetId );
+    List<String> getMetadataFacets( String repositoryId, String facetId )
+        throws MetadataRepositoryException;
 
-    MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name );
+    MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
+        throws MetadataRepositoryException;
 
-    void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet );
+    void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
+        throws MetadataRepositoryException;
 
-    void removeMetadataFacets( String repositoryId, String facetId );
+    void removeMetadataFacets( String repositoryId, String facetId )
+        throws MetadataRepositoryException;
 
-    void removeMetadataFacet( String repositoryId, String facetId, String name );
+    void removeMetadataFacet( String repositoryId, String facetId, String name )
+        throws MetadataRepositoryException;
 
-    List<ArtifactMetadata> getArtifactsByDateRange( String repositoryId, Date startTime, Date endTime );
+    List<ArtifactMetadata> getArtifactsByDateRange( String repositoryId, Date startTime, Date endTime )
+        throws MetadataRepositoryException;
 
     // TODO: remove from API, just use configuration
-    Collection<String> getRepositories();
+    Collection<String> getRepositories()
+        throws MetadataRepositoryException;
 
-    List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum );
+    List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
+        throws MetadataRepositoryException;
 
-    void deleteArtifact( String repositoryId, String namespace, String project, String version, String id );
+    void deleteArtifact( String repositoryId, String namespace, String project, String version, String id )
+        throws MetadataRepositoryException;
 
     /**
      * Delete a repository's metadata. This includes all associated metadata facets.
+     *
      * @param repositoryId the repository to delete
      */
-    void deleteRepository( String repositoryId );
+    void deleteRepository( String repositoryId )
+        throws MetadataRepositoryException;
 
-    List<ArtifactMetadata> getArtifacts(String repositoryId);
+    List<ArtifactMetadata> getArtifacts( String repositoryId )
+        throws MetadataRepositoryException;
 }

Copied: archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepositoryException.java (from r1050283, archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java)
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepositoryException.java?p2=archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepositoryException.java&p1=archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java&r1=1050283&r2=1051732&rev=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepositoryException.java Wed Dec 22 01:53:10 2010
@@ -9,7 +9,7 @@ package org.apache.archiva.metadata.repo
  * "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
+ * 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
@@ -19,11 +19,16 @@ package org.apache.archiva.metadata.repo
  * under the License.
  */
 
-public class MetadataResolutionException
+public class MetadataRepositoryException
     extends Exception
 {
-    public MetadataResolutionException( String message )
+    public MetadataRepositoryException( String message )
     {
         super( message );
     }
+
+    public MetadataRepositoryException( String s, Throwable throwable )
+    {
+        super( s, throwable );
+    }
 }

Modified: archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolutionException.java Wed Dec 22 01:53:10 2010
@@ -26,4 +26,9 @@ public class MetadataResolutionException
     {
         super( message );
     }
+
+    public MetadataResolutionException( String message, Throwable throwable )
+    {
+        super( message, throwable );
+    }
 }

Modified: archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java Wed Dec 22 01:53:10 2010
@@ -19,22 +19,23 @@ package org.apache.archiva.metadata.repo
  * under the License.
  */
 
-import java.util.Collection;
-
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.ProjectMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionReference;
 
+import java.util.Collection;
+
 public interface MetadataResolver
 {
-    ProjectMetadata getProject( String repoId, String namespace, String projectId );
+    ProjectMetadata getProject( String repoId, String namespace, String projectId )
+        throws MetadataResolutionException;
 
-    ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                              String projectVersion )
+    ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
         throws MetadataResolutionException;
 
-    Collection<String> getArtifactVersions( String repoId, String namespace, String projectId, String projectVersion );
+    Collection<String> getArtifactVersions( String repoId, String namespace, String projectId, String projectVersion )
+        throws MetadataResolutionException;
 
     /**
      * Retrieve project references from the metadata repository. Note that this is not built into the content model for
@@ -48,16 +49,22 @@ public interface MetadataResolver
      * @return a list of project references
      */
     Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
-                                                              String projectVersion );
+                                                              String projectVersion )
+        throws MetadataResolutionException;
 
-    Collection<String> getRootNamespaces( String repoId );
+    Collection<String> getRootNamespaces( String repoId )
+        throws MetadataResolutionException;
 
-    Collection<String> getNamespaces( String repoId, String namespace );
+    Collection<String> getNamespaces( String repoId, String namespace )
+        throws MetadataResolutionException;
 
-    Collection<String> getProjects( String repoId, String namespace );
+    Collection<String> getProjects( String repoId, String namespace )
+        throws MetadataResolutionException;
 
-    Collection<String> getProjectVersions( String repoId, String namespace, String projectId );
+    Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
+        throws MetadataResolutionException;
 
     Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                               String projectVersion );
+                                               String projectVersion )
+        throws MetadataResolutionException;
 }

Modified: archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java Wed Dec 22 01:53:10 2010
@@ -106,12 +106,14 @@ public abstract class AbstractMetadataRe
     }
 
     public void testRootNamespaceWithNoMetadataRepository()
+        throws Exception
     {
         Collection<String> namespaces = repository.getRootNamespaces( TEST_REPO_ID );
         assertEquals( Collections.<String>emptyList(), namespaces );
     }
 
     public void testGetNamespaceOnly()
+        throws Exception
     {
         assertEquals( Collections.emptyList(), repository.getRootNamespaces( TEST_REPO_ID ) );
 
@@ -121,6 +123,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetProjectOnly()
+        throws Exception
     {
         assertNull( repository.getProject( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT ) );
         assertEquals( Collections.emptyList(), repository.getRootNamespaces( TEST_REPO_ID ) );
@@ -140,7 +143,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetProjectVersionOnly()
-        throws MetadataResolutionException
+        throws Exception
     {
         assertNull( repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ) );
         assertNull( repository.getProject( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT ) );
@@ -162,7 +165,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactOnly()
-        throws MetadataResolutionException
+        throws Exception
     {
         assertEquals( Collections.<ArtifactMetadata>emptyList(), new ArrayList<ArtifactMetadata>(
             repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ) ) );
@@ -192,7 +195,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateProjectVersionMetadataWithNoOtherArchives()
-        throws MetadataResolutionException
+        throws Exception
     {
         ProjectVersionMetadata metadata = new ProjectVersionMetadata();
         metadata.setId( TEST_PROJECT_VERSION );
@@ -211,7 +214,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateProjectVersionMetadataWithAllElements()
-        throws MetadataResolutionException
+        throws Exception
     {
         ProjectVersionMetadata metadata = new ProjectVersionMetadata();
         metadata.setId( TEST_PROJECT_VERSION );
@@ -303,6 +306,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateProjectReference()
+        throws Exception
     {
         ProjectVersionReference reference = new ProjectVersionReference();
         reference.setNamespace( "another.namespace" );
@@ -325,6 +329,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetRepositories()
+        throws Exception
     {
         // currently set up this way so the behaviour of both the test and the mock config return the same repository
         // set as the File implementation just uses the config rather than the content
@@ -336,7 +341,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateProjectVersionMetadataIncomplete()
-        throws MetadataResolutionException
+        throws Exception
     {
         ProjectVersionMetadata metadata = new ProjectVersionMetadata();
         metadata.setId( TEST_PROJECT_VERSION );
@@ -359,7 +364,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateProjectVersionMetadataWithExistingFacets()
-        throws MetadataResolutionException
+        throws Exception
     {
         ProjectVersionMetadata metadata = new ProjectVersionMetadata();
         metadata.setId( TEST_PROJECT_VERSION );
@@ -381,7 +386,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateProjectVersionMetadataWithNoExistingFacets()
-        throws MetadataResolutionException
+        throws Exception
     {
         ProjectVersionMetadata metadata = new ProjectVersionMetadata();
         metadata.setId( TEST_PROJECT_VERSION );
@@ -399,7 +404,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateProjectVersionMetadataWithExistingFacetsFacetPropertyWasRemoved()
-        throws MetadataResolutionException
+        throws Exception
     {
         ProjectVersionMetadata metadata = new ProjectVersionMetadata();
         metadata.setId( TEST_PROJECT_VERSION );
@@ -433,7 +438,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateArtifactMetadataWithExistingFacetsFacetPropertyWasRemoved()
-        throws MetadataResolutionException
+        throws Exception
     {
         ArtifactMetadata metadata = createArtifact();
 
@@ -468,6 +473,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateArtifactMetadataWithExistingFacets()
+        throws Exception
     {
         ArtifactMetadata metadata = createArtifact();
         MetadataFacet facet = new TestMetadataFacet( "baz" );
@@ -489,6 +495,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testUpdateArtifactMetadataWithNoExistingFacets()
+        throws Exception
     {
         ArtifactMetadata metadata = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, metadata );
@@ -506,6 +513,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetMetadataFacet()
+        throws Exception
     {
         repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet( TEST_VALUE ) );
 
@@ -514,11 +522,15 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetMetadataFacetWhenEmpty()
+        throws Exception
+
     {
         assertNull( repository.getMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, TEST_NAME ) );
     }
 
     public void testGetMetadataFacetWhenUnknownName()
+        throws Exception
+
     {
         repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet( TEST_VALUE ) );
 
@@ -526,6 +538,8 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetMetadataFacetWhenDefaultValue()
+        throws Exception
+
     {
         repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet( null ) );
 
@@ -535,11 +549,15 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetMetadataFacetWhenUnknownFacetId()
+        throws Exception
+
     {
         assertNull( repository.getMetadataFacet( TEST_REPO_ID, UNKNOWN, TEST_NAME ) );
     }
 
     public void testGetMetadataFacets()
+        throws Exception
+
     {
         repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet( TEST_VALUE ) );
 
@@ -548,12 +566,16 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetMetadataFacetsWhenEmpty()
+        throws Exception
+
     {
         List<String> facets = repository.getMetadataFacets( TEST_REPO_ID, TEST_FACET_ID );
         assertTrue( facets.isEmpty() );
     }
 
     public void testRemoveFacets()
+        throws Exception
+
     {
         repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet( TEST_VALUE ) );
 
@@ -567,6 +589,8 @@ public abstract class AbstractMetadataRe
     }
 
     public void testRemoveFacetsWhenEmpty()
+        throws Exception
+
     {
         List<String> facets = repository.getMetadataFacets( TEST_REPO_ID, TEST_FACET_ID );
         assertTrue( facets.isEmpty() );
@@ -578,18 +602,24 @@ public abstract class AbstractMetadataRe
     }
 
     public void testRemoveFacetsWhenUnknown()
+        throws Exception
+
     {
         // testing no exception
         repository.removeMetadataFacets( TEST_REPO_ID, UNKNOWN );
     }
 
     public void testRemoveFacetWhenUnknown()
+        throws Exception
+
     {
         // testing no exception
         repository.removeMetadataFacet( TEST_REPO_ID, UNKNOWN, TEST_NAME );
     }
 
     public void testRemoveFacet()
+        throws Exception
+
     {
         TestMetadataFacet metadataFacet = new TestMetadataFacet( TEST_VALUE );
         repository.addMetadataFacet( TEST_REPO_ID, metadataFacet );
@@ -606,6 +636,8 @@ public abstract class AbstractMetadataRe
     }
 
     public void testRemoveFacetWhenEmpty()
+        throws Exception
+
     {
         List<String> facets = repository.getMetadataFacets( TEST_REPO_ID, TEST_FACET_ID );
         assertTrue( facets.isEmpty() );
@@ -619,6 +651,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifacts()
+        throws Exception
     {
         ArtifactMetadata artifact1 = createArtifact();
         ArtifactMetadata artifact2 = createArtifact( "pom" );
@@ -639,6 +672,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactVersions()
+        throws Exception
     {
         ArtifactMetadata artifact1 = createArtifact();
         String version1 = "1.0-20091212.012345-1";
@@ -659,6 +693,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactVersionsMultipleArtifactsSingleVersion()
+        throws Exception
     {
         ArtifactMetadata artifact1 = createArtifact();
         artifact1.setId( TEST_PROJECT + "-" + TEST_PROJECT_VERSION + ".jar" );
@@ -674,6 +709,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByDateRangeOpen()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -683,6 +719,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByDateRangeSparseNamespace()
+        throws Exception
     {
         String namespace = "org.apache.archiva";
         ArtifactMetadata artifact = createArtifact();
@@ -694,6 +731,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByDateRangeLowerBound()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -704,6 +742,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByDateRangeLowerBoundOutOfRange()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -713,6 +752,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByDateRangeLowerAndUpperBound()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -724,6 +764,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByDateRangeUpperBound()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -734,6 +775,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByDateRangeUpperBoundOutOfRange()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -743,6 +785,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByRepoId()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -750,6 +793,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetNamespacesWithSparseDepth()
+        throws Exception
     {
         repository.updateNamespace( TEST_REPO_ID, "org.apache.maven.shared" );
 
@@ -760,6 +804,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByChecksumSingleResultMd5()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -769,6 +814,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByChecksumSingleResultSha1()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -778,6 +824,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByChecksumDeepNamespace()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         String namespace = "multi.level.ns";
@@ -789,6 +836,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByChecksumMultipleResult()
+        throws Exception
     {
         ArtifactMetadata artifact1 = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact1 );
@@ -805,6 +853,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testGetArtifactsByChecksumNoResult()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
@@ -814,6 +863,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testDeleteArtifact()
+        throws Exception
     {
         ArtifactMetadata artifact = createArtifact();
         artifact.addFacet( new TestMetadataFacet( "value" ) );
@@ -830,6 +880,7 @@ public abstract class AbstractMetadataRe
     }
 
     public void testDeleteRepository()
+        throws Exception
     {
         repository.updateNamespace( TEST_REPO_ID, TEST_NAMESPACE );
 

Modified: archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/AuditManager.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/AuditManager.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/AuditManager.java (original)
+++ archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/AuditManager.java Wed Dec 22 01:53:10 2010
@@ -19,17 +19,22 @@ package org.apache.archiva.audit;
  * under the License.
  */
 
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
+
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
 
 public interface AuditManager
 {
-    List<AuditEvent> getMostRecentAuditEvents( List<String> repositoryIds );
+    List<AuditEvent> getMostRecentAuditEvents( List<String> repositoryIds )
+        throws MetadataRepositoryException;
 
-    void addAuditEvent( AuditEvent event );
+    void addAuditEvent( AuditEvent event )
+        throws MetadataRepositoryException;
 
-    void deleteAuditEvents( String repositoryId );
+    void deleteAuditEvents( String repositoryId )
+        throws MetadataRepositoryException;
 
     /**
      * Get all audit events from the given repositories that match a certain range
@@ -39,7 +44,8 @@ public interface AuditManager
      * @param endTime       find events only before this time
      * @return the list of events found
      */
-    List<AuditEvent> getAuditEventsInRange( Collection<String> repositoryIds, Date startTime, Date endTime );
+    List<AuditEvent> getAuditEventsInRange( Collection<String> repositoryIds, Date startTime, Date endTime )
+        throws MetadataRepositoryException;
 
     /**
      * Get all audit events from the given repositories that match a certain range and resource pattern
@@ -51,5 +57,6 @@ public interface AuditManager
      * @return the list of events found
      */
     List<AuditEvent> getAuditEventsInRange( Collection<String> repositoryIds, String resourcePattern, Date startTime,
-                                            Date endTime );
+                                            Date endTime )
+        throws MetadataRepositoryException;
 }