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 2009/12/08 05:02:18 UTC
svn commit: r888245 - in
/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src:
main/java/org/apache/maven/archiva/web/action/admin/repositories/
test/java/org/apache/maven/archiva/web/action/admin/repositories/
test/resources/org/a...
Author: brett
Date: Tue Dec 8 04:02:18 2009
New Revision: 888245
URL: http://svn.apache.org/viewvc?rev=888245&view=rev
Log:
[MRM-1293] remove use of repository content statistics from the managed repository deletion
Removed:
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/admin/repositories/AbstractManagedRepositoriesActionTest.xml
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.xml
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/AddManagedRepositoryActionTest.java
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java?rev=888245&r1=888244&r2=888245&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java Tue Dec 8 04:02:18 2009
@@ -24,18 +24,17 @@
import java.util.Map;
import com.opensymphony.xwork2.Preparable;
+import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
-import org.apache.maven.archiva.database.ArchivaDAO;
import org.apache.maven.archiva.database.ArchivaDatabaseException;
+import org.apache.maven.archiva.database.ArtifactDAO;
import org.apache.maven.archiva.database.Constraint;
import org.apache.maven.archiva.database.ObjectNotFoundException;
import org.apache.maven.archiva.database.constraints.ArtifactsByRepositoryConstraint;
-import org.apache.maven.archiva.database.constraints.RepositoryContentStatisticsByRepositoryConstraint;
import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.apache.maven.archiva.model.RepositoryContentStatistics;
import org.apache.maven.archiva.repository.audit.AuditEvent;
import org.codehaus.plexus.redback.role.RoleManagerException;
@@ -56,7 +55,12 @@
/**
* @plexus.requirement role-hint="jdo"
*/
- private ArchivaDAO archivaDAO;
+ private ArtifactDAO artifactDao;
+
+ /**
+ * @plexus.requirement
+ */
+ private RepositoryStatisticsManager repositoryStatisticsManager;
public void prepare()
{
@@ -96,7 +100,7 @@
return ERROR;
}
- String result = SUCCESS;
+ String result;
try
{
@@ -138,7 +142,7 @@
{
removeRepositoryRoles( cleanupRepository );
cleanupDatabase( cleanupRepository.getId() );
- cleanupScanStats( cleanupRepository.getId() );
+ repositoryStatisticsManager.deleteStatistics( cleanupRepository.getId() );
// TODO: delete all content for a repository from the content API?
List<ProxyConnectorConfiguration> proxyConnectors = getProxyConnectors();
@@ -169,14 +173,14 @@
{
Constraint constraint = new ArtifactsByRepositoryConstraint( repoId );
- List<ArchivaArtifact> artifacts = archivaDAO.getArtifactDAO().queryArtifacts( constraint );
+ List<ArchivaArtifact> artifacts = artifactDao.queryArtifacts( constraint );
for ( ArchivaArtifact artifact : artifacts )
{
log.info( "Removing artifact " + artifact + " from the database." );
try
{
- archivaDAO.getArtifactDAO().deleteArtifact( artifact );
+ artifactDao.deleteArtifact( artifact );
}
catch ( ObjectNotFoundException oe )
@@ -192,19 +196,6 @@
}
}
- private void cleanupScanStats( String repoId )
- throws ArchivaDatabaseException
- {
- List<RepositoryContentStatistics> results =
- archivaDAO.getRepositoryContentStatisticsDAO().queryRepositoryContentStatistics(
- new RepositoryContentStatisticsByRepositoryConstraint( repoId ) );
-
- for ( RepositoryContentStatistics stats : results )
- {
- archivaDAO.getRepositoryContentStatisticsDAO().deleteRepositoryContentStatistics( stats );
- }
- }
-
public ManagedRepositoryConfiguration getRepository()
{
return repository;
@@ -225,13 +216,13 @@
this.repoid = repoid;
}
- public void setArchivaDAO( ArchivaDAO archivaDAO )
+ public void setRepositoryStatisticsManager( RepositoryStatisticsManager repositoryStatisticsManager )
{
- this.archivaDAO = archivaDAO;
+ this.repositoryStatisticsManager = repositoryStatisticsManager;
}
- public ArchivaDAO getArchivaDAO()
+ public void setArtifactDao( ArtifactDAO artifactDao )
{
- return archivaDAO;
+ this.artifactDao = artifactDao;
}
}
Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/AddManagedRepositoryActionTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/AddManagedRepositoryActionTest.java?rev=888245&r1=888244&r2=888245&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/AddManagedRepositoryActionTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/AddManagedRepositoryActionTest.java Tue Dec 8 04:02:18 2009
@@ -19,6 +19,9 @@
* under the License.
*/
+import java.io.File;
+import java.util.Collections;
+
import com.opensymphony.xwork2.Action;
import org.apache.commons.io.FileUtils;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
@@ -26,14 +29,11 @@
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.security.ArchivaRoleConstants;
import org.codehaus.plexus.redback.role.RoleManager;
+import org.codehaus.plexus.spring.PlexusInSpringTestCase;
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
import org.codehaus.redback.integration.interceptor.SecureActionException;
-import org.codehaus.plexus.spring.PlexusInSpringTestCase;
import org.easymock.MockControl;
-import java.io.File;
-import java.util.Collections;
-
/**
* AddManagedRepositoryActionTest
*
@@ -68,7 +68,7 @@
{
super.setUp();
- action = (AddManagedRepositoryAction) lookup( Action.class.getName(), "addManagedRepositoryAction" );
+ action = new AddManagedRepositoryAction();
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
Modified: archiva/branches/MRM-1025/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/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java?rev=888245&r1=888244&r2=888245&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java Tue Dec 8 04:02:18 2009
@@ -25,6 +25,7 @@
import java.util.List;
import com.opensymphony.xwork2.Action;
+import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
@@ -63,6 +64,10 @@
private File location;
+ private MockControl repositoryStatisticsManagerControl;
+
+ private RepositoryStatisticsManager repositoryStatisticsManager;
+
@Override
protected String getPlexusConfigLocation()
{
@@ -74,7 +79,7 @@
{
super.setUp();
- action = (DeleteManagedRepositoryAction) lookup( Action.class.getName(), "deleteManagedRepositoryAction" );
+ action = new DeleteManagedRepositoryAction();
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
@@ -83,7 +88,13 @@
roleManagerControl = MockControl.createControl( RoleManager.class );
roleManager = (RoleManager) roleManagerControl.getMock();
action.setRoleManager( roleManager );
- location = getTestFile( "target/test/location" );
+ location = getTestFile( "target/test/location" );
+
+ repositoryStatisticsManagerControl = MockControl.createControl( RepositoryStatisticsManager.class );
+ repositoryStatisticsManager = (RepositoryStatisticsManager) repositoryStatisticsManagerControl.getMock();
+ action.setRepositoryStatisticsManager( repositoryStatisticsManager );
+
+ action.setArtifactDao( new ArtifactDAOStub() );
}
public void testSecureActionBundle()
@@ -126,7 +137,11 @@
public void testDeleteRepositoryKeepContent()
throws Exception
- {
+ {
+ // even when we keep the content, we don't keep the metadata at this point
+ repositoryStatisticsManager.deleteStatistics( REPO_ID );
+ repositoryStatisticsManagerControl.replay();
+
prepareRoleManagerMock();
Configuration configuration = prepDeletionTest( createRepository(), 4 );
@@ -138,11 +153,16 @@
assertTrue( configuration.getManagedRepositories().isEmpty() );
assertTrue( location.exists() );
+
+ repositoryStatisticsManagerControl.verify();
}
public void testDeleteRepositoryDeleteContent()
throws Exception
{
+ repositoryStatisticsManager.deleteStatistics( REPO_ID );
+ repositoryStatisticsManagerControl.replay();
+
prepareRoleManagerMock();
Configuration configuration = prepDeletionTest( createRepository(), 4 );
@@ -154,11 +174,16 @@
assertTrue( configuration.getManagedRepositories().isEmpty() );
assertFalse( location.exists() );
+
+ repositoryStatisticsManagerControl.verify();
}
public void testDeleteRepositoryAndAssociatedProxyConnectors()
throws Exception
{
+ repositoryStatisticsManager.deleteStatistics( REPO_ID );
+ repositoryStatisticsManagerControl.replay();
+
Configuration configuration = prepDeletionTest( createRepository(), 5 );
configuration.addRemoteRepository( createRemoteRepository( "codehaus", "http://repository.codehaus.org" ) );
configuration.addRemoteRepository( createRemoteRepository( "java.net", "http://dev.java.net/maven2" ) );
@@ -175,11 +200,15 @@
assertEquals( 0, configuration.getProxyConnectors().size() );
assertFalse( location.exists() );
+
+ repositoryStatisticsManagerControl.verify();
}
public void testDeleteRepositoryCancelled()
throws Exception
{
+ repositoryStatisticsManagerControl.replay();
+
ManagedRepositoryConfiguration originalRepository = createRepository();
Configuration configuration = prepDeletionTest( originalRepository, 3 );
String status = action.execute();
@@ -190,11 +219,16 @@
assertEquals( Collections.singletonList( originalRepository ), configuration.getManagedRepositories() );
assertTrue( location.exists() );
+
+ repositoryStatisticsManagerControl.verify();
}
public void testDeleteRepositoryAndReposUnderRepoGroup()
throws Exception
{
+ repositoryStatisticsManager.deleteStatistics( REPO_ID );
+ repositoryStatisticsManagerControl.replay();
+
Configuration configuration = prepDeletionTest( createRepository(), 5 );
List<String> repoIds = new ArrayList<String>();
repoIds.add( REPO_ID );
@@ -211,6 +245,8 @@
assertEquals( 0, ( ( RepositoryGroupConfiguration ) configuration.getRepositoryGroups().get( 0 ) ).getRepositories().size() );
assertFalse( location.exists() );
+
+ repositoryStatisticsManagerControl.verify();
}
private Configuration prepDeletionTest( ManagedRepositoryConfiguration originalRepository, int expectCountGetConfig )
Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java?rev=888245&r1=888244&r2=888245&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java Tue Dec 8 04:02:18 2009
@@ -68,7 +68,7 @@
{
super.setUp();
- action = (EditManagedRepositoryAction) lookup( Action.class.getName(), "editManagedRepositoryAction" );
+ action = new EditManagedRepositoryAction();
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();