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