Author: olamy
Date: Fri Mar 21 04:57:46 2014
New Revision: 1579886

URL: http://svn.apache.org/r1579886
Log:
fix retrieving a project

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=1579886&r1=1579885&r2=1579886&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
 Fri Mar 21 04:57:46 2014
@@ -21,6 +21,7 @@ package org.apache.archiva.metadata.repo
 
 import me.prettyprint.cassandra.serializers.LongSerializer;
 import me.prettyprint.cassandra.serializers.StringSerializer;
+import me.prettyprint.cassandra.service.template.ColumnFamilyResult;
 import me.prettyprint.cassandra.service.template.ColumnFamilyTemplate;
 import me.prettyprint.cassandra.service.template.ColumnFamilyUpdater;
 import me.prettyprint.cassandra.service.template.ThriftColumnFamilyTemplate;
@@ -58,6 +59,7 @@ import org.slf4j.LoggerFactory;
 
 import javax.persistence.PersistenceException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Date;
@@ -767,6 +769,7 @@ public class CassandraMetadataRepository
         return projectVersionMetadataModel;
     }
 
+
     @Override
     public void updateProjectVersion( String repositoryId, String namespaceId, 
String projectId,
                                       ProjectVersionMetadata versionMetadata )
@@ -838,7 +841,7 @@ public class CassandraMetadataRepository
         // FIXME nested objects to store!!!
         if ( creation )
         {
-            String cf = cassandraArchivaManager.getProjectFamilyName();
+            String cf = 
cassandraArchivaManager.getProjectVersionMetadataModelFamilyName();
             Mutator<String> mutator = 
projectVersionMetadataModelTemplate.createMutator()
                 //  values
                 .addInsertion( key, //
@@ -868,8 +871,8 @@ public class CassandraMetadataRepository
             }
             mutator = mutator.addInsertion( key, //
                                             cf, //
-                                            column( "incomplete", 
Boolean.toString( versionMetadata.isIncomplete() ) )
-            );
+                                            column( "incomplete",
+                                                    Boolean.toString( 
versionMetadata.isIncomplete() ) ) );
             if ( versionMetadata.getUrl() != null )
             {
                 mutator = mutator.addInsertion( key, //
@@ -877,7 +880,7 @@ public class CassandraMetadataRepository
                                                 column( "url", 
versionMetadata.getUrl() ) );
             }
 
-            mutator.execute();
+            MutationResult mutationResult = mutator.execute();
         }
         else
         {
@@ -975,6 +978,113 @@ public class CassandraMetadataRepository
 
 
     @Override
+    public ProjectVersionMetadata getProjectVersion( final String repoId, 
final String namespace,
+                                                     final String projectId, 
final String projectVersion )
+        throws MetadataResolutionException
+    {
+        String key = new 
ProjectVersionMetadataModel.KeyBuilder().withRepository( repoId ).withNamespace(
+            namespace ).withProjectId( projectId ).withId( projectVersion 
).build();
+
+        ColumnFamilyResult<String, String> columnFamilyResult =
+            this.projectVersionMetadataModelTemplate.queryColumns( key, 
Arrays.asList( "id", "description", "name",
+                                                                               
        "namespaceId", "repositoryName",
+                                                                               
        "incomplete", "projectId",
+                                                                               
        "url" ) );
+        if ( !columnFamilyResult.hasResults() )
+        {
+            return null;
+        }
+
+        ProjectVersionMetadata projectVersionMetadata = new 
ProjectVersionMetadata();
+        projectVersionMetadata.setId( columnFamilyResult.getString( "id" ) );
+        projectVersionMetadata.setDescription( columnFamilyResult.getString( 
"description" ) );
+        projectVersionMetadata.setName( columnFamilyResult.getString( "name" ) 
);
+
+        projectVersionMetadata.setIncomplete( Boolean.parseBoolean( 
columnFamilyResult.getString( "incomplete" ) ) );
+
+        projectVersionMetadata.setUrl( columnFamilyResult.getString( "url" ) );
+
+        /*
+
+        ProjectVersionMetadataModel projectVersionMetadataModel =
+            getProjectVersionMetadataModelEntityManager().get( key );
+
+        if ( projectVersionMetadataModel == null )
+        {
+            logger.debug(
+                "getProjectVersion repoId: '{}', namespace: '{}', projectId: 
'{}', projectVersion: {} -> not found",
+                repoId, namespace, projectId, projectVersion );
+            return null;
+        }
+
+        ProjectVersionMetadata projectVersionMetadata =
+            getModelMapper().map( projectVersionMetadataModel, 
ProjectVersionMetadata.class );
+
+        logger.debug( "getProjectVersion repoId: '{}', namespace: '{}', 
projectId: '{}', projectVersion: {} -> {}",
+                      repoId, namespace, projectId, projectVersion, 
projectVersionMetadata );
+
+        projectVersionMetadata.setCiManagement( 
projectVersionMetadataModel.getCiManagement() );
+        projectVersionMetadata.setIssueManagement( 
projectVersionMetadataModel.getIssueManagement() );
+        projectVersionMetadata.setOrganization( 
projectVersionMetadataModel.getOrganization() );
+        projectVersionMetadata.setScm( projectVersionMetadataModel.getScm() );
+
+        // FIXME complete collections !!
+
+        // facets
+        final List<MetadataFacetModel> metadataFacetModels = new 
ArrayList<MetadataFacetModel>();
+        // FIXME use cql query
+        getMetadataFacetModelEntityManager().visitAll( new 
Function<MetadataFacetModel, Boolean>()
+        {
+            @Override
+            public Boolean apply( MetadataFacetModel metadataFacetModel )
+            {
+                if ( metadataFacetModel != null )
+                {
+                    if ( StringUtils.equals( repoId, 
metadataFacetModel.getArtifactMetadataModel().getRepositoryId() )
+                        && StringUtils.equals( namespace, 
metadataFacetModel.getArtifactMetadataModel().getNamespace() )
+                        && StringUtils.equals( projectId, 
metadataFacetModel.getArtifactMetadataModel().getProject() )
+                        && StringUtils.equals( projectVersion,
+                                               
metadataFacetModel.getArtifactMetadataModel().getProjectVersion() ) )
+                    {
+                        metadataFacetModels.add( metadataFacetModel );
+                    }
+                }
+                return Boolean.TRUE;
+            }
+        } );
+        Map<String, Map<String, String>> metadataFacetsPerFacetIds = new 
HashMap<String, Map<String, String>>();
+        for ( MetadataFacetModel metadataFacetModel : metadataFacetModels )
+        {
+
+            Map<String, String> metaValues = metadataFacetsPerFacetIds.get( 
metadataFacetModel.getFacetId() );
+            if ( metaValues == null )
+            {
+                metaValues = new HashMap<String, String>();
+                metadataFacetsPerFacetIds.put( 
metadataFacetModel.getFacetId(), metaValues );
+            }
+            metaValues.put( metadataFacetModel.getKey(), 
metadataFacetModel.getValue() );
+
+        }
+
+        if ( !metadataFacetsPerFacetIds.isEmpty() )
+        {
+            for ( Map.Entry<String, Map<String, String>> entry : 
metadataFacetsPerFacetIds.entrySet() )
+            {
+                MetadataFacetFactory metadataFacetFactory = 
metadataFacetFactories.get( entry.getKey() );
+                if ( metadataFacetFactory != null )
+                {
+                    MetadataFacet metadataFacet = 
metadataFacetFactory.createMetadataFacet( repoId, entry.getKey() );
+                    metadataFacet.fromProperties( entry.getValue() );
+                    projectVersionMetadata.addFacet( metadataFacet );
+                }
+            }
+        }
+        */
+        return projectVersionMetadata;
+    }
+
+
+    @Override
     public void updateArtifact( String repositoryId, String namespaceId, 
String projectId, String projectVersion,
                                 ArtifactMetadata artifactMeta )
         throws MetadataRepositoryException
@@ -1805,135 +1915,6 @@ public class CassandraMetadataRepository
 
 
     @Override
-    public ProjectVersionMetadata getProjectVersion( final String repoId, 
final String namespace,
-                                                     final String projectId, 
final String projectVersion )
-        throws MetadataResolutionException
-    {
-        String key = new 
ProjectVersionMetadataModel.KeyBuilder().withRepository( repoId ).withNamespace(
-            namespace ).withProjectId( projectId ).withId( projectVersion 
).build();
-
-        StringSerializer ss = StringSerializer.get();
-
-        QueryResult<OrderedRows<String, String, String>> result =
-            HFactory.createRangeSlicesQuery( 
cassandraArchivaManager.getKeyspace(), ss, ss, ss ) //
-                .setColumnFamily( 
cassandraArchivaManager.getProjectVersionMetadataModelFamilyName() ) //
-                .setColumnNames( "id", "description", "name", "namespaceId", 
"repositoryName", "incomplete",
-                                 "projectId", "url" ) //
-                .addEqualsExpression( "repositoryName", repoId ) //
-                .addEqualsExpression( "namespaceId", namespace ) //
-                .addEqualsExpression( "projectId", projectId ) //
-                .addEqualsExpression( "id", projectVersion ) //
-                .execute();
-        /*
-        ColumnFamilyResult<String, String> columnFamilyResult =
-            this.projectVersionMetadataModelTemplate.queryColumns( key, 
Arrays.asList( "id", "description", "name",
-                                                                               
        "namespaceId", "repositoryName",
-                                                                               
        "incomplete", "projectId",
-                                                                               
        "url" ) );
-        if (!columnFamilyResult.hasResults())
-        {
-            return null;
-        }*/
-
-        if (result.get().getCount() < 1)
-        {
-            return null;
-        }
-
-        Row<String,String,String> row = result.get().getList().get( 0 );
-
-        ColumnSlice<String,String> columnSlice = row.getColumnSlice();
-
-        ProjectVersionMetadata projectVersionMetadata = new 
ProjectVersionMetadata();
-        projectVersionMetadata.setId( columnSlice.getColumnByName( "id" 
).getValue() );
-        projectVersionMetadata.setDescription( columnSlice.getColumnByName( 
"description" ).getValue() );
-        projectVersionMetadata.setName( columnSlice.getColumnByName( "name" 
).getValue() );
-
-        projectVersionMetadata.setIncomplete( Boolean.parseBoolean( 
columnSlice.getColumnByName( "incomplete" ).getValue() ) );
-
-        projectVersionMetadata.setUrl( columnSlice.getColumnByName( "url" 
).getValue() );
-
-        /*
-
-        ProjectVersionMetadataModel projectVersionMetadataModel =
-            getProjectVersionMetadataModelEntityManager().get( key );
-
-        if ( projectVersionMetadataModel == null )
-        {
-            logger.debug(
-                "getProjectVersion repoId: '{}', namespace: '{}', projectId: 
'{}', projectVersion: {} -> not found",
-                repoId, namespace, projectId, projectVersion );
-            return null;
-        }
-
-        ProjectVersionMetadata projectVersionMetadata =
-            getModelMapper().map( projectVersionMetadataModel, 
ProjectVersionMetadata.class );
-
-        logger.debug( "getProjectVersion repoId: '{}', namespace: '{}', 
projectId: '{}', projectVersion: {} -> {}",
-                      repoId, namespace, projectId, projectVersion, 
projectVersionMetadata );
-
-        projectVersionMetadata.setCiManagement( 
projectVersionMetadataModel.getCiManagement() );
-        projectVersionMetadata.setIssueManagement( 
projectVersionMetadataModel.getIssueManagement() );
-        projectVersionMetadata.setOrganization( 
projectVersionMetadataModel.getOrganization() );
-        projectVersionMetadata.setScm( projectVersionMetadataModel.getScm() );
-
-        // FIXME complete collections !!
-
-        // facets
-        final List<MetadataFacetModel> metadataFacetModels = new 
ArrayList<MetadataFacetModel>();
-        // FIXME use cql query
-        getMetadataFacetModelEntityManager().visitAll( new 
Function<MetadataFacetModel, Boolean>()
-        {
-            @Override
-            public Boolean apply( MetadataFacetModel metadataFacetModel )
-            {
-                if ( metadataFacetModel != null )
-                {
-                    if ( StringUtils.equals( repoId, 
metadataFacetModel.getArtifactMetadataModel().getRepositoryId() )
-                        && StringUtils.equals( namespace, 
metadataFacetModel.getArtifactMetadataModel().getNamespace() )
-                        && StringUtils.equals( projectId, 
metadataFacetModel.getArtifactMetadataModel().getProject() )
-                        && StringUtils.equals( projectVersion,
-                                               
metadataFacetModel.getArtifactMetadataModel().getProjectVersion() ) )
-                    {
-                        metadataFacetModels.add( metadataFacetModel );
-                    }
-                }
-                return Boolean.TRUE;
-            }
-        } );
-        Map<String, Map<String, String>> metadataFacetsPerFacetIds = new 
HashMap<String, Map<String, String>>();
-        for ( MetadataFacetModel metadataFacetModel : metadataFacetModels )
-        {
-
-            Map<String, String> metaValues = metadataFacetsPerFacetIds.get( 
metadataFacetModel.getFacetId() );
-            if ( metaValues == null )
-            {
-                metaValues = new HashMap<String, String>();
-                metadataFacetsPerFacetIds.put( 
metadataFacetModel.getFacetId(), metaValues );
-            }
-            metaValues.put( metadataFacetModel.getKey(), 
metadataFacetModel.getValue() );
-
-        }
-
-        if ( !metadataFacetsPerFacetIds.isEmpty() )
-        {
-            for ( Map.Entry<String, Map<String, String>> entry : 
metadataFacetsPerFacetIds.entrySet() )
-            {
-                MetadataFacetFactory metadataFacetFactory = 
metadataFacetFactories.get( entry.getKey() );
-                if ( metadataFacetFactory != null )
-                {
-                    MetadataFacet metadataFacet = 
metadataFacetFactory.createMetadataFacet( repoId, entry.getKey() );
-                    metadataFacet.fromProperties( entry.getValue() );
-                    projectVersionMetadata.addFacet( metadataFacet );
-                }
-            }
-        }
-        */
-        return projectVersionMetadata;
-    }
-
-
-    @Override
     public Collection<ProjectVersionReference> getProjectReferences( String 
repoId, String namespace, String projectId,
                                                                      String 
projectVersion )
         throws MetadataResolutionException


Reply via email to