Author: olamy
Date: Fri Sep 6 03:14:09 2013
New Revision: 1520481
URL: http://svn.apache.org/r1520481
Log:
some fixes for cassandra
Modified:
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml
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/model/ArtifactMetadataModel.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/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml?rev=1520481&r1=1520480&r2=1520481&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml
(original)
+++ archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml Fri
Sep 6 03:14:09 2013
@@ -31,6 +31,7 @@
<name>Archiva Core Plugins :: Cassandra JPA Storage for Metadata</name>
<properties>
+ <!-- upgrade need a new astyanax release > 1.56.42 see
https://github.com/Netflix/astyanax/issues/352 -->
<cassandraVersion>1.2.5</cassandraVersion>
<astyanax.version>1.56.42</astyanax.version>
</properties>
@@ -161,6 +162,12 @@
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <version>0.9.1</version>
+ </dependency>
+
<dependency>
<groupId>org.springframework</groupId>
@@ -264,8 +271,6 @@
</execution>
</executions>
</plugin>
- <!-- TODO use dynamic port -->
-
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cassandra-maven-plugin</artifactId>
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=1520481&r1=1520480&r2=1520481&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 Sep 6 03:14:09 2013
@@ -838,7 +838,7 @@ public class CassandraMetadataRepository
artifactMetadataModel.setArtifactMetadataModelId(
new ArtifactMetadataModel.KeyBuilder().withId(
versionMetadata.getId() ).withRepositoryId(
repositoryId ).withNamespace( namespaceId
).withProjectVersion(
- versionMetadata.getVersion() ).build() );
+ versionMetadata.getVersion() ).withProject( projectId
).build() );
artifactMetadataModel.setRepositoryId( repositoryId );
artifactMetadataModel.setNamespace( namespaceId );
artifactMetadataModel.setProject( projectId );
@@ -1295,35 +1295,7 @@ public class CassandraMetadataRepository
}
} );
getArtifactMetadataModelEntityManager().remove( artifactMetadataModels
);
- /*
- getMetadataFacetModelEntityManager().visitAll( new
Function<MetadataFacetModel, Boolean>()
- {
- @Override
- public Boolean apply( MetadataFacetModel metadataFacetModel )
- {
- if ( metadataFacetModel != null )
- {
- ArtifactMetadataModel artifactMetadataModel =
metadataFacetModel.getArtifactMetadataModel();
- if ( artifactMetadataModel != null )
- {
- if ( StringUtils.equals( repositoryId,
artifactMetadataModel.getRepositoryId() )
- && StringUtils.equals( namespace,
artifactMetadataModel.getNamespace() )
- && StringUtils.equals( project,
artifactMetadataModel.getProject() ) && StringUtils.equals(
- version, artifactMetadataModel.getVersion() ) )
- {
- if ( StringUtils.equals(
metadataFacetModel.getFacetId(), metadataFacet.getFacetId() )
- && StringUtils.equals(
metadataFacetModel.getName(), metadataFacet.getName() ) )
- {
- metadataFacetModels.add( metadataFacetModel );
- }
- }
- }
- }
- return Boolean.TRUE;
- }
- } );
- getMetadataFacetModelEntityManager().remove( metadataFacetModels );
- */
+
}
@@ -1521,25 +1493,7 @@ public class CassandraMetadataRepository
return Boolean.TRUE;
}
} );
- /*
- 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() ) )
- {
- projects.add( artifactMetadataModel.getProject() );
- }
- }
- return Boolean.TRUE;
- }
- } );
- */
return projects;
}
Modified:
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ArtifactMetadataModel.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/ArtifactMetadataModel.java?rev=1520481&r1=1520480&r2=1520481&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ArtifactMetadataModel.java
(original)
+++
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ArtifactMetadataModel.java
Fri Sep 6 03:14:09 2013
@@ -323,8 +323,8 @@ public class ArtifactMetadataModel
{
//repositoryId + namespaceId + project + projectVersion + id
// FIXME add some controls
- return this.repositoryId + "-" + this.namespaceId + "-" +
this.project + "-" + this.projectVersion + "-"
- + this.id;
+ long hash = this.repositoryId.hashCode() +
this.namespaceId.hashCode() + this.project.hashCode() +
this.projectVersion.hashCode() + this.id.hashCode();
+ return Long.toString( hash );
}
}
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=1520481&r1=1520480&r2=1520481&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
Fri Sep 6 03:14:09 2013
@@ -33,22 +33,22 @@ public class MetadataFacetModel
{
// id is repositoryId + namespaceId + projectId + facetId + name + mapKey
@Id
- @Column( name = "id" )
+ @Column(name = "id")
private String id;
- @Column( name = "artifactMetadataModel" )
+ @Column(name = "artifactMetadataModel")
private ArtifactMetadataModel artifactMetadataModel;
- @Column( name = "facetId" )
+ @Column(name = "facetId")
private String facetId;
- @Column( name = "name" )
+ @Column(name = "name")
private String name;
- @Column( name = "key" )
+ @Column(name = "key")
private String key;
- @Column( name = "value" )
+ @Column(name = "value")
private String value;
public MetadataFacetModel()
@@ -220,10 +220,16 @@ public class MetadataFacetModel
// FIXME add some controls
// getArtifactMetadataModelId can have no namespace, no project
and no projectid for statistics
// only repositoryId with artifactMetadataModel
- return ( this.artifactMetadataModel == null
- ? this.repositoryId
- : this.artifactMetadataModel.getArtifactMetadataModelId() ) +
"-" + this.facetId + "-" + this.name + "-"
- + this.key;
+ long hash =
+ ( this.artifactMetadataModel == null
+ ? this.repositoryId.hashCode()
+ : Long.parseLong(
this.artifactMetadataModel.getArtifactMetadataModelId() ) )
+ + this.facetId.hashCode()
+ + ( this.name == null ? 0 : this.name.hashCode() )
+ + ( this.key == null ? 0 : this.key.hashCode() );
+
+ String hashStr = Long.toString( hash );
+ return hashStr;
}
}
}
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=1520481&r1=1520480&r2=1520481&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
Fri Sep 6 03:14:09 2013
@@ -43,16 +43,16 @@ public class ProjectVersionMetadataModel
@Id
private String rowId;
- @Column( name = "namespace" )
+ @Column(name = "namespace")
private Namespace namespace;
/**
* id is the version
*/
- @Column( name = "id" )
+ @Column(name = "id")
private String id;
- @Column( name = "projectId" )
+ @Column(name = "projectId")
private String projectId;
@Column(name = "url")
@@ -346,9 +346,11 @@ public class ProjectVersionMetadataModel
public String build()
{
// FIXME add some controls
- return this.repositoryId + "-" + this.namespace + "-" +
this.projectId + ( this.id == null
- ? ""
- : "-" + this.id );
+ long hash =
+ this.repositoryId.hashCode() + this.namespace.hashCode() +
this.projectId.hashCode() + ( this.id == null
+ ? 0
+ : +this.id.hashCode() );
+ return Long.toString( hash );
}
}
}