Author: olamy
Date: Fri Jun 7 13:43:50 2013
New Revision: 1490647
URL: http://svn.apache.org/r1490647
Log:
fix metadatfacet with getProjectVersion
Modified:
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.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=1490647&r1=1490646&r2=1490647&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
Fri Jun 7 13:43:50 2013
@@ -978,6 +978,8 @@ public class CassandraMetadataRepository
artifactMetadataModel.setRepositoryId( repositoryId );
artifactMetadataModel.setNamespace( namespaceId );
artifactMetadataModel.setProject( projectId );
+ artifactMetadataModel.setProjectVersion(
versionMetadata.getVersion() );
+ artifactMetadataModel.setVersion( versionMetadata.getVersion() );
// facets etc...
updateFacets( versionMetadata, artifactMetadataModel );
}
@@ -1509,8 +1511,8 @@ public class CassandraMetadataRepository
}
@Override
- public ProjectVersionMetadata getProjectVersion( String repoId, String
namespace, String projectId,
- String projectVersion )
+ 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(
@@ -1539,6 +1541,56 @@ public class CassandraMetadataRepository
// FIXME complete collections !!
+ // facets
+ final List<MetadataFacetModel> metadataFacetModels = new
ArrayList<MetadataFacetModel>();
+ // FIXME use cql query
+ metadataFacetModelEntityManager.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;
}