Author: olamy
Date: Wed Mar 26 06:01:20 2014
New Revision: 1581698

URL: http://svn.apache.org/r1581698
Log:
fix deleting a project -> remove all artifacts

Modified:
    
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java

Modified: 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java?rev=1581698&r1=1581697&r2=1581698&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
 Wed Mar 26 06:01:20 2014
@@ -1992,15 +1992,25 @@ public class CassandraMetadataRepository
         throws MetadataRepositoryException
     {
 
-        String key = new 
ProjectVersionMetadataModel.KeyBuilder().withRepository( repoId ).withNamespace(
-            namespace ).withProjectId( projectId ).withId( projectVersion 
).build();
-
-        this.projectVersionMetadataModelTemplate.deleteRow( key );
-
         Keyspace keyspace = cassandraArchivaManager.getKeyspace();
 
         StringSerializer ss = StringSerializer.get();
 
+        QueryResult<OrderedRows<String, String, String>> result = HFactory //
+            .createRangeSlicesQuery( keyspace, ss, ss, ss ) //
+            .setColumnFamily( 
cassandraArchivaManager.getProjectVersionMetadataFamilyName() ) //
+            .setColumnNames( "version" ) //
+            .addEqualsExpression( "repositoryName", repoId ) //
+            .addEqualsExpression( "namespaceId", namespace ) //
+            .addEqualsExpression( "projectId", projectId ) //
+            .addEqualsExpression( "projectVersion", projectVersion ) //
+            .execute();
+
+        for ( Row<String, String, String> row : result.get().getList() )
+        {
+            this.projectVersionMetadataModelTemplate.deleteRow( row.getKey() );
+        }
+
         RangeSlicesQuery<String, String, String> query = HFactory //
             .createRangeSlicesQuery( keyspace, ss, ss, ss ) //
             .setColumnFamily( 
cassandraArchivaManager.getArtifactMetadataFamilyName() ) //
@@ -2011,7 +2021,7 @@ public class CassandraMetadataRepository
             .addEqualsExpression( "project", projectId ) //
             .addEqualsExpression( "projectVersion", projectVersion );
 
-        QueryResult<OrderedRows<String, String, String>> result = 
query.execute();
+        result = query.execute();
 
         for ( Row<String, String, String> row : result.get() )
         {


Reply via email to