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 [3/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/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java (original)
+++ archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java Wed Dec 22 01:53:10 2010
@@ -20,6 +20,7 @@ package org.apache.archiva.audit;
*/
import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,6 +52,7 @@ public class DefaultAuditManager
private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" );
public List<AuditEvent> getMostRecentAuditEvents( List<String> repositoryIds )
+ throws MetadataRepositoryException
{
// TODO: consider a more efficient implementation that directly gets the last ten from the content repository
List<AuditRecord> records = new ArrayList<AuditRecord>();
@@ -68,15 +70,16 @@ public class DefaultAuditManager
List<AuditEvent> events = new ArrayList<AuditEvent>( records.size() );
for ( AuditRecord record : records )
{
- AuditEvent auditEvent =
- (AuditEvent) metadataRepository.getMetadataFacet( record.repositoryId, AuditEvent.FACET_ID,
- record.name );
+ AuditEvent auditEvent = (AuditEvent) metadataRepository.getMetadataFacet( record.repositoryId,
+ AuditEvent.FACET_ID,
+ record.name );
events.add( auditEvent );
}
return events;
}
public void addAuditEvent( AuditEvent event )
+ throws MetadataRepositoryException
{
// ignore those with no repository - they will still be logged to the textual audit log
if ( event.getRepositoryId() != null )
@@ -86,17 +89,20 @@ public class DefaultAuditManager
}
public void deleteAuditEvents( String repositoryId )
+ throws MetadataRepositoryException
{
metadataRepository.removeMetadataFacets( repositoryId, AuditEvent.FACET_ID );
}
public List<AuditEvent> getAuditEventsInRange( Collection<String> repositoryIds, Date startTime, Date endTime )
+ throws MetadataRepositoryException
{
return getAuditEventsInRange( repositoryIds, null, startTime, endTime );
}
public List<AuditEvent> getAuditEventsInRange( Collection<String> repositoryIds, String resource, Date startTime,
Date endTime )
+ throws MetadataRepositoryException
{
List<AuditEvent> results = new ArrayList<AuditEvent>();
for ( String repositoryId : repositoryIds )
@@ -107,11 +113,12 @@ public class DefaultAuditManager
try
{
Date date = createNameFormat().parse( name );
- if ( ( startTime == null || !date.before( startTime ) ) &&
- ( endTime == null || !date.after( endTime ) ) )
+ if ( ( startTime == null || !date.before( startTime ) ) && ( endTime == null || !date.after(
+ endTime ) ) )
{
- AuditEvent event =
- (AuditEvent) metadataRepository.getMetadataFacet( repositoryId, AuditEvent.FACET_ID, name );
+ AuditEvent event = (AuditEvent) metadataRepository.getMetadataFacet( repositoryId,
+ AuditEvent.FACET_ID,
+ name );
if ( resource == null || event.getResource().startsWith( resource ) )
{
Modified: archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/MetadataAuditListener.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/MetadataAuditListener.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/MetadataAuditListener.java (original)
+++ archiva/trunk/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/MetadataAuditListener.java Wed Dec 22 01:53:10 2010
@@ -19,12 +19,18 @@ package org.apache.archiva.audit;
* under the License.
*/
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* @plexus.component role="org.apache.archiva.audit.AuditListener" role-hint="metadata"
*/
public class MetadataAuditListener
implements AuditListener
{
+ private static final Logger log = LoggerFactory.getLogger( MetadataAuditListener.class );
+
/**
* @plexus.requirement
*/
@@ -36,7 +42,14 @@ public class MetadataAuditListener
if ( event.getAction().equals( AuditEvent.CREATE_FILE ) || event.getAction().equals( AuditEvent.UPLOAD_FILE ) ||
event.getAction().equals( AuditEvent.MERGING_REPOSITORIES ) )
{
- auditManager.addAuditEvent( event );
+ try
+ {
+ auditManager.addAuditEvent( event );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to write audit event to repository: " + e.getMessage(), e );
+ }
}
}
}
Modified: archiva/trunk/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java (original)
+++ archiva/trunk/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java Wed Dec 22 01:53:10 2010
@@ -86,7 +86,7 @@ public class AuditManagerTest
}
public void testGetMostRecentEvents()
- throws ParseException
+ throws Exception
{
int numEvents = 11;
List<AuditEvent> expectedEvents = new ArrayList<AuditEvent>( numEvents );
@@ -96,14 +96,15 @@ public class AuditManagerTest
expectedEvents.add( event );
}
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- getEventNames( expectedEvents ) );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ getEventNames( expectedEvents ) );
for ( AuditEvent event : expectedEvents.subList( 1, expectedEvents.size() ) )
{
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, event.getName() ), event );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ event.getName() ), event );
}
metadataRepositoryControl.replay();
@@ -122,7 +123,7 @@ public class AuditManagerTest
}
public void testGetMostRecentEventsLessThan10()
- throws ParseException
+ throws Exception
{
int numEvents = 5;
List<AuditEvent> expectedEvents = new ArrayList<AuditEvent>( numEvents );
@@ -131,14 +132,15 @@ public class AuditManagerTest
expectedEvents.add( createEvent( AUDIT_EVENT_BASE + MILLIS_FORMAT.format( i ) ) );
}
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- getEventNames( expectedEvents ) );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ getEventNames( expectedEvents ) );
for ( AuditEvent event : expectedEvents )
{
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, event.getName() ), event );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ event.getName() ), event );
}
metadataRepositoryControl.replay();
@@ -157,7 +159,7 @@ public class AuditManagerTest
}
public void testGetMostRecentEventsInterleavedRepositories()
- throws ParseException
+ throws Exception
{
int numEvents = 11;
Map<String, List<String>> eventNames = new LinkedHashMap<String, List<String>>();
@@ -173,17 +175,18 @@ public class AuditManagerTest
eventNames.get( repositoryId ).add( event.getName() );
}
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ), eventNames.get( TEST_REPO_ID ) );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID_2, AuditEvent.FACET_ID ),
- eventNames.get( TEST_REPO_ID_2 ) );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ eventNames.get( TEST_REPO_ID ) );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID_2,
+ AuditEvent.FACET_ID ),
+ eventNames.get( TEST_REPO_ID_2 ) );
for ( AuditEvent event : events.subList( 1, events.size() ) )
{
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( event.getRepositoryId(), AuditEvent.FACET_ID, event.getName() ),
- event );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( event.getRepositoryId(),
+ AuditEvent.FACET_ID,
+ event.getName() ), event );
}
metadataRepositoryControl.replay();
@@ -203,9 +206,12 @@ public class AuditManagerTest
}
public void testGetMostRecentEventsWhenEmpty()
+ throws Exception
+
{
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ), Collections.emptyList() );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Collections.emptyList() );
metadataRepositoryControl.replay();
assertTrue( auditManager.getMostRecentAuditEvents( Collections.singletonList( TEST_REPO_ID ) ).isEmpty() );
@@ -214,7 +220,8 @@ public class AuditManagerTest
}
public void testAddAuditEvent()
- throws ParseException
+ throws Exception
+
{
AuditEvent event = createEvent( new Date() );
@@ -228,7 +235,7 @@ public class AuditManagerTest
}
public void testAddAuditEventNoRepositoryId()
- throws ParseException
+ throws Exception
{
AuditEvent event = createEvent( new Date() );
event.setRepositoryId( null );
@@ -243,6 +250,8 @@ public class AuditManagerTest
}
public void testDeleteStats()
+ throws Exception
+
{
metadataRepository.removeMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID );
@@ -254,7 +263,8 @@ public class AuditManagerTest
}
public void testGetEventsRangeInside()
- throws ParseException
+ throws Exception
+
{
Date current = new Date();
@@ -263,20 +273,22 @@ public class AuditManagerTest
AuditEvent expectedEvent = createEvent( expectedTimestamp );
AuditEvent event3 = createEvent( new Date( current.getTime() - 1000 ) );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- Arrays.asList( event1.getName(), expectedEvent.getName(), event3.getName() ) );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( event1.getName(), expectedEvent.getName(),
+ event3.getName() ) );
// only match the middle one
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent.getName() ),
- expectedEvent );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent.getName() ),
+ expectedEvent );
metadataRepositoryControl.replay();
List<AuditEvent> events = auditManager.getAuditEventsInRange( Collections.singletonList( TEST_REPO_ID ),
- new Date( current.getTime() - 4000 ),
- new Date( current.getTime() - 2000 ) );
+ new Date( current.getTime() - 4000 ), new Date(
+ current.getTime() - 2000 ) );
assertEquals( 1, events.size() );
assertTestEvent( events.get( 0 ), TIMESTAMP_FORMAT.format( expectedTimestamp ), expectedEvent.getResource() );
@@ -285,7 +297,7 @@ public class AuditManagerTest
}
public void testGetEventsRangeUpperOutside()
- throws ParseException
+ throws Exception
{
Date current = new Date();
@@ -295,16 +307,19 @@ public class AuditManagerTest
Date ts3 = new Date( current.getTime() - 1000 );
AuditEvent expectedEvent3 = createEvent( ts3 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- Arrays.asList( event1.getName(), expectedEvent2.getName(), expectedEvent3.getName() ) );
-
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent2.getName() ),
- expectedEvent2 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent3.getName() ),
- expectedEvent3 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( event1.getName(), expectedEvent2.getName(),
+ expectedEvent3.getName() ) );
+
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent2.getName() ),
+ expectedEvent2 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent3.getName() ),
+ expectedEvent3 );
metadataRepositoryControl.replay();
@@ -319,7 +334,7 @@ public class AuditManagerTest
}
public void testGetEventsRangeLowerOutside()
- throws ParseException
+ throws Exception
{
Date current = new Date();
@@ -329,22 +344,25 @@ public class AuditManagerTest
AuditEvent expectedEvent2 = createEvent( expectedTimestamp );
AuditEvent event3 = createEvent( new Date( current.getTime() - 1000 ) );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- Arrays.asList( expectedEvent1.getName(), expectedEvent2.getName(), event3.getName() ) );
-
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent1.getName() ),
- expectedEvent1 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent2.getName() ),
- expectedEvent2 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( expectedEvent1.getName(), expectedEvent2.getName(),
+ event3.getName() ) );
+
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent1.getName() ),
+ expectedEvent1 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent2.getName() ),
+ expectedEvent2 );
metadataRepositoryControl.replay();
List<AuditEvent> events = auditManager.getAuditEventsInRange( Collections.singletonList( TEST_REPO_ID ),
- new Date( current.getTime() - 20000 ),
- new Date( current.getTime() - 2000 ) );
+ new Date( current.getTime() - 20000 ), new Date(
+ current.getTime() - 2000 ) );
assertEquals( 2, events.size() );
assertTestEvent( events.get( 0 ), TIMESTAMP_FORMAT.format( expectedTimestamp ), expectedEvent2.getResource() );
@@ -354,7 +372,7 @@ public class AuditManagerTest
}
public void testGetEventsRangeLowerAndUpperOutside()
- throws ParseException
+ throws Exception
{
Date current = new Date();
@@ -365,19 +383,23 @@ public class AuditManagerTest
Date ts3 = new Date( current.getTime() - 1000 );
AuditEvent expectedEvent3 = createEvent( ts3 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- Arrays.asList( expectedEvent1.getName(), expectedEvent2.getName(), expectedEvent3.getName() ) );
-
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent1.getName() ),
- expectedEvent1 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent2.getName() ),
- expectedEvent2 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent3.getName() ),
- expectedEvent3 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( expectedEvent1.getName(), expectedEvent2.getName(),
+ expectedEvent3.getName() ) );
+
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent1.getName() ),
+ expectedEvent1 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent2.getName() ),
+ expectedEvent2 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent3.getName() ),
+ expectedEvent3 );
metadataRepositoryControl.replay();
@@ -393,7 +415,7 @@ public class AuditManagerTest
}
public void testGetEventsWithResource()
- throws ParseException
+ throws Exception
{
Date current = new Date();
@@ -405,25 +427,29 @@ public class AuditManagerTest
Date ts3 = new Date( current.getTime() - 1000 );
AuditEvent expectedEvent3 = createEvent( ts3 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- Arrays.asList( expectedEvent1.getName(), expectedEvent2.getName(), expectedEvent3.getName() ) );
-
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent1.getName() ),
- expectedEvent1 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent2.getName() ),
- expectedEvent2 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent3.getName() ),
- expectedEvent3 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( expectedEvent1.getName(), expectedEvent2.getName(),
+ expectedEvent3.getName() ) );
+
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent1.getName() ),
+ expectedEvent1 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent2.getName() ),
+ expectedEvent2 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent3.getName() ),
+ expectedEvent3 );
metadataRepositoryControl.replay();
- List<AuditEvent> events =
- auditManager.getAuditEventsInRange( Collections.singletonList( TEST_REPO_ID ), TEST_RESOURCE_BASE,
- new Date( current.getTime() - 20000 ), current );
+ List<AuditEvent> events = auditManager.getAuditEventsInRange( Collections.singletonList( TEST_REPO_ID ),
+ TEST_RESOURCE_BASE, new Date(
+ current.getTime() - 20000 ), current );
assertEquals( 2, events.size() );
assertTestEvent( events.get( 0 ), TIMESTAMP_FORMAT.format( ts3 ), expectedEvent3.getResource() );
@@ -433,7 +459,7 @@ public class AuditManagerTest
}
public void testGetEventsWithNonExistantResource()
- throws ParseException
+ throws Exception
{
Date current = new Date();
@@ -443,19 +469,23 @@ public class AuditManagerTest
expectedEvent2.setResource( "different-resource" );
AuditEvent expectedEvent3 = createEvent( new Date( current.getTime() - 1000 ) );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- Arrays.asList( expectedEvent1.getName(), expectedEvent2.getName(), expectedEvent3.getName() ) );
-
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent1.getName() ),
- expectedEvent1 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent2.getName() ),
- expectedEvent2 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent3.getName() ),
- expectedEvent3 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( expectedEvent1.getName(), expectedEvent2.getName(),
+ expectedEvent3.getName() ) );
+
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent1.getName() ),
+ expectedEvent1 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent2.getName() ),
+ expectedEvent2 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent3.getName() ),
+ expectedEvent3 );
metadataRepositoryControl.replay();
@@ -468,7 +498,7 @@ public class AuditManagerTest
}
public void testGetEventsRangeMultipleRepositories()
- throws ParseException
+ throws Exception
{
Date current = new Date();
@@ -480,22 +510,26 @@ public class AuditManagerTest
Date ts3 = new Date( current.getTime() - 1000 );
AuditEvent expectedEvent3 = createEvent( ts3 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- Arrays.asList( expectedEvent1.getName(), expectedEvent3.getName() ) );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID_2, AuditEvent.FACET_ID ),
- Arrays.asList( expectedEvent2.getName() ) );
-
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent1.getName() ),
- expectedEvent1 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID_2, AuditEvent.FACET_ID, expectedEvent2.getName() ),
- expectedEvent2 );
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacet( TEST_REPO_ID, AuditEvent.FACET_ID, expectedEvent3.getName() ),
- expectedEvent3 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( expectedEvent1.getName(),
+ expectedEvent3.getName() ) );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID_2,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( expectedEvent2.getName() ) );
+
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent1.getName() ),
+ expectedEvent1 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID_2,
+ AuditEvent.FACET_ID,
+ expectedEvent2.getName() ),
+ expectedEvent2 );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacet( TEST_REPO_ID,
+ AuditEvent.FACET_ID,
+ expectedEvent3.getName() ),
+ expectedEvent3 );
metadataRepositoryControl.replay();
@@ -512,7 +546,7 @@ public class AuditManagerTest
}
public void testGetEventsRangeNotInside()
- throws ParseException
+ throws Exception
{
Date current = new Date();
@@ -521,15 +555,15 @@ public class AuditManagerTest
String name2 = createEvent( expectedTimestamp ).getName();
String name3 = createEvent( new Date( current.getTime() - 1000 ) ).getName();
- metadataRepositoryControl.expectAndReturn(
- metadataRepository.getMetadataFacets( TEST_REPO_ID, AuditEvent.FACET_ID ),
- Arrays.asList( name1, name2, name3 ) );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getMetadataFacets( TEST_REPO_ID,
+ AuditEvent.FACET_ID ),
+ Arrays.asList( name1, name2, name3 ) );
metadataRepositoryControl.replay();
List<AuditEvent> events = auditManager.getAuditEventsInRange( Collections.singletonList( TEST_REPO_ID ),
- new Date( current.getTime() - 20000 ),
- new Date( current.getTime() - 16000 ) );
+ new Date( current.getTime() - 20000 ), new Date(
+ current.getTime() - 16000 ) );
assertEquals( 0, events.size() );
@@ -550,8 +584,9 @@ public class AuditManagerTest
private static AuditEvent createEvent( String ts )
throws ParseException
{
- return createEvent( TEST_REPO_ID, ts, getDefaultTestResourceName(
- ts.substring( AUDIT_EVENT_BASE.length(), AUDIT_EVENT_BASE.length() + 3 ) ) );
+ return createEvent( TEST_REPO_ID, ts, getDefaultTestResourceName( ts.substring( AUDIT_EVENT_BASE.length(),
+ AUDIT_EVENT_BASE.length() +
+ 3 ) ) );
}
private static AuditEvent createEvent( String repositoryId, String timestamp, String resource )
Modified: archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/DefaultDependencyTreeBuilder.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/DefaultDependencyTreeBuilder.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/DefaultDependencyTreeBuilder.java (original)
+++ archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/DefaultDependencyTreeBuilder.java Wed Dec 22 01:53:10 2010
@@ -19,16 +19,7 @@ package org.apache.archiva.dependency.tr
* under the License.
*/
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import org.apache.archiva.metadata.repository.MetadataResolutionException;
import org.apache.archiva.metadata.repository.MetadataResolver;
import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
import org.apache.archiva.metadata.repository.storage.maven2.RepositoryModelResolver;
@@ -72,6 +63,16 @@ import org.apache.maven.shared.dependenc
import org.apache.maven.shared.dependency.tree.traversal.FilteringDependencyNodeVisitor;
import org.codehaus.plexus.logging.AbstractLogEnabled;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* Default implementation of <code>DependencyTreeBuilder</code>. Customized wrapper for maven-dependency-tree to use
* maven-model-builder instead of maven-project. Note that the role must differ to avoid conflicting with the
@@ -130,8 +131,8 @@ public class DefaultDependencyTreeBuilde
try
{
- Model model =
- buildProject( new RepositoryModelResolver( basedir, pathTranslator ), groupId, artifactId, version );
+ Model model = buildProject( new RepositoryModelResolver( basedir, pathTranslator ), groupId, artifactId,
+ version );
Map managedVersions = createManagedVersionMap( model );
@@ -150,12 +151,12 @@ public class DefaultDependencyTreeBuilde
DependencyNodeVisitor visitor = new BuildingDependencyNodeVisitor( nodeVisitor );
CollectingDependencyNodeVisitor collectingVisitor = new CollectingDependencyNodeVisitor();
- DependencyNodeVisitor firstPassVisitor =
- new FilteringDependencyNodeVisitor( collectingVisitor, StateDependencyNodeFilter.INCLUDED );
+ DependencyNodeVisitor firstPassVisitor = new FilteringDependencyNodeVisitor( collectingVisitor,
+ StateDependencyNodeFilter.INCLUDED );
rootNode.accept( firstPassVisitor );
- DependencyNodeFilter secondPassFilter =
- new AncestorOrSelfDependencyNodeFilter( collectingVisitor.getNodes() );
+ DependencyNodeFilter secondPassFilter = new AncestorOrSelfDependencyNodeFilter(
+ collectingVisitor.getNodes() );
visitor = new FilteringDependencyNodeVisitor( visitor, secondPassFilter );
rootNode.accept( visitor );
@@ -231,10 +232,10 @@ public class DefaultDependencyTreeBuilde
}
VersionRange versionRange = VersionRange.createFromVersionSpec( dependency.getVersion() );
- Artifact artifact =
- factory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(), versionRange,
- dependency.getType(), dependency.getClassifier(), scope, null,
- dependency.isOptional() );
+ Artifact artifact = factory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(),
+ versionRange, dependency.getType(),
+ dependency.getClassifier(), scope, null,
+ dependency.isOptional() );
if ( Artifact.SCOPE_SYSTEM.equals( scope ) )
{
@@ -303,10 +304,10 @@ public class DefaultDependencyTreeBuilde
VersionRange versionRange = VersionRange.createFromVersionSpec( dependency.getVersion() );
- Artifact artifact =
- factory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(), versionRange,
- dependency.getType(), dependency.getClassifier(),
- dependency.getScope(), dependency.isOptional() );
+ Artifact artifact = factory.createDependencyArtifact( dependency.getGroupId(),
+ dependency.getArtifactId(), versionRange,
+ dependency.getType(), dependency.getClassifier(),
+ dependency.getScope(), dependency.isOptional() );
if ( getLogger().isDebugEnabled() )
{
getLogger().debug( " " + artifact );
@@ -359,9 +360,8 @@ public class DefaultDependencyTreeBuilde
// TODO: we removed relocation support here. This is something that might need to be generically handled
// throughout this module
- Artifact pomArtifact =
- factory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
- artifact.getScope() );
+ Artifact pomArtifact = factory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(),
+ artifact.getVersion(), artifact.getScope() );
File basedir = findArtifactInRepositories( repositoryIds, pomArtifact );
@@ -370,9 +370,8 @@ public class DefaultDependencyTreeBuilde
{
try
{
- project =
- buildProject( new RepositoryModelResolver( basedir, pathTranslator ), artifact.getGroupId(),
- artifact.getArtifactId(), artifact.getVersion() );
+ project = buildProject( new RepositoryModelResolver( basedir, pathTranslator ),
+ artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() );
}
catch ( ModelBuildingException e )
{
@@ -423,8 +422,16 @@ public class DefaultDependencyTreeBuilde
Set<ArtifactVersion> versions = new HashSet<ArtifactVersion>();
for ( String repoId : repositoryIds )
{
- Collection<String> projectVersions =
- metadataResolver.getProjectVersions( repoId, artifact.getGroupId(), artifact.getArtifactId() );
+ Collection<String> projectVersions;
+ try
+ {
+ projectVersions = metadataResolver.getProjectVersions( repoId, artifact.getGroupId(),
+ artifact.getArtifactId() );
+ }
+ catch ( MetadataResolutionException e )
+ {
+ throw new ArtifactMetadataRetrievalException( e.getMessage(), e, artifact );
+ }
for ( String version : projectVersions )
{
versions.add( new DefaultArtifactVersion( version ) );
Modified: archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java (original)
+++ archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java Wed Dec 22 01:53:10 2010
@@ -26,6 +26,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.filter.AllFilter;
import org.apache.archiva.metadata.repository.filter.Filter;
@@ -116,7 +117,15 @@ public class Maven2RepositoryMetadataRes
// TODO: an event mechanism would remove coupling to the problem reporting plugin
// TODO: this removes all problems - do we need something that just removes the problems created by this resolver?
String name = RepositoryProblemFacet.createName( namespace, projectId, projectVersion, null );
- metadataRepository.removeMetadataFacet( repoId, RepositoryProblemFacet.FACET_ID, name );
+ try
+ {
+ metadataRepository.removeMetadataFacet( repoId, RepositoryProblemFacet.FACET_ID, name );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to remove repository problem facets for the version being removed: " + e.getMessage(),
+ e );
+ }
ManagedRepositoryConfiguration repositoryConfiguration =
archivaConfiguration.getConfiguration().findManagedRepositoryById( repoId );
@@ -251,7 +260,14 @@ public class Maven2RepositoryMetadataRes
problem.setRepositoryId( repoId );
problem.setVersion( projectVersion );
- metadataRepository.addMetadataFacet( repoId, problem );
+ try
+ {
+ metadataRepository.addMetadataFacet( repoId, problem );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to add repository problem facets for the version being removed: " + e.getMessage(), e );
+ }
}
private List<org.apache.archiva.metadata.model.Dependency> convertDependencies( List<Dependency> dependencies )
Modified: archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java (original)
+++ archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java Wed Dec 22 01:53:10 2010
@@ -33,6 +33,7 @@ import org.apache.archiva.metadata.model
import org.apache.archiva.metadata.model.ProjectVersionReference;
import org.apache.archiva.metadata.model.Scm;
import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.MetadataResolutionException;
import org.apache.jackrabbit.commons.JcrUtils;
import org.apache.jackrabbit.core.TransientRepository;
@@ -69,7 +70,6 @@ import javax.jcr.query.QueryResult;
/**
* @plexus.component role="org.apache.archiva.metadata.repository.MetadataRepository"
- * @todo below: exception handling
* @todo below: revise storage format for project version metadata
* @todo revise reference storage
*/
@@ -109,6 +109,7 @@ public class JcrMetadataRepository
// TODO: shouldn't do this in constructor since it's a singleton
session = repository.login( new SimpleCredentials( "username", "password".toCharArray() ) );
+ // TODO: try moving this into the repo instantiation
Workspace workspace = session.getWorkspace();
workspace.getNamespaceRegistry().registerNamespace( "archiva", "http://archiva.apache.org/jcr/" );
@@ -138,11 +139,13 @@ public class JcrMetadataRepository
}
public void updateProject( String repositoryId, ProjectMetadata project )
+ throws MetadataRepositoryException
{
updateProject( repositoryId, project.getNamespace(), project.getId() );
}
private void updateProject( String repositoryId, String namespace, String projectId )
+ throws MetadataRepositoryException
{
updateNamespace( repositoryId, namespace );
@@ -152,13 +155,13 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public void updateArtifact( String repositoryId, String namespace, String projectId, String projectVersion,
ArtifactMetadata artifactMeta )
+ throws MetadataRepositoryException
{
updateNamespace( repositoryId, namespace );
@@ -202,13 +205,13 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public void updateProjectVersion( String repositoryId, String namespace, String projectId,
ProjectVersionMetadata versionMetadata )
+ throws MetadataRepositoryException
{
updateProject( repositoryId, namespace, projectId );
@@ -294,13 +297,13 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public void updateProjectReference( String repositoryId, String namespace, String projectId, String projectVersion,
ProjectVersionReference reference )
+ throws MetadataRepositoryException
{
// not using weak references, since they still need to exist upfront to be referred to
try
@@ -317,12 +320,12 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public void updateNamespace( String repositoryId, String namespace )
+ throws MetadataRepositoryException
{
try
{
@@ -331,12 +334,12 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public List<String> getMetadataFacets( String repositoryId, String facetId )
+ throws MetadataRepositoryException
{
List<String> facets = new ArrayList<String>();
@@ -356,8 +359,7 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
return facets;
}
@@ -381,6 +383,7 @@ public class JcrMetadataRepository
}
public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
+ throws MetadataRepositoryException
{
MetadataFacet metadataFacet = null;
try
@@ -410,13 +413,13 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
return metadataFacet;
}
public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
+ throws MetadataRepositoryException
{
try
{
@@ -435,12 +438,12 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public void removeMetadataFacets( String repositoryId, String facetId )
+ throws MetadataRepositoryException
{
try
{
@@ -453,12 +456,12 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public void removeMetadataFacet( String repositoryId, String facetId, String name )
+ throws MetadataRepositoryException
{
try
{
@@ -479,12 +482,12 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date startTime, Date endTime )
+ throws MetadataRepositoryException
{
List<ArtifactMetadata> artifacts;
@@ -523,13 +526,13 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
return artifacts;
}
public Collection<String> getRepositories()
+ throws MetadataRepositoryException
{
List<String> repositories;
@@ -555,13 +558,13 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
return repositories;
}
public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
+ throws MetadataRepositoryException
{
List<ArtifactMetadata> artifacts;
@@ -582,14 +585,14 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
return artifacts;
}
public void deleteArtifact( String repositoryId, String namespace, String projectId, String projectVersion,
String id )
+ throws MetadataRepositoryException
{
try
{
@@ -602,12 +605,12 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public void deleteRepository( String repositoryId )
+ throws MetadataRepositoryException
{
try
{
@@ -620,12 +623,12 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
public List<ArtifactMetadata> getArtifacts( String repositoryId )
+ throws MetadataRepositoryException
{
List<ArtifactMetadata> artifacts;
@@ -644,13 +647,13 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
return artifacts;
}
public ProjectMetadata getProject( String repositoryId, String namespace, String projectId )
+ throws MetadataResolutionException
{
ProjectMetadata metadata = null;
@@ -669,8 +672,7 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataResolutionException( e.getMessage(), e );
}
return metadata;
@@ -852,8 +854,7 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataResolutionException( e.getMessage(), e );
}
return versionMetadata;
@@ -861,6 +862,7 @@ public class JcrMetadataRepository
public Collection<String> getArtifactVersions( String repositoryId, String namespace, String projectId,
String projectVersion )
+ throws MetadataResolutionException
{
Set<String> versions = new LinkedHashSet<String>();
@@ -878,12 +880,10 @@ public class JcrMetadataRepository
catch ( PathNotFoundException e )
{
// ignore repo not found for now
- // TODO: throw specific exception if repo doesn't exist
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataResolutionException( e.getMessage(), e );
}
return versions;
@@ -891,6 +891,7 @@ public class JcrMetadataRepository
public Collection<ProjectVersionReference> getProjectReferences( String repositoryId, String namespace,
String projectId, String projectVersion )
+ throws MetadataResolutionException
{
List<ProjectVersionReference> references = new ArrayList<ProjectVersionReference>();
@@ -934,19 +935,20 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataResolutionException( e.getMessage(), e );
}
return references;
}
public Collection<String> getRootNamespaces( String repositoryId )
+ throws MetadataResolutionException
{
return getNamespaces( repositoryId, null );
}
public Collection<String> getNamespaces( String repositoryId, String baseNamespace )
+ throws MetadataResolutionException
{
String path = baseNamespace != null
? getNamespacePath( repositoryId, baseNamespace )
@@ -956,17 +958,20 @@ public class JcrMetadataRepository
}
public Collection<String> getProjects( String repositoryId, String namespace )
+ throws MetadataResolutionException
{
return getNodeNames( getNamespacePath( repositoryId, namespace ) );
}
public Collection<String> getProjectVersions( String repositoryId, String namespace, String projectId )
+ throws MetadataResolutionException
{
return getNodeNames( getProjectPath( repositoryId, namespace, projectId ) );
}
public Collection<ArtifactMetadata> getArtifacts( String repositoryId, String namespace, String projectId,
String projectVersion )
+ throws MetadataResolutionException
{
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>();
@@ -987,8 +992,7 @@ public class JcrMetadataRepository
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataResolutionException( e.getMessage(), e );
}
return artifacts;
@@ -1104,6 +1108,7 @@ public class JcrMetadataRepository
}
private Collection<String> getNodeNames( String path )
+ throws MetadataResolutionException
{
List<String> names = new ArrayList<String>();
@@ -1123,12 +1128,10 @@ public class JcrMetadataRepository
catch ( PathNotFoundException e )
{
// ignore repo not found for now
- // TODO: throw specific exception if repo doesn't exist
}
catch ( RepositoryException e )
{
- // TODO
- throw new RuntimeException( e );
+ throw new MetadataResolutionException( e.getMessage(), e );
}
return names;
Modified: archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemEventListener.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemEventListener.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemEventListener.java (original)
+++ archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/RepositoryProblemEventListener.java Wed Dec 22 01:53:10 2010
@@ -20,7 +20,10 @@ package org.apache.archiva.reports;
*/
import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.repository.events.RepositoryListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Process repository management events and respond appropriately.
@@ -30,6 +33,8 @@ import org.apache.archiva.repository.eve
public class RepositoryProblemEventListener
implements RepositoryListener
{
+ private Logger log = LoggerFactory.getLogger( RepositoryProblemEventListener.class );
+
/**
* @plexus.requirement
*/
@@ -39,6 +44,13 @@ public class RepositoryProblemEventListe
{
String name = RepositoryProblemFacet.createName( namespace, project, version, id );
- metadataRepository.removeMetadataFacet( repositoryId, RepositoryProblemFacet.FACET_ID, name );
+ try
+ {
+ metadataRepository.removeMetadataFacet( repositoryId, RepositoryProblemFacet.FACET_ID, name );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ log.warn( "Unable to remove metadata facet as part of delete event: " + e.getMessage(), e );
+ }
}
}
\ No newline at end of file
Modified: archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java (original)
+++ archiva/trunk/archiva-modules/plugins/problem-reports/src/main/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumer.java Wed Dec 22 01:53:10 2010
@@ -23,6 +23,7 @@ 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.storage.RepositoryPathTranslator;
import org.apache.archiva.reports.RepositoryProblemFacet;
import org.apache.commons.collections.CollectionUtils;
@@ -96,6 +97,7 @@ public class DuplicateArtifactsConsumer
/**
* FIXME: needs to be selected based on the repository in question
+ *
* @plexus.requirement role-hint="maven2"
*/
private RepositoryPathTranslator pathTranslator;
@@ -135,7 +137,7 @@ public class DuplicateArtifactsConsumer
public void beginScan( ManagedRepositoryConfiguration repo, Date whenGathered, boolean executeOnEntireRepo )
throws ConsumerException
{
- beginScan( repo, whenGathered );
+ beginScan( repo, whenGathered );
}
public void processFile( String path )
@@ -158,7 +160,15 @@ public class DuplicateArtifactsConsumer
throw new ConsumerException( e.getMessage(), e );
}
- List<ArtifactMetadata> results = metadataRepository.getArtifactsByChecksum( repoId, checksumSha1 );
+ List<ArtifactMetadata> results;
+ try
+ {
+ results = metadataRepository.getArtifactsByChecksum( repoId, checksumSha1 );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ throw new ConsumerException( e.getMessage(), e );
+ }
if ( CollectionUtils.isNotEmpty( results ) )
{
@@ -203,7 +213,14 @@ public class DuplicateArtifactsConsumer
dupArtifact.getId() ) );
problem.setProblem( "duplicate-artifact" );
- metadataRepository.addMetadataFacet( repoId, problem );
+ try
+ {
+ metadataRepository.addMetadataFacet( repoId, problem );
+ }
+ catch ( MetadataRepositoryException e )
+ {
+ throw new ConsumerException( e.getMessage(), e );
+ }
}
}
}
@@ -211,7 +228,7 @@ public class DuplicateArtifactsConsumer
public void processFile( String path, boolean executeOnEntireRepo )
throws ConsumerException
{
- processFile( path );
+ processFile( path );
}
public void completeScan()
Modified: archiva/trunk/archiva-modules/plugins/problem-reports/src/test/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumerTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/problem-reports/src/test/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumerTest.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/problem-reports/src/test/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumerTest.java (original)
+++ archiva/trunk/archiva-modules/plugins/problem-reports/src/test/java/org/apache/archiva/reports/consumers/DuplicateArtifactsConsumerTest.java Wed Dec 22 01:53:10 2010
@@ -83,7 +83,7 @@ public class DuplicateArtifactsConsumerT
}
public void testConsumerArtifactNotDuplicated()
- throws ConsumerException
+ throws Exception
{
when( metadataRepository.getArtifactsByChecksum( TEST_REPO, TEST_CHECKSUM ) ).thenReturn( Arrays.asList(
TEST_METADATA ) );
@@ -110,7 +110,7 @@ public class DuplicateArtifactsConsumerT
// }
public void testConsumerArtifactDuplicated()
- throws ConsumerException
+ throws Exception
{
when( metadataRepository.getArtifactsByChecksum( TEST_REPO, TEST_CHECKSUM ) ).thenReturn( Arrays.asList(
TEST_METADATA, createMetadata( "1.0" ) ) );
@@ -126,7 +126,7 @@ public class DuplicateArtifactsConsumerT
}
public void testConsumerArtifactDuplicatedButSelfNotInMetadataRepository()
- throws ConsumerException
+ throws Exception
{
when( metadataRepository.getArtifactsByChecksum( TEST_REPO, TEST_CHECKSUM ) ).thenReturn( Arrays.asList(
createMetadata( "1.0" ) ) );
@@ -142,7 +142,7 @@ public class DuplicateArtifactsConsumerT
}
public void testConsumerArtifactFileNotExist()
- throws ConsumerException
+ throws Exception
{
consumer.beginScan( config, new Date() );
try
@@ -163,7 +163,7 @@ public class DuplicateArtifactsConsumerT
}
public void testConsumerArtifactNotAnArtifactPathNoResults()
- throws ConsumerException
+ throws Exception
{
consumer.beginScan( config, new Date() );
// No exception unnecessarily for something we can't report on
@@ -174,7 +174,7 @@ public class DuplicateArtifactsConsumerT
}
public void testConsumerArtifactNotAnArtifactPathResults()
- throws ConsumerException
+ throws Exception
{
when( metadataRepository.getArtifactsByChecksum( eq( TEST_REPO ), anyString() ) ).thenReturn( Arrays.asList(
TEST_METADATA, createMetadata( "1.0" ) ) );
Modified: archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java (original)
+++ archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java Wed Dec 22 01:53:10 2010
@@ -21,6 +21,8 @@ package org.apache.archiva.metadata.repo
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.metadata.repository.storage.maven2.MavenArtifactFacet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,6 +52,7 @@ public class DefaultRepositoryStatistics
private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" );
public RepositoryStatistics getLastStatistics( String repositoryId )
+ throws MetadataRepositoryException
{
// TODO: consider a more efficient implementation that directly gets the last one from the content repository
List<String> scans = metadataRepository.getMetadataFacets( repositoryId, RepositoryStatistics.FACET_ID );
@@ -67,6 +70,7 @@ public class DefaultRepositoryStatistics
}
private void walkRepository( RepositoryStatistics stats, String repositoryId, String ns )
+ throws MetadataResolutionException
{
for ( String namespace : metadataRepository.getNamespaces( repositoryId, ns ) )
{
@@ -89,7 +93,8 @@ public class DefaultRepositoryStatistics
stats.setTotalArtifactCount( stats.getTotalArtifactCount() + 1 );
stats.setTotalArtifactFileSize( stats.getTotalArtifactFileSize() + artifact.getSize() );
- MavenArtifactFacet facet = (MavenArtifactFacet) artifact.getFacet( MavenArtifactFacet.FACET_ID );
+ MavenArtifactFacet facet = (MavenArtifactFacet) artifact.getFacet(
+ MavenArtifactFacet.FACET_ID );
if ( facet != null )
{
String type = facet.getType();
@@ -104,6 +109,7 @@ public class DefaultRepositoryStatistics
public void addStatisticsAfterScan( String repositoryId, Date startTime, Date endTime, long totalFiles,
long newFiles )
+ throws MetadataRepositoryException
{
RepositoryStatistics repositoryStatistics = new RepositoryStatistics();
repositoryStatistics.setScanStartTime( startTime );
@@ -121,9 +127,16 @@ public class DefaultRepositoryStatistics
// TODO: we can probably get a more efficient implementation directly from the metadata repository, but for now
// we just walk it. Alternatively, we could build an index, or store the aggregate information and update
// it on the fly
- for ( String ns : metadataRepository.getRootNamespaces( repositoryId ) )
+ try
{
- walkRepository( repositoryStatistics, repositoryId, ns );
+ for ( String ns : metadataRepository.getRootNamespaces( repositoryId ) )
+ {
+ walkRepository( repositoryStatistics, repositoryId, ns );
+ }
+ }
+ catch ( MetadataResolutionException e )
+ {
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
log.info( "Repository walk for statistics executed in " + ( System.currentTimeMillis() - startWalk ) + "ms" );
@@ -131,11 +144,13 @@ public class DefaultRepositoryStatistics
}
public void deleteStatistics( String repositoryId )
+ throws MetadataRepositoryException
{
metadataRepository.removeMetadataFacets( repositoryId, RepositoryStatistics.FACET_ID );
}
public List<RepositoryStatistics> getStatisticsInRange( String repositoryId, Date startTime, Date endTime )
+ throws MetadataRepositoryException
{
List<RepositoryStatistics> results = new ArrayList<RepositoryStatistics>();
List<String> list = metadataRepository.getMetadataFacets( repositoryId, RepositoryStatistics.FACET_ID );
@@ -145,13 +160,11 @@ public class DefaultRepositoryStatistics
try
{
Date date = createNameFormat().parse( name );
- if ( ( startTime == null || !date.before( startTime ) ) &&
- ( endTime == null || !date.after( endTime ) ) )
+ if ( ( startTime == null || !date.before( startTime ) ) && ( endTime == null || !date.after(
+ endTime ) ) )
{
- RepositoryStatistics stats =
- (RepositoryStatistics) metadataRepository.getMetadataFacet( repositoryId,
- RepositoryStatistics.FACET_ID,
- name );
+ RepositoryStatistics stats = (RepositoryStatistics) metadataRepository.getMetadataFacet(
+ repositoryId, RepositoryStatistics.FACET_ID, name );
results.add( stats );
}
}
Modified: archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManager.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManager.java?rev=1051732&r1=1051731&r2=1051732&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManager.java (original)
+++ archiva/trunk/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManager.java Wed Dec 22 01:53:10 2010
@@ -19,16 +19,22 @@ package org.apache.archiva.metadata.repo
* under the License.
*/
+import org.apache.archiva.metadata.repository.MetadataRepositoryException;
+
import java.util.Date;
import java.util.List;
public interface RepositoryStatisticsManager
{
- RepositoryStatistics getLastStatistics( String repositoryId );
+ RepositoryStatistics getLastStatistics( String repositoryId )
+ throws MetadataRepositoryException;
- void addStatisticsAfterScan( String repositoryId, Date startTime, Date endTime, long totalFiles, long newFiles );
+ void addStatisticsAfterScan( String repositoryId, Date startTime, Date endTime, long totalFiles, long newFiles )
+ throws MetadataRepositoryException;
- void deleteStatistics( String repositoryId );
+ void deleteStatistics( String repositoryId )
+ throws MetadataRepositoryException;
- List<RepositoryStatistics> getStatisticsInRange( String repositoryId, Date startTime, Date endTime );
+ List<RepositoryStatistics> getStatisticsInRange( String repositoryId, Date startTime, Date endTime )
+ throws MetadataRepositoryException;
}