Author: olamy
Date: Tue Jun 4 12:46:55 2013
New Revision: 1489418
URL: http://svn.apache.org/r1489418
Log:
fix removeProject
Modified:
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java
Modified:
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java?rev=1489418&r1=1489417&r2=1489418&view=diff
==============================================================================
---
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
(original)
+++
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
Tue Jun 4 12:46:55 2013
@@ -639,7 +639,7 @@ public class CassandraMetadataRepository
}
@Override
- public void removeProject( final String repositoryId, final String
namespace, final String projectId )
+ public void removeProject( final String repositoryId, final String
namespaceId, final String projectId )
throws MetadataRepositoryException
{
@@ -654,8 +654,8 @@ public class CassandraMetadataRepository
if ( artifactMetadataModel != null )
{
if ( StringUtils.equals(
artifactMetadataModel.getRepositoryId(), repositoryId )
- && StringUtils.equals(
artifactMetadataModel.getNamespace(), namespace ) && StringUtils.equals(
- artifactMetadataModel.getProject(), projectId ) )
+ && StringUtils.equals(
artifactMetadataModel.getNamespace(), namespaceId )
+ && StringUtils.equals(
artifactMetadataModel.getProject(), projectId ) )
{
artifactMetadataModels.add( artifactMetadataModel );
}
@@ -666,8 +666,37 @@ public class CassandraMetadataRepository
artifactMetadataModelEntityManager.remove( artifactMetadataModels );
- String key = new Project.KeyBuilder().withNamespace(
- new Namespace( namespace, new Repository( repositoryId ) )
).withProjectId( projectId ).build();
+ Namespace namespace = new Namespace( namespaceId, new Repository(
repositoryId ) );
+
+ final List<ProjectVersionMetadataModel> projectVersionMetadataModels =
+ new ArrayList<ProjectVersionMetadataModel>();
+
+ projectVersionMetadataModelEntityManager.visitAll( new
Function<ProjectVersionMetadataModel, Boolean>()
+ {
+ @Override
+ public Boolean apply( ProjectVersionMetadataModel
projectVersionMetadataModel )
+ {
+ if ( projectVersionMetadataModel != null )
+ {
+ if ( StringUtils.equals( repositoryId,
+
projectVersionMetadataModel.getNamespace().getRepository().getName() )
+ && StringUtils.equals( namespaceId,
projectVersionMetadataModel.getNamespace().getName() )
+ && StringUtils.equals( projectId,
projectVersionMetadataModel.getProjectId() ) )
+ {
+ projectVersionMetadataModels.add(
projectVersionMetadataModel );
+ }
+ }
+ return Boolean.TRUE;
+ }
+ } );
+
+ if ( !projectVersionMetadataModels.isEmpty() )
+ {
+ projectVersionMetadataModelEntityManager.remove(
projectVersionMetadataModels );
+ }
+
+ String key = new Project.KeyBuilder().withNamespace( namespace
).withProjectId( projectId ).build();
+
Project project = projectEntityManager.get( key );
if ( project == null )
{
@@ -675,6 +704,7 @@ public class CassandraMetadataRepository
return;
}
logger.debug( "removeProject {}", project );
+
projectEntityManager.remove( project );
}
Modified:
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java
URL:
http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java?rev=1489418&r1=1489417&r2=1489418&view=diff
==============================================================================
---
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java
(original)
+++
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java
Tue Jun 4 12:46:55 2013
@@ -157,7 +157,7 @@ public class Project
public String build()
{
// FIXME add some controls
- return new Namespace.KeyBuilder().withNamespace( this.namespace )
+ "-" + this.projectId;
+ return new Namespace.KeyBuilder().withNamespace( this.namespace
).build() + "-" + this.projectId;
}
}
}