Author: olamy
Date: Mon Mar 24 06:15:44 2014
New Revision: 1580762

URL: http://svn.apache.org/r1580762
Log:
fix deleting project version

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=1580762&r1=1580761&r2=1580762&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
 Mon Mar 24 06:15:44 2014
@@ -1778,46 +1778,33 @@ public class CassandraMetadataRepository
                                       final String projectVersion )
         throws MetadataRepositoryException
     {
-        /*
-        final List<ArtifactMetadataModel> artifactMetadataModels = new 
ArrayList<ArtifactMetadataModel>();
 
-        // FIXME use cql query
+        String key = new 
ProjectVersionMetadataModel.KeyBuilder().withRepository( repoId ).withNamespace(
+            namespace ).withProjectId( projectId ).withId( projectVersion 
).build();
 
-        getArtifactMetadataModelEntityManager().visitAll( new 
Function<ArtifactMetadataModel, Boolean>()
-        {
-            @Override
-            public Boolean apply( ArtifactMetadataModel artifactMetadataModel )
-            {
-                if ( artifactMetadataModel != null )
-                {
-                    if ( StringUtils.equals( repoId, 
artifactMetadataModel.getRepositoryId() ) && StringUtils.equals(
-                        namespace, artifactMetadataModel.getNamespace() ) && 
StringUtils.equals( projectId,
-                                                                               
                  artifactMetadataModel.getProject() )
-                        && StringUtils.equals( projectVersion, 
artifactMetadataModel.getProjectVersion() ) )
-                    {
-                        artifactMetadataModels.add( artifactMetadataModel );
-                    }
-                }
-                return Boolean.TRUE;
-            }
-        } );
+        this.projectVersionMetadataModelTemplate.deleteRow( key );
 
-        logger.debug( "removeProjectVersions:{}", artifactMetadataModels );
-        if ( artifactMetadataModels.isEmpty() )
-        {
-            return;
-        }
+        Keyspace keyspace = cassandraArchivaManager.getKeyspace();
+
+        StringSerializer ss = StringSerializer.get();
 
-        getArtifactMetadataModelEntityManager().remove( artifactMetadataModels 
);
+        RangeSlicesQuery<String, String, String> query = HFactory //
+            .createRangeSlicesQuery( keyspace, ss, ss, ss ) //
+            .setColumnFamily( 
cassandraArchivaManager.getArtifactMetadataModelFamilyName() ) //
+            .setColumnNames( "namespaceId" ); //
 
-        String key = new 
ProjectVersionMetadataModel.KeyBuilder().withProjectId( projectId ).withId(
-            projectVersion ).withRepository( repoId ).withNamespace( namespace 
).build();
+        query = query.addEqualsExpression( "repositoryName", repoId ) //
+            .addEqualsExpression( "namespaceId", namespace ) //
+            .addEqualsExpression( "project", projectId ) //
+            .addEqualsExpression( "projectVersion", projectVersion );
+
+        QueryResult<OrderedRows<String,String,String>> result = 
query.execute();
 
-        ProjectVersionMetadataModel projectVersionMetadataModel = new 
ProjectVersionMetadataModel();
-        projectVersionMetadataModel.setRowId( key );
+        for (Row<String,String,String> row : result.get())
+        {
+            this.artifactMetadataTemplate.deleteRow( row.getKey() );
+        }
 
-        getProjectVersionMetadataModelEntityManager().remove( 
projectVersionMetadataModel );
-        */
     }
 
     @Override


Reply via email to