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();