added test for dumping class signatures

This commit is contained in:
Timo Westkämper 2010-09-21 14:38:33 +00:00
parent b62fa6e01b
commit 4bcef2164a
4 changed files with 86 additions and 11 deletions

View File

@ -54,7 +54,6 @@ class ScalaBeanSerializer extends Serializer {
for (property <- model.getProperties()){
property.getAnnotations.foreach( {writer.annotation(_);} )
if (javaBeanSupport){
//writer.annotation(classOf[BeanProperty]);
writer.line("@BeanProperty");
}
writer.publicField(property.getType(), property.getEscapedName, "_");

View File

@ -55,7 +55,6 @@ class ScalaMetaDataSerializer(val namePrefix: String, val namingStrategy: Naming
}
val queryType = typeMappings.getPathType(model, model, true);
//QUser(path: String) extends RelationalPathBase[QUser](classOf[QUser], path)
var modelName = writer.getRawName(model);
var queryTypeName = writer.getRawName(queryType);
var classHeader = String.format(classHeaderFormat, queryTypeName, modelName);

View File

@ -0,0 +1,71 @@
package com.mysema.query.scala
import com.mysema.query.jpa.impl.JPAQuery
import com.mysema.query.scala.Conversions._
import javax.persistence._;
import org.junit.{Test,Before,After};
import org.junit.Assert._
import scala.collection.JavaConversions._
import scala.reflect.BeanProperty;
class DumpClassTest {
@Test
def test(){
List(classOf[U], classOf[D], classOf[C]).foreach(cl =>
{
println(cl.getName);
cl.getDeclaredFields.foreach( f => {
println(f.getName);
println(" " + java.util.Arrays.asList(f.getAnnotations:_*));
} );
println();
cl.getDeclaredMethods.foreach( m => {
println(m.getName);
println(" " + java.util.Arrays.asList(m.getReturnType.getAnnotations:_*));
} );
println();
});
}
}
@Entity
class U( @BeanProperty @Id var id: Integer,
@BeanProperty var userName: String,
@BeanProperty @ManyToOne var department: Department)
@Entity
class D(
@BeanProperty
@Id
var id: Integer,
@BeanProperty
var name: String,
@ManyToOne
@BeanProperty
var company: C
)
@Entity
class C (
@BeanProperty
@Id
var id : Integer,
@BeanProperty
var name: String,
@BeanProperty
@OneToMany(mappedBy="company")
var departments: java.util.Set[D]
)

View File

@ -64,6 +64,12 @@ class JPAIntegrationTest {
assertEquals(2, query from department count);
assertEquals(1, query from company count);
entityManager.flush();
assertEquals(2, query from user list user size);
assertEquals(2, query from department list user size);
assertEquals(1, query from company list user size);
assertEquals("Bob", query from user where (user.userName $eq "Bob") uniqueResult user.userName);
assertEquals("Bob", query from user where (user.userName $like "Bo%") uniqueResult user.userName);
assertEquals("Ann", query from user where (user.department.name $eq "Sales") uniqueResult user.userName);
@ -74,23 +80,23 @@ class JPAIntegrationTest {
}
@Entity
class User(@BeanProperty @Id val id: Integer,
@BeanProperty val userName: String,
@BeanProperty @ManyToOne val department: Department)
class User(@BeanProperty @Id var id: Integer,
@BeanProperty var userName: String,
@BeanProperty @ManyToOne var department: Department)
@Entity
class Department(
@BeanProperty
@Id
val id: Integer,
var id: Integer,
@BeanProperty
val name: String,
var name: String,
@ManyToOne
@BeanProperty
val company: Company
var company: Company
)
@Entity
@ -98,14 +104,14 @@ class Company (
@BeanProperty
@Id
val id : Integer,
var id : Integer,
@BeanProperty
val name: String,
var name: String,
@BeanProperty
@OneToMany(mappedBy="company")
val departments: java.util.Set[Department]
var departments: java.util.Set[Department]
)