You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/05/12 13:14:05 UTC

svn commit: r1481524 - in /archiva/sandbox/trunk/metadata-store-cassandra: ./ src/main/java/org/apache/archiva/metadata/repository/jpa/ src/main/java/org/apache/archiva/metadata/repository/jpa/model/ src/main/resources/META-INF/ src/test/java/org/apach...

Author: olamy
Date: Sun May 12 11:14:05 2013
New Revision: 1481524

URL: http://svn.apache.org/r1481524
Log:
fix unit for add repository/namespace

Modified:
    archiva/sandbox/trunk/metadata-store-cassandra/pom.xml
    archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java
    archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java
    archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Repository.java
    archiva/sandbox/trunk/metadata-store-cassandra/src/main/resources/META-INF/persistence.xml
    archiva/sandbox/trunk/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/jpa/RepositoriesNamespaceTest.java

Modified: archiva/sandbox/trunk/metadata-store-cassandra/pom.xml
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/pom.xml?rev=1481524&r1=1481523&r2=1481524&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/pom.xml (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/pom.xml Sun May 12 11:14:05 2013
@@ -30,10 +30,6 @@
   <packaging>bundle</packaging>
   <name>Archiva Core Plugins :: JPA Storage for Metadata</name>
 
-  <properties>
-    <log4j.version>2.0-beta6-SNAPSHOT</log4j.version>
-  </properties>
-
   <dependencies>
     <dependency>
       <groupId>commons-lang</groupId>

Modified: archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java?rev=1481524&r1=1481523&r2=1481524&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java Sun May 12 11:14:05 2013
@@ -65,7 +65,7 @@ public class CassandraMetadataRepository
     }
 
     @Override
-    public void updateNamespace( String repositoryId, String namespace )
+    public void updateNamespace( String repositoryId, String namespaceId )
         throws MetadataRepositoryException
     {
         Repository repository = this.entityManager.find( Repository.class, repositoryId );
@@ -73,28 +73,25 @@ public class CassandraMetadataRepository
         if ( repository == null )
         {
             repository = new Repository( repositoryId );
+
+            Namespace namespace = new Namespace( namespaceId );
+            namespace.setRepository( repository );
+            repository.getNamespaces().add( namespace );
             this.entityManager.persist( repository );
-            Namespace n = new Namespace( namespace );
-            n.setRepository( repository );
-            this.entityManager.persist( n );
-            repository.getNamespaces().add( n );
-            this.entityManager.persist( repository );
+            this.entityManager.persist( namespace );
         }
         else
         {
 
-            Namespace n = new Namespace( namespace );
+            Namespace namespace = new Namespace( namespaceId );
             // contains the namespace ?
-            if ( !repository.getNamespaces().contains( n ) )
+            if ( !repository.getNamespaces().contains( namespace ) )
             {
-                entityManager.persist( n );
-                repository.getNamespaces().add( n );
+                entityManager.persist( namespace );
+                repository.getNamespaces().add( namespace );
                 entityManager.merge( repository );
-
             }
         }
-
-
     }
 
     @Override

Modified: archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java?rev=1481524&r1=1481523&r2=1481524&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java Sun May 12 11:14:05 2013
@@ -20,6 +20,7 @@ package org.apache.archiva.metadata.repo
  */
 
 import javax.persistence.Basic;
+import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Embeddable;
 import javax.persistence.Embedded;
@@ -38,7 +39,7 @@ import java.io.Serializable;
  * @author Olivier Lamy
  */
 @Entity
-@Table( name = "namespaces", schema = "ArchivaKeySpace@archiva")
+@Table( name = "namespace", schema = "ArchivaKeySpace@archiva")
 public class Namespace
     implements Serializable
 {
@@ -47,12 +48,14 @@ public class Namespace
 
     @Id
     //@GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "namespace_id")
     private String id;
 
     @Column(name = "NAME")
     private String name;
 
-    @OneToOne(targetEntity = Repository.class, fetch = FetchType.EAGER)
+    @ManyToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
+    @JoinColumn(name = "repository_id")
     private Repository repository;
 
 
@@ -125,4 +128,15 @@ public class Namespace
     {
         return id.hashCode();
     }
+
+    @Override
+    public String toString()
+    {
+        final StringBuilder sb = new StringBuilder( "Namespace{" );
+        sb.append( "id='" ).append( id ).append( '\'' );
+        sb.append( ", name='" ).append( name ).append( '\'' );
+        sb.append( ", repository=" ).append( repository );
+        sb.append( '}' );
+        return sb.toString();
+    }
 }

Modified: archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Repository.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Repository.java?rev=1481524&r1=1481523&r2=1481524&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Repository.java (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Repository.java Sun May 12 11:14:05 2013
@@ -40,7 +40,7 @@ import java.util.List;
  * @author Olivier Lamy
  */
 @Entity
-@Table( name = "repositories", schema = "ArchivaKeySpace@archiva" )
+@Table(name = "repository", schema = "ArchivaKeySpace@archiva")
 public class Repository
     implements Serializable
 {
@@ -49,12 +49,13 @@ public class Repository
 
     @Id
     //@GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column( name = "repository_id" )
     private String id;
 
-    @Column( name = "NAME" )
+    @Column(name = "name")
     private String name;
 
-    @OneToMany(targetEntity = Namespace.class, fetch = FetchType.EAGER)
+    @OneToMany( fetch = FetchType.EAGER, mappedBy = "repository" )
     private List<Namespace> namespaces = new ArrayList<Namespace>();
 
     public Repository()
@@ -129,4 +130,16 @@ public class Repository
     {
         return id.hashCode();
     }
+
+
+    @Override
+    public String toString()
+    {
+        final StringBuilder sb = new StringBuilder( "Repository{" );
+        sb.append( "id='" ).append( id ).append( '\'' );
+        sb.append( ", name='" ).append( name ).append( '\'' );
+        sb.append( ", namespaces=" ).append( namespaces );
+        sb.append( '}' );
+        return sb.toString();
+    }
 }

Modified: archiva/sandbox/trunk/metadata-store-cassandra/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/resources/META-INF/persistence.xml?rev=1481524&r1=1481523&r2=1481524&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/src/main/resources/META-INF/persistence.xml (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/src/main/resources/META-INF/persistence.xml Sun May 12 11:14:05 2013
@@ -37,9 +37,10 @@
 
       <!--
       TODO enable caching
-      -->
+
       <property name="kundera.cache.provider.class" value="com.impetus.kundera.cache.ehcache.EhCacheProvider"/>
       <property name="kundera.cache.config.resource" value="/ehcache-test.xml"/>
+      -->
 
     </properties>
   </persistence-unit>

Modified: archiva/sandbox/trunk/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/jpa/RepositoriesNamespaceTest.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/jpa/RepositoriesNamespaceTest.java?rev=1481524&r1=1481523&r2=1481524&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/jpa/RepositoriesNamespaceTest.java (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/jpa/RepositoriesNamespaceTest.java Sun May 12 11:14:05 2013
@@ -41,8 +41,8 @@ import java.util.List;
 /**
  * @author Olivier Lamy
  */
-@RunWith(ArchivaSpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" })
+@RunWith( ArchivaSpringJUnit4ClassRunner.class )
+@ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" } )
 public class RepositoriesNamespaceTest
 {
 
@@ -114,13 +114,13 @@ public class RepositoriesNamespaceTest
 
             em.persist( namespace );
 
-            em.merge( repoReleases );
+            em.persist( repoReleases );
 
             repositoryFromData = em.find( Repository.class, "releases" );
 
             Assertions.assertThat( repositoryFromData ).isNotNull();
             Assertions.assertThat( repositoryFromData.getName() ).isEqualTo( "releases" );
-            Assertions.assertThat( repositoryFromData.getNamespaces() ).isNotNull().isNotEmpty().hasSize( 1 );
+            //Assertions.assertThat( repositoryFromData.getNamespaces() ).isNotNull().isNotEmpty().hasSize( 1 );
 
             namespace = em.find( Namespace.class, "org" );
             Assertions.assertThat( namespace ).isNotNull();
@@ -138,24 +138,28 @@ public class RepositoriesNamespaceTest
     public void testMetadataRepo()
         throws Exception
     {
+        Repository r = null;
+        Namespace n = null;
         try
         {
             CassandraMetadataRepository cmr = new CassandraMetadataRepository( null, null, em );
 
             cmr.updateNamespace( "release", "org" );
 
-            Repository r = em.find( Repository.class, "release" );
+            r = em.find( Repository.class, "release" );
 
             Assertions.assertThat( r ).isNotNull();
             Assertions.assertThat( r.getNamespaces() ).isNotEmpty().hasSize( 1 );
 
-            Namespace n = em.find( Namespace.class, "org" );
+            n = em.find( Namespace.class, "org" );
 
             Assertions.assertThat( n ).isNotNull();
             Assertions.assertThat( n.getRepository() ).isNotNull();
         }
         finally
         {
+            //em.remove( r );
+            //em.remove( n );
             clearReposAndNamespace();
         }
     }
@@ -163,16 +167,19 @@ public class RepositoriesNamespaceTest
     protected void clearReposAndNamespace()
         throws Exception
     {
+        TypedQuery<Repository> queryR = em.createQuery( "SELECT r FROM Repository r", Repository.class );
+        for ( Repository r : queryR.getResultList() )
+        {
+            em.remove( r );
+        }
+
         TypedQuery<Namespace> query = em.createQuery( "SELECT n FROM Namespace n", Namespace.class );
         for ( Namespace n : query.getResultList() )
         {
             em.remove( n );
         }
 
-        TypedQuery<Repository> queryR = em.createQuery( "SELECT r FROM Repository r", Repository.class );
-        for ( Repository r : queryR.getResultList() )
-        {
-            em.remove( r );
-        }
+
+        em.clear();
     }
 }