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 );
         }
     }
 }


Reply via email to