Author: olamy
Date: Thu Mar 20 23:24:06 2014
New Revision: 1579830
URL: http://svn.apache.org/r1579830
Log:
ProjectVersionMetadataModel to use Hector
Modified:
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java
Modified:
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java?rev=1579830&r1=1579829&r2=1579830&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java
(original)
+++
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java
Thu Mar 20 23:24:06 2014
@@ -48,4 +48,6 @@ public interface CassandraArchivaManager
String getArtifactMetadataModelFamilyName();
+ String getMetadataFacetModelFamilyName();
+
}
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=1579830&r1=1579829&r2=1579830&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
Thu Mar 20 23:24:06 2014
@@ -57,11 +57,14 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import static
org.apache.archiva.metadata.repository.cassandra.CassandraUtils.column;
+
/**
* @author Olivier Lamy
* @since 2.0.0
@@ -80,6 +83,10 @@ public class CassandraMetadataRepository
private final ColumnFamilyTemplate<String, String>
projectVersionMetadataModelTemplate;
+ private final ColumnFamilyTemplate<String, String> projectTemplate;
+
+ private final ColumnFamilyTemplate<String, String>
artifactMetadataTemplate;
+
public CassandraMetadataRepository( Map<String, MetadataFacetFactory>
metadataFacetFactories,
ArchivaConfiguration configuration,
CassandraArchivaManager
cassandraArchivaManager )
@@ -93,6 +100,19 @@ public class CassandraMetadataRepository
cassandraArchivaManager.getProjectVersionMetadataModelFamilyName(),
StringSerializer.get(), //
StringSerializer.get() );
+
+ this.projectTemplate = new ThriftColumnFamilyTemplate<String, String>(
cassandraArchivaManager.getKeyspace(), //
+
cassandraArchivaManager.getProjectFamilyName(),
+
//
+
StringSerializer.get(), //
+
StringSerializer.get() );
+
+ this.artifactMetadataTemplate =
+ new ThriftColumnFamilyTemplate<String, String>(
cassandraArchivaManager.getKeyspace(), //
+
cassandraArchivaManager.getArtifactMetadataModelFamilyName(),
+ //
+
StringSerializer.get(), //
+
StringSerializer.get() );
}
@@ -524,29 +544,32 @@ public class CassandraMetadataRepository
.addEqualsExpression( "projectId", projectMetadata.getId() ) //
.execute();
- // project exists ? if yes return
+ Namespace namespace = updateOrAddNamespace( repositoryId,
projectMetadata.getNamespace() );
+
+ // project exists ? if yes return nothing to update here
if ( result.get().getCount() > 0 )
{
return;
}
+ else
+ {
- Namespace namespace = updateOrAddNamespace( repositoryId,
projectMetadata.getNamespace() );
-
- String key =
- new Project.KeyBuilder().withProjectId( projectMetadata.getId()
).withNamespace( namespace ).build();
+ String key =
+ new Project.KeyBuilder().withProjectId(
projectMetadata.getId() ).withNamespace( namespace ).build();
- HFactory.createMutator( keyspace, StringSerializer.get() )
- // values
- .addInsertion( key, //
- cassandraArchivaManager.getProjectFamilyName(), //
- CassandraUtils.column( "projectId",
projectMetadata.getId() ) ) //
- .addInsertion( key, //
- cassandraArchivaManager.getProjectFamilyName(), //
- CassandraUtils.column( "repositoryName",
repositoryId ) ) //
- .addInsertion( key, //
- cassandraArchivaManager.getProjectFamilyName(), //
- CassandraUtils.column( "namespaceId",
projectMetadata.getNamespace() ) )//
- .execute();
+ projectTemplate.createMutator()
+ // values
+ .addInsertion( key, //
+ cassandraArchivaManager.getProjectFamilyName(),
//
+ CassandraUtils.column( "projectId",
projectMetadata.getId() ) ) //
+ .addInsertion( key, //
+ cassandraArchivaManager.getProjectFamilyName(),
//
+ CassandraUtils.column( "repositoryName",
repositoryId ) ) //
+ .addInsertion( key, //
+ cassandraArchivaManager.getProjectFamilyName(),
//
+ CassandraUtils.column( "namespaceId",
projectMetadata.getNamespace() ) )//
+ .execute();
+ }
}
@Override
@@ -729,44 +752,6 @@ public class CassandraMetadataRepository
projectMetadata );
return projectMetadata;
-
-
-/* //basically just checking it exists
- // FIXME use cql query
-
- final BooleanHolder booleanHolder = new BooleanHolder();
-
- getProjectEntityManager().visitAll( new Function<Project, Boolean>()
- {
- @Override
- public Boolean apply( Project project )
- {
- if ( project != null )
- {
- if ( StringUtils.equals( repoId,
project.getNamespace().getRepository().getName() )
- && StringUtils.equals( namespace,
project.getNamespace().getName() ) && StringUtils.equals( id,
-
project.getProjectId() ) )
- {
- booleanHolder.value = true;
- }
- }
- return Boolean.TRUE;
- }
- } );
-
- if ( !booleanHolder.value )
- {
- return null;
- }
-
- ProjectMetadata projectMetadata = new ProjectMetadata();
- projectMetadata.setId( id );
- projectMetadata.setNamespace( namespace );
-
- logger.debug( "getProject repoId: {}, namespace: {}, projectId: {} ->
{}", repoId, namespace, id,
- projectMetadata );
-
- return projectMetadata;*/
}
protected ProjectVersionMetadataModel map( ColumnSlice<String, String>
columnSlice )
@@ -880,8 +865,8 @@ public class CassandraMetadataRepository
CassandraUtils.column( "name",
versionMetadata.getName() ) ) //
.addInsertion( key, //
cf, //
- CassandraUtils.column( "incomplete",
- Boolean.toString(
versionMetadata.isIncomplete() ) ) ) //
+ CassandraUtils.column( "incomplete",
Boolean.toString( versionMetadata.isIncomplete() ) )
+ ) //
.addInsertion( key, //
cf, //
CassandraUtils.column( "url",
versionMetadata.getUrl() ) ) //
@@ -902,8 +887,20 @@ public class CassandraMetadataRepository
projectVersionMetadataModelTemplate.update( updater );
}
+
+ ArtifactMetadataModel artifactMetadataModel = new
ArtifactMetadataModel();
// FIXME
- //updateFacets( versionMetadata, artifactMetadataModel );
+ /*artifactMetadataModel.setArtifactMetadataModelId(
+ new ArtifactMetadataModel.KeyBuilder().withId(
versionMetadata.getId() ).withRepositoryId(
+ repositoryId ).withNamespace( namespaceId ).withProjectVersion(
+ versionMetadata.getVersion() ).withProject( projectId ).build()
+ );*/
+ artifactMetadataModel.setRepositoryId( repositoryId );
+ artifactMetadataModel.setNamespace( namespaceId );
+ artifactMetadataModel.setProject( projectId );
+ artifactMetadataModel.setProjectVersion( versionMetadata.getVersion()
);
+ artifactMetadataModel.setVersion( versionMetadata.getVersion() );
+ updateFacets( versionMetadata, artifactMetadataModel );
/* String namespaceKey =
new Namespace.KeyBuilder().withRepositoryId( repositoryId
).withNamespace( namespaceId ).build();
@@ -975,6 +972,116 @@ public class CassandraMetadataRepository
ArtifactMetadata artifactMeta )
throws MetadataRepositoryException
{
+
+ Namespace namespace = getNamespace( repositoryId, namespaceId );
+ if ( namespace == null )
+ {
+ updateOrAddNamespace( repositoryId, namespaceId );
+ }
+
+ ProjectMetadata projectMetadata = new ProjectMetadata();
+ projectMetadata.setId( projectId );
+ projectMetadata.setNamespace( namespaceId );
+ updateProject( repositoryId, projectMetadata );
+
+ String key = new ArtifactMetadataModel.KeyBuilder().withNamespace(
namespace ).withProject( projectId ).withId(
+ artifactMeta.getId() ).withProjectVersion( projectVersion
).build();
+
+ // exists?
+
+ boolean exists = this.artifactMetadataTemplate.isColumnsExist( key );
+
+ if ( exists )
+ {
+ // updater
+ ColumnFamilyUpdater<String, String> updater =
this.artifactMetadataTemplate.createUpdater( key );
+ updater.setLong( "fileLastModified",
artifactMeta.getFileLastModified().getTime() );
+ updater.setLong( "whenGathered",
artifactMeta.getWhenGathered().getTime() );
+ updater.setLong( "size", artifactMeta.getSize() );
+ updater.setString( "md5", artifactMeta.getMd5() );
+ updater.setString( "sha1", artifactMeta.getSha1() );
+ updater.setString( "version", artifactMeta.getVersion() );
+ this.artifactMetadataTemplate.update( updater );
+ }
+ else
+ {
+ String cf =
this.cassandraArchivaManager.getArtifactMetadataModelFamilyName();
+ // create
+ this.artifactMetadataTemplate.createMutator().addInsertion( key, //
+ cf, //
+
column( "id", artifactMeta.getId() ) )//
+ .addInsertion( key, //
+ cf, //
+ column( "repositoryName", repositoryId ) ) //
+ .addInsertion( key, //
+ cf, //
+ column( "namespaceId", namespaceId )
).addInsertion( key, //
+
cf, //
+
column( "project",
+
artifactMeta.getProject() ) ) //
+ .addInsertion( key, //
+ cf, //
+ column( "projectVersion",
artifactMeta.getProjectVersion() ) ) //
+ .addInsertion( key, //
+ cf, //
+ column( "version", artifactMeta.getVersion() )
) //
+ .addInsertion( key, //
+ cf, //
+ column( "fileLastModified",
artifactMeta.getFileLastModified().getTime() ) ) //
+ .addInsertion( key, //
+ cf, //
+ column( "size", artifactMeta.getSize() ) ) //
+ .addInsertion( key, //
+ cf, //
+ column( "md5", artifactMeta.getMd5() ) ) //
+ .addInsertion( key, //
+ cf, //
+ column( "sha1", artifactMeta.getSha1() ) ) //
+ .addInsertion( key, //
+ cf, //
+ column( "whenGathered",
artifactMeta.getWhenGathered().getTime() ) )//
+ .execute();
+ }
+
+ key = new ProjectVersionMetadataModel.KeyBuilder().withRepository(
repositoryId ).withNamespace(
+ namespace ).withProjectId( projectId ).withId( projectVersion
).build();
+
+ exists = this.projectVersionMetadataModelTemplate.isColumnsExist( key
);
+
+ if ( !exists )
+ {
+ ProjectVersionMetadataModel projectVersionMetadataModel = new
ProjectVersionMetadataModel();
+ projectVersionMetadataModel.setProjectId( projectId );
+ projectVersionMetadataModel.setId( projectVersion );
+ projectVersionMetadataModel.setNamespace( namespace );
+
+ String cf =
this.cassandraArchivaManager.getProjectVersionMetadataModelFamilyName();
+
+ projectVersionMetadataModelTemplate.createMutator() //
+ .addInsertion( key, cf, column( "namespaceId",
namespace.getName() ) ) //
+ .addInsertion( key, cf, column( "repositoryName", repositoryId
) ) //
+ .addInsertion( key, cf, column( "id", artifactMeta.getId() ) )
//
+ .addInsertion( key, cf, column( "projectId", projectId ) ) //
+ .execute();
+
+ }
+
+ ArtifactMetadataModel artifactMetadataModel = new
ArtifactMetadataModel();
+ // FIXME
+ /*artifactMetadataModel.setArtifactMetadataModelId(
+ new ArtifactMetadataModel.KeyBuilder().withId(
versionMetadata.getId() ).withRepositoryId(
+ repositoryId ).withNamespace( namespaceId ).withProjectVersion(
+ versionMetadata.getVersion() ).withProject( projectId ).build()
+ );*/
+ artifactMetadataModel.setRepositoryId( repositoryId );
+ artifactMetadataModel.setNamespace( namespaceId );
+ artifactMetadataModel.setProject( projectId );
+ artifactMetadataModel.setProjectVersion( artifactMeta.getVersion() );
+ artifactMetadataModel.setVersion( artifactMeta.getVersion() );
+ // now facets
+ updateFacets( artifactMeta, artifactMetadataModel );
+
+
/* String namespaceKey =
new Namespace.KeyBuilder().withRepositoryId( repositoryId
).withNamespace( namespaceId ).build();
// create the namespace if not exists
@@ -1062,6 +1169,29 @@ public class CassandraMetadataRepository
final String projectVersion
)
throws MetadataResolutionException
{
+ Keyspace keyspace = cassandraArchivaManager.getKeyspace();
+
+ QueryResult<OrderedRows<String, String, String>> result = HFactory //
+ .createRangeSlicesQuery( keyspace, //
+ StringSerializer.get(), //
+ StringSerializer.get(), //
+ StringSerializer.get() ) //
+ .setColumnFamily(
cassandraArchivaManager.getArtifactMetadataModelFamilyName() ) //
+ .setColumnNames( "version" ) //
+ .addEqualsExpression( "repositoryName", repoId ) //
+ .addEqualsExpression( "namespaceId", namespace ) //
+ .addEqualsExpression( "projectId", projectId ) //
+ .addEqualsExpression( "projectVersion", projectVersion ).execute();
+
+ final Set<String> versions = new HashSet<String>();
+
+ for ( Row<String, String, String> row : result.get() )
+ {
+ versions.add( row.getColumnSlice().getColumnByName( "version"
).getValue() );
+ }
+
+ return versions;
+
/* final Set<String> versions = new HashSet<String>();
// FIXME use cql query
getArtifactMetadataModelEntityManager().visitAll( new
Function<ArtifactMetadataModel, Boolean>()
@@ -1084,7 +1214,7 @@ public class CassandraMetadataRepository
} );
return versions;*/
- return null;
+
}
/**
@@ -1151,29 +1281,27 @@ public class CassandraMetadataRepository
public List<String> getMetadataFacets( final String repositoryId, final
String facetId )
throws MetadataRepositoryException
{
-/* // FIXME use cql query !!
- final List<String> facets = new ArrayList<String>();
- this.getMetadataFacetModelEntityManager().visitAll( new
Function<MetadataFacetModel, Boolean>()
- {
- @Override
- public Boolean apply( MetadataFacetModel metadataFacetModel )
- {
- if ( metadataFacetModel != null )
- {
- if ( StringUtils.equals(
metadataFacetModel.getArtifactMetadataModel().getRepositoryId(),
- repositoryId ) &&
StringUtils.equals( metadataFacetModel.getFacetId(),
-
facetId ) )
- {
- facets.add( metadataFacetModel.getName() );
- }
- }
- return Boolean.TRUE;
- }
- } );
- return facets;*/
- return null;
+ Keyspace keyspace = cassandraArchivaManager.getKeyspace();
+
+ QueryResult<OrderedRows<String, String, String>> result = HFactory //
+ .createRangeSlicesQuery( keyspace, //
+ StringSerializer.get(), //
+ StringSerializer.get(), //
+ StringSerializer.get() ) //
+ .setColumnFamily(
cassandraArchivaManager.getMetadataFacetModelFamilyName() ) //
+ .setColumnNames( "name" ) //
+ .addEqualsExpression( "repositoryName", repositoryId ) //
+ .addEqualsExpression( "facetId", facetId ) //
+ .execute();
+
+ final List<String> facets = new ArrayList<String>();
+ for ( Row<String, String, String> row : result.get() )
+ {
+ facets.add( row.getColumnSlice().getColumnByName( "name"
).getValue() );
+ }
+ return facets;
}
@Override
@@ -1187,7 +1315,40 @@ public class CassandraMetadataRepository
public MetadataFacet getMetadataFacet( final String repositoryId, final
String facetId, final String name )
throws MetadataRepositoryException
{
-/* // FIXME use cql query !!
+
+ MetadataFacetFactory metadataFacetFactory =
metadataFacetFactories.get( facetId );
+ if ( metadataFacetFactory == null )
+ {
+ return null;
+ }
+
+ Keyspace keyspace = cassandraArchivaManager.getKeyspace();
+
+ QueryResult<OrderedRows<String, String, String>> result = HFactory //
+ .createRangeSlicesQuery( keyspace, //
+ StringSerializer.get(), //
+ StringSerializer.get(), //
+ StringSerializer.get() ) //
+ .setColumnFamily(
cassandraArchivaManager.getMetadataFacetModelFamilyName() ) //
+ .setColumnNames( "key", "value" ) //
+ .addEqualsExpression( "repositoryName", repositoryId ) //
+ .addEqualsExpression( "facetId", facetId ) //
+ .addEqualsExpression( "name", name ) //
+ .execute();
+
+ MetadataFacet metadataFacet =
metadataFacetFactory.createMetadataFacet( repositoryId, name );
+ Map<String, String> map = new HashMap<String, String>(
result.get().getCount() );
+ for ( Row<String, String, String> row : result.get() )
+ {
+ ColumnSlice<String, String> columnSlice = row.getColumnSlice();
+ map.put( columnSlice.getColumnByName( "key" ).getValue(),
+ columnSlice.getColumnByName( "value" ).getValue() );
+ }
+ metadataFacet.fromProperties( map );
+ return metadataFacet;
+
+
+/*
final List<MetadataFacetModel> facets = new
ArrayList<MetadataFacetModel>();
this.getMetadataFacetModelEntityManager().visitAll( new
Function<MetadataFacetModel, Boolean>()
{
@@ -1226,7 +1387,6 @@ public class CassandraMetadataRepository
}
metadataFacet.fromProperties( map );
return metadataFacet;*/
- return null;
}
@Override
Modified:
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java?rev=1579830&r1=1579829&r2=1579830&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java
(original)
+++
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java
Thu Mar 20 23:24:06 2014
@@ -79,6 +79,8 @@ public class DefaultCassandraArchivaMana
private String artifactMetadataModelFamilyName = "artifactmetadatamodel";
+ private String metadataFacetModelFamilyName = "metadatafacetmodel";
+
@PostConstruct
public void initialize()
@@ -281,6 +283,48 @@ public class DefaultCassandraArchivaMana
}
+ // metadatafacetmodel table
+ {
+ final ColumnFamilyDefinition metadataFacetModel =
+ HFactory.createColumnFamilyDefinition(
keyspace.getKeyspaceName(), //
+
getMetadataFacetModelFamilyName(), //
+ ComparatorType.UTF8TYPE
);
+ cfds.add( metadataFacetModel );
+
+ // creating indexes for cql query
+
+ BasicColumnDefinition artifactMetadataModelColumn = new
BasicColumnDefinition();
+ artifactMetadataModelColumn.setName(
StringSerializer.get().toByteBuffer( "artifactMetadataModel" ) );
+ artifactMetadataModelColumn.setIndexName( "artifactMetadataModel"
);
+ artifactMetadataModelColumn.setIndexType( ColumnIndexType.KEYS );
+ artifactMetadataModelColumn.setValidationClass(
ComparatorType.UTF8TYPE.getClassName() );
+ metadataFacetModel.addColumnDefinition(
artifactMetadataModelColumn );
+
+ BasicColumnDefinition facetIdColumn = new BasicColumnDefinition();
+ facetIdColumn.setName( StringSerializer.get().toByteBuffer(
"facetId" ) );
+ facetIdColumn.setIndexName( "facetId" );
+ facetIdColumn.setIndexType( ColumnIndexType.KEYS );
+ facetIdColumn.setValidationClass(
ComparatorType.UTF8TYPE.getClassName() );
+ metadataFacetModel.addColumnDefinition( facetIdColumn );
+
+ BasicColumnDefinition repositoryNameColumn = new
BasicColumnDefinition();
+ repositoryNameColumn.setName( StringSerializer.get().toByteBuffer(
"repositoryName" ) );
+ repositoryNameColumn.setIndexName( "repositoryName" );
+ repositoryNameColumn.setIndexType( ColumnIndexType.KEYS );
+ repositoryNameColumn.setValidationClass(
ComparatorType.UTF8TYPE.getClassName() );
+ metadataFacetModel.addColumnDefinition( repositoryNameColumn );
+
+ BasicColumnDefinition nameColumn = new BasicColumnDefinition();
+ nameColumn.setName( StringSerializer.get().toByteBuffer( "name" )
);
+ nameColumn.setIndexName( "name" );
+ nameColumn.setIndexType( ColumnIndexType.KEYS );
+ nameColumn.setValidationClass(
ComparatorType.UTF8TYPE.getClassName() );
+ metadataFacetModel.addColumnDefinition( nameColumn );
+
+ }
+
+
+ // TODO take care of update new table!!
{ // ensure keyspace exists, here if the keyspace doesn't exist we
suppose nothing exist
if ( cluster.describeKeyspace( keyspaceName ) == null )
{
@@ -347,4 +391,9 @@ public class DefaultCassandraArchivaMana
{
return artifactMetadataModelFamilyName;
}
+
+ public String getMetadataFacetModelFamilyName()
+ {
+ return metadataFacetModelFamilyName;
+ }
}
Modified:
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java?rev=1579830&r1=1579829&r2=1579830&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java
(original)
+++
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java
Thu Mar 20 23:24:06 2014
@@ -22,7 +22,6 @@ package org.apache.archiva.metadata.repo
import org.apache.archiva.metadata.repository.cassandra.CassandraUtils;
import javax.persistence.Column;
-import javax.persistence.Id;
/**
* Cassandra storage model for {@link
org.apache.archiva.metadata.model.MetadataFacet}
@@ -33,9 +32,6 @@ import javax.persistence.Id;
public class MetadataFacetModel
{
// id is repositoryId + namespaceId + projectId + facetId + name + mapKey
- @Id
- @Column(name = "id")
- private String id;
@Column(name = "artifactMetadataModel")
private ArtifactMetadataModel artifactMetadataModel;
@@ -57,10 +53,9 @@ public class MetadataFacetModel
// no op
}
- public MetadataFacetModel( String id, ArtifactMetadataModel
artifactMetadataModel, String facetId, String key,
- String value, String name )
+ public MetadataFacetModel( ArtifactMetadataModel artifactMetadataModel,
String facetId, String key, String value,
+ String name )
{
- this.id = id;
this.artifactMetadataModel = artifactMetadataModel;
this.key = key;
this.value = value;
@@ -78,16 +73,6 @@ public class MetadataFacetModel
this.facetId = facetId;
}
- public String getId()
- {
- return id;
- }
-
- public void setId( String id )
- {
- this.id = id;
- }
-
public ArtifactMetadataModel getArtifactMetadataModel()
{
return artifactMetadataModel;
@@ -128,39 +113,11 @@ public class MetadataFacetModel
this.value = value;
}
- @Override
- public boolean equals( Object o )
- {
- if ( this == o )
- {
- return true;
- }
- if ( o == null || getClass() != o.getClass() )
- {
- return false;
- }
-
- MetadataFacetModel that = (MetadataFacetModel) o;
-
- if ( !id.equals( that.id ) )
- {
- return false;
- }
-
- return true;
- }
-
- @Override
- public int hashCode()
- {
- return id.hashCode();
- }
@Override
public String toString()
{
final StringBuilder sb = new StringBuilder( "MetadataFacetModel{" );
- sb.append( "id='" ).append( id ).append( '\'' );
sb.append( ", artifactMetadataModel=" ).append( artifactMetadataModel
);
sb.append( ", key='" ).append( key ).append( '\'' );
sb.append( ", value='" ).append( value ).append( '\'' );
@@ -223,11 +180,20 @@ public class MetadataFacetModel
// only repositoryId with artifactMetadataModel
String str = CassandraUtils.generateKey(
this.artifactMetadataModel == null
? this.repositoryId
- :
this.artifactMetadataModel.getArtifactMetadataModelId(),
- this.facetId, this.name,
this.key
+ : new
ArtifactMetadataModel.KeyBuilder().withNamespace(
+
this.artifactMetadataModel.getNamespace() ) //
+ .withProject(
this.artifactMetadataModel.getProject() ) //
+
.withProjectVersion(
+
this.artifactMetadataModel.getProjectVersion() ) //
+ .withRepositoryId(
+
this.artifactMetadataModel.getRepositoryId() ) //
+ .withId(
this.artifactMetadataModel.getId() ) //
+ .build(), //
+ this.facetId, //
+ this.name, //
+ this.key
);
- //return Long.toString( str.hashCode() );
return str;
}
}
Modified:
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java?rev=1579830&r1=1579829&r2=1579830&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java
(original)
+++
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java
Thu Mar 20 23:24:06 2014
@@ -40,7 +40,7 @@ public class ProjectVersionMetadataModel
{
- @Column(name = "namespace")
+ @Column(name = "namespaceId") // repositoryName
private Namespace namespace;
/**