mirror of
https://github.com/querydsl/querydsl.git
synced 2026-07-03 21:07:49 +08:00
Improve Scala usage
This commit is contained in:
parent
55405ea087
commit
b403746f06
@ -21,7 +21,7 @@ import com.querydsl.core.types.PathMetadataFactory._
|
||||
import com.querydsl.core.types.Ops._
|
||||
|
||||
import java.util.Collection
|
||||
import java.util.Arrays._;
|
||||
import java.util.Arrays._
|
||||
|
||||
import Constants._
|
||||
import Operations._
|
||||
|
||||
@ -20,6 +20,6 @@ package com.querydsl.scala
|
||||
*/
|
||||
object ManifestUtils {
|
||||
|
||||
implicit def toClass[X](mf: Manifest[X]) = mf.runtimeClass.asInstanceOf[Class[X]]
|
||||
implicit def toClass[X](mf: Manifest[X]): Class[X] = mf.runtimeClass.asInstanceOf[Class[X]]
|
||||
|
||||
}
|
||||
@ -374,7 +374,7 @@ abstract class FactoryExpressionBase[T](cl: Class[T], args: Ex[_]*)
|
||||
|
||||
def accept[R,C](v: Visitor[R,C], context: C): R = v.visit(this, context)
|
||||
|
||||
def getArgs(): java.util.List[Ex[_]] = Arrays.asList(args:_*)
|
||||
def getArgs: java.util.List[Ex[_]] = Arrays.asList(args:_*)
|
||||
|
||||
def apply(i: Int): Ex[_] = args(i)
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ import javax.inject.Inject
|
||||
import java.util._
|
||||
import java.io.IOException
|
||||
|
||||
import scala.reflect.BeanProperty
|
||||
import scala.beans.BeanProperty
|
||||
import scala.collection.JavaConversions._
|
||||
import scala.collection.mutable.Set
|
||||
|
||||
@ -48,8 +48,8 @@ object Serializer {
|
||||
def writeImports(model: EntityType, javaBeanSupport: Boolean, writer: ScalaWriter) {
|
||||
val importedClasses = getAnnotationTypes(model)
|
||||
if (javaBeanSupport) importedClasses.add("scala.reflect.BeanProperty")
|
||||
if (model.hasLists()) importedClasses.add(classOf[List[_]].getName)
|
||||
if (model.hasMaps()) importedClasses.add(classOf[Map[_, _]].getName)
|
||||
if (model.hasLists) importedClasses.add(classOf[List[_]].getName)
|
||||
if (model.hasMaps) importedClasses.add(classOf[Map[_, _]].getName)
|
||||
writer.importClasses(importedClasses.toArray: _*)
|
||||
}
|
||||
|
||||
@ -105,12 +105,12 @@ class ScalaBeanSerializer @Inject() (typeMappings: TypeMappings) extends Seriali
|
||||
|
||||
def writeClass(model: EntityType, writer: ScalaWriter) = {
|
||||
writer.javadoc(model.getSimpleName + javadocSuffix)
|
||||
model.getAnnotations foreach(writer.annotation(_))
|
||||
model.getAnnotations foreach(writer.annotation)
|
||||
writer.beginClass(model)
|
||||
for (property <- model.getProperties) {
|
||||
property.getAnnotations.foreach(writer.annotation(_))
|
||||
property.getAnnotations.foreach(writer.annotation)
|
||||
if (javaBeanSupport) writer.line("@BeanProperty")
|
||||
writer.publicField(property.getType(), property.getEscapedName, "_")
|
||||
writer.publicField(property.getType, property.getEscapedName, "_")
|
||||
}
|
||||
writer.end()
|
||||
}
|
||||
@ -139,7 +139,7 @@ class CaseClassSerializer @Inject() (typeMappings: TypeMappings) extends Seriali
|
||||
}
|
||||
|
||||
def writeClass(model: EntityType, writer: ScalaWriter) = {
|
||||
model.getAnnotations foreach (writer.annotation(_))
|
||||
model.getAnnotations foreach writer.annotation
|
||||
val parameters = model.getProperties
|
||||
.map(p => new Parameter(p.getEscapedName, p.getType)).toArray
|
||||
writer.caseClass(model.getSimpleName, parameters:_*)
|
||||
@ -26,7 +26,7 @@ import com.querydsl.sql.codegen.support._
|
||||
import com.querydsl.core.types._
|
||||
import java.util._
|
||||
import java.io.IOException
|
||||
import scala.reflect.BeanProperty
|
||||
import scala.beans.BeanProperty
|
||||
import scala.collection.JavaConversions._
|
||||
import scala.collection.mutable.Set
|
||||
import scala.collection.immutable.Map
|
||||
@ -57,15 +57,15 @@ class ScalaEntitySerializer @Inject()(val typeMappings: TypeMappings) extends Se
|
||||
val simpleName: String = model.getSimpleName
|
||||
|
||||
// package
|
||||
if (!model.getPackageName.isEmpty()) writer.packageDecl(model.getPackageName)
|
||||
if (!model.getPackageName.isEmpty) writer.packageDecl(model.getPackageName)
|
||||
|
||||
// imports
|
||||
writer.importPackages("com.querydsl.core.types","com.querydsl.scala")
|
||||
writer.staticimports(classOf[PathMetadataFactory])
|
||||
|
||||
var importedClasses = getAnnotationTypes(model)
|
||||
if (model.hasLists()) importedClasses.add(classOf[java.util.List[_]].getName)
|
||||
if (model.hasMaps()) importedClasses.add(classOf[java.util.Map[_, _]].getName)
|
||||
if (model.hasLists) importedClasses.add(classOf[java.util.List[_]].getName)
|
||||
if (model.hasMaps) importedClasses.add(classOf[java.util.Map[_, _]].getName)
|
||||
writer.importClasses(importedClasses.toArray: _*)
|
||||
|
||||
writeHeader(model, scalaWriter)
|
||||
@ -121,7 +121,7 @@ class ScalaEntitySerializer @Inject()(val typeMappings: TypeMappings) extends Se
|
||||
}
|
||||
|
||||
def writeAnnotations(model: EntityType, queryType: Type, writer: ScalaWriter) = {
|
||||
model.getAnnotations.foreach(writer.annotation(_))
|
||||
model.getAnnotations.foreach(writer.annotation)
|
||||
}
|
||||
|
||||
def writeAdditionalCompanionContent(model: EntityType, writer: ScalaWriter) = {}
|
||||
@ -194,7 +194,7 @@ class ScalaEntitySerializer @Inject()(val typeMappings: TypeMappings) extends Se
|
||||
}
|
||||
|
||||
def getAnnotationTypes(model: EntityType): Set[String] = {
|
||||
Set() ++ (model.getAnnotations.map(_.annotationType.getName))
|
||||
Set() ++ model.getAnnotations.map(_.annotationType.getName)
|
||||
}
|
||||
|
||||
private def getRaw(t : Type): Type = {
|
||||
@ -27,7 +27,7 @@ import com.querydsl.core.types.Path
|
||||
*/
|
||||
object ScalaTypeMappings {
|
||||
|
||||
def create: TypeMappings = new ScalaTypeMappings();
|
||||
def create: TypeMappings = new ScalaTypeMappings()
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ import com.querydsl.core.types._
|
||||
import com.querydsl.core.types.PathMetadataFactory._
|
||||
import java.util.{List => JavaList, ArrayList, Map => JavaMap, HashMap}
|
||||
import java.lang.reflect._
|
||||
import scala.reflect.BeanProperty
|
||||
import scala.beans.BeanProperty
|
||||
|
||||
/**
|
||||
* Implementation of RelationalPath for Scala
|
||||
@ -1,10 +1,10 @@
|
||||
package com.querydsl.scala
|
||||
|
||||
import com.mysema.codegen._;
|
||||
import com.mysema.codegen.model._;
|
||||
import com.querydsl.codegen._;
|
||||
import com.mysema.codegen._
|
||||
import com.mysema.codegen.model._
|
||||
import com.querydsl.codegen._
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.io.StringWriter
|
||||
|
||||
import org.junit._
|
||||
import org.junit.Assert._
|
||||
|
||||
@ -16,7 +16,7 @@ trait CompileTestUtils {
|
||||
Class.forName(className).getProtectionDomain.getCodeSource.getLocation
|
||||
}
|
||||
|
||||
val currentLibraries = (this.getClass.getClassLoader).asInstanceOf[java.net.URLClassLoader].getURLs().toList
|
||||
val currentLibraries = this.getClass.getClassLoader.asInstanceOf[java.net.URLClassLoader].getURLs.toList
|
||||
val cp = jarPathOfClass("scala.tools.nsc.Interpreter") :: jarPathOfClass("scala.ScalaObject") :: currentLibraries
|
||||
|
||||
classpath.value = cp.mkString(pathSeparator)
|
||||
@ -40,14 +40,14 @@ trait CompileTestUtils {
|
||||
throw new AssertionError("Compile failed, interpreter output:\n" + out.toString("utf-8"))
|
||||
}
|
||||
} finally {
|
||||
interpreterWriter.close
|
||||
interpreter.close
|
||||
interpreterWriter.close()
|
||||
interpreter.close()
|
||||
}
|
||||
}
|
||||
|
||||
def recursiveFileList(file: File): Array[File] = {
|
||||
if (file.isDirectory) {
|
||||
file.listFiles.flatMap(recursiveFileList(_))
|
||||
file.listFiles.flatMap(recursiveFileList)
|
||||
} else {
|
||||
Array(file)
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.querydsl.scala;
|
||||
package com.querydsl.scala
|
||||
|
||||
import com.querydsl.core.types._;
|
||||
import com.querydsl.core.types.PathMetadataFactory._;
|
||||
import com.querydsl.core.types._
|
||||
import com.querydsl.core.types.PathMetadataFactory._
|
||||
|
||||
class Person {
|
||||
var scalaInt: Int = _
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
package com.querydsl.scala;
|
||||
package com.querydsl.scala
|
||||
|
||||
import com.querydsl.core.types._;
|
||||
import com.querydsl.core.types._
|
||||
|
||||
import org.junit.{ Test, Before, After, Assert };
|
||||
import org.junit.{ Test, Before, After, Assert }
|
||||
|
||||
import Matchers._
|
||||
|
||||
@ -16,7 +16,7 @@ class ExpressionTest {
|
||||
|
||||
@Test
|
||||
def Double_Negation {
|
||||
assertEquals("person.javaInt", person.javaInt.negate.negate);
|
||||
assertEquals("person.javaInt", person.javaInt.negate.negate)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.querydsl.scala;
|
||||
package com.querydsl.scala
|
||||
|
||||
import javax.persistence._
|
||||
import com.querydsl.codegen.GenericExporter
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.querydsl.scala;
|
||||
package com.querydsl.scala
|
||||
|
||||
import com.querydsl.core.annotations._
|
||||
import com.querydsl.codegen.GenericExporter
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
package com.querydsl.scala;
|
||||
package com.querydsl.scala
|
||||
|
||||
import com.querydsl.core.types._;
|
||||
import com.querydsl.scala._;
|
||||
|
||||
import com.querydsl.core.types.PathMetadataFactory._;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.querydsl.core.types._
|
||||
import com.querydsl.scala._
|
||||
import com.querydsl.core.types.PathMetadataFactory._
|
||||
import java.util.List
|
||||
import java.util.Map
|
||||
|
||||
object QPerson extends QPerson("person"){
|
||||
override def as(variable: String) = new QPerson(variable)
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
package com.querydsl.scala;
|
||||
package com.querydsl.scala
|
||||
|
||||
import com.querydsl.core.types._;
|
||||
import com.querydsl.core.types._
|
||||
|
||||
import org.junit.{ Test, Before, After, Assert };
|
||||
import org.junit.{ Test, Before, After, Assert }
|
||||
|
||||
import Matchers._
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
package com.querydsl.scala
|
||||
|
||||
import com.mysema.codegen._;
|
||||
import com.mysema.codegen.model._;
|
||||
import com.querydsl.codegen._;
|
||||
import com.mysema.codegen._
|
||||
import com.mysema.codegen.model._
|
||||
import com.querydsl.codegen._
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.io.StringWriter
|
||||
|
||||
import org.junit._
|
||||
import org.junit.Assert._
|
||||
@ -47,11 +47,11 @@ class ScalaBeanSerializerTest extends CompileTestUtils {
|
||||
@BeanProperty var setField: java.util.Set[DomainClass] = _
|
||||
@BeanProperty var time: java.sql.Time = _"""
|
||||
|
||||
val str = writer.toString().replaceAll("\\s+", " ")
|
||||
val str = writer.toString.replaceAll("\\s+", " ")
|
||||
//println(str)
|
||||
|
||||
toMatch.split("\\n").map(_.trim).foreach { line =>
|
||||
assertTrue(line, str.contains(line));
|
||||
assertTrue(line, str.contains(line))
|
||||
}
|
||||
|
||||
}
|
||||
@ -62,7 +62,7 @@ class ScalaBeanSerializerTest extends CompileTestUtils {
|
||||
serializer.createCompanionObject = false
|
||||
typeMappings.register(entityType, new QueryTypeFactoryImpl("Q", "", "").create(entityType))
|
||||
serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new ScalaWriter(writer))
|
||||
val str = writer.toString()
|
||||
val str = writer.toString
|
||||
assertCompileSuccess(str)
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.querydsl.scala;
|
||||
package com.querydsl.scala
|
||||
|
||||
import com.querydsl.core.annotations._
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.querydsl.scala.ext;
|
||||
package com.querydsl.scala.ext
|
||||
|
||||
import com.querydsl.core.annotations._
|
||||
import scala.runtime.RichChar
|
||||
|
||||
@ -7,7 +7,7 @@ import com.querydsl.codegen._
|
||||
import com.querydsl.sql._
|
||||
import com.querydsl.sql.codegen._
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.io.StringWriter
|
||||
|
||||
import org.junit._
|
||||
import org.junit.Assert._
|
||||
@ -18,124 +18,124 @@ import com.querydsl.scala._
|
||||
|
||||
class MetaDataExporterTest extends CompileTestUtils {
|
||||
|
||||
var connection: java.sql.Connection = _;
|
||||
var connection: java.sql.Connection = _
|
||||
|
||||
@Before
|
||||
def setUp() {
|
||||
Class.forName("org.h2.Driver");
|
||||
val url = "jdbc:h2:mem:testdb" + System.currentTimeMillis();
|
||||
connection = java.sql.DriverManager.getConnection(url, "sa", "");
|
||||
Class.forName("org.h2.Driver")
|
||||
val url = "jdbc:h2:mem:testdb" + System.currentTimeMillis()
|
||||
connection = java.sql.DriverManager.getConnection(url, "sa", "")
|
||||
|
||||
val stmt = connection.createStatement();
|
||||
val stmt = connection.createStatement()
|
||||
|
||||
try {
|
||||
stmt.execute("create table reserved (id int, while int)")
|
||||
stmt.execute("create table underscore (e_id int, c_id int)")
|
||||
stmt.execute("create table beangen1 (\"SEP_Order\" int)")
|
||||
stmt.execute("create table definstance (id int, definstance int, definstance1 int)")
|
||||
stmt.execute("create table pkfk (id int primary key, pk int, fk int)")
|
||||
stmt.execute("create table \"camelCase\" (id int)")
|
||||
stmt.execute("create table \"vwServiceName\" (id int)")
|
||||
stmt.execute("create table date_test (d date)")
|
||||
stmt.execute("create table date_time_test (dt datetime)")
|
||||
stmt.execute("create table survey (id int, name varchar(30))")
|
||||
stmt.execute("create table typetest (type int, constraint pk_typetest primary key(type))")
|
||||
|
||||
try{
|
||||
stmt.execute("create table reserved (id int, while int)");
|
||||
stmt.execute("create table underscore (e_id int, c_id int)");
|
||||
stmt.execute("create table beangen1 (\"SEP_Order\" int)");
|
||||
stmt.execute("create table definstance (id int, definstance int, definstance1 int)");
|
||||
stmt.execute("create table pkfk (id int primary key, pk int, fk int)");
|
||||
stmt.execute("create table \"camelCase\" (id int)");
|
||||
stmt.execute("create table \"vwServiceName\" (id int)");
|
||||
stmt.execute("create table date_test (d date)");
|
||||
stmt.execute("create table date_time_test (dt datetime)");
|
||||
stmt.execute("create table survey (id int, name varchar(30))");
|
||||
stmt.execute("create table typetest (type int, constraint pk_typetest primary key(type))");
|
||||
|
||||
stmt.execute("""create table employee(
|
||||
id INT, firstname VARCHAR(50), lastname VARCHAR(50), salary DECIMAL(10, 2),
|
||||
datefield DATE, timefield TIME,
|
||||
superior_id int, survey_id int, survey_name varchar(30),
|
||||
CONSTRAINT PK_employee PRIMARY KEY (id),
|
||||
CONSTRAINT FK_superior FOREIGN KEY (superior_id) REFERENCES employee(id))""");
|
||||
|
||||
|
||||
id INT, firstname VARCHAR(50), lastname VARCHAR(50), salary DECIMAL(10, 2),
|
||||
datefield DATE, timefield TIME,
|
||||
superior_id int, survey_id int, survey_name varchar(30),
|
||||
CONSTRAINT PK_employee PRIMARY KEY (id),
|
||||
CONSTRAINT FK_superior FOREIGN KEY (superior_id) REFERENCES employee(id))""")
|
||||
|
||||
|
||||
// table with count column
|
||||
stmt.execute("create table count_table(count int)");
|
||||
|
||||
stmt.execute("create table count_table(count int)")
|
||||
|
||||
// multi primary key
|
||||
stmt.execute("create table multikey(id INT, id2 VARCHAR, id3 INT," +
|
||||
" CONSTRAINT pk_multikey PRIMARY KEY (id, id2, id3) )");
|
||||
|
||||
" CONSTRAINT pk_multikey PRIMARY KEY (id, id2, id3) )")
|
||||
|
||||
// multi foreign key
|
||||
stmt.execute("create table multikey2(id INT, id2 INT, id3 INT, id4 INT, id5 INT, id6 INT," +
|
||||
" CONSTRAINT pk_multikey2 FOREIGN KEY (id4, id5, id6) REFERENCES multikey2(id, id2, id3) )");
|
||||
" CONSTRAINT pk_multikey2 FOREIGN KEY (id4, id5, id6) REFERENCES multikey2(id, id2, id3) )")
|
||||
|
||||
} finally {
|
||||
stmt.close();
|
||||
stmt.close()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
def Generate_Without_BeanTypes() {
|
||||
val directory = new java.io.File("target/jdbcgen1");
|
||||
val namingStrategy = new DefaultNamingStrategy();
|
||||
val exporter = new MetaDataExporter();
|
||||
exporter.setNamePrefix("Q");
|
||||
exporter.setPackageName("com.querydsl");
|
||||
exporter.setSchemaPattern("PUBLIC");
|
||||
exporter.setTargetFolder(directory);
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer]);
|
||||
exporter.setCreateScalaSources(true);
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create);
|
||||
exporter.export(connection.getMetaData);
|
||||
val directory = new java.io.File("target/jdbcgen1")
|
||||
val namingStrategy = new DefaultNamingStrategy()
|
||||
val exporter = new MetaDataExporter()
|
||||
exporter.setNamePrefix("Q")
|
||||
exporter.setPackageName("com.querydsl")
|
||||
exporter.setSchemaPattern("PUBLIC")
|
||||
exporter.setTargetFolder(directory)
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer])
|
||||
exporter.setCreateScalaSources(true)
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create)
|
||||
exporter.export(connection.getMetaData)
|
||||
|
||||
assertCompileSuccess(recursiveFileList(directory))
|
||||
}
|
||||
|
||||
@Test
|
||||
def Generate_With_BeanTypes() {
|
||||
val directory = new java.io.File("target/jdbcgen2");
|
||||
val namingStrategy = new DefaultNamingStrategy();
|
||||
//val beanSerializer = new ScalaBeanSerializer();
|
||||
val exporter = new MetaDataExporter();
|
||||
exporter.setNamePrefix("Q");
|
||||
exporter.setPackageName("com.querydsl");
|
||||
exporter.setSchemaPattern("PUBLIC");
|
||||
exporter.setTargetFolder(directory);
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer]);
|
||||
exporter.setBeanSerializerClass(classOf[ScalaBeanSerializer]);
|
||||
exporter.setCreateScalaSources(true);
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create);
|
||||
exporter.export(connection.getMetaData);
|
||||
val directory = new java.io.File("target/jdbcgen2")
|
||||
val namingStrategy = new DefaultNamingStrategy()
|
||||
//val beanSerializer = new ScalaBeanSerializer()
|
||||
val exporter = new MetaDataExporter()
|
||||
exporter.setNamePrefix("Q")
|
||||
exporter.setPackageName("com.querydsl")
|
||||
exporter.setSchemaPattern("PUBLIC")
|
||||
exporter.setTargetFolder(directory)
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer])
|
||||
exporter.setBeanSerializerClass(classOf[ScalaBeanSerializer])
|
||||
exporter.setCreateScalaSources(true)
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create)
|
||||
exporter.export(connection.getMetaData)
|
||||
|
||||
assertCompileSuccess(recursiveFileList(directory))
|
||||
}
|
||||
|
||||
@Test
|
||||
def Generate_With_Schema() {
|
||||
val directory = new java.io.File("target/jdbcgen3");
|
||||
val namingStrategy = new DefaultNamingStrategy();
|
||||
//val beanSerializer = new ScalaBeanSerializer();
|
||||
val exporter = new MetaDataExporter();
|
||||
exporter.setNamePrefix("Q");
|
||||
exporter.setPackageName("com.querydsl");
|
||||
exporter.setSchemaPattern("PUBLIC");
|
||||
exporter.setSchemaToPackage(true);
|
||||
exporter.setTargetFolder(directory);
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer]);
|
||||
exporter.setCreateScalaSources(true);
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create);
|
||||
exporter.export(connection.getMetaData);
|
||||
|
||||
val directory = new java.io.File("target/jdbcgen3")
|
||||
val namingStrategy = new DefaultNamingStrategy()
|
||||
//val beanSerializer = new ScalaBeanSerializer()
|
||||
val exporter = new MetaDataExporter()
|
||||
exporter.setNamePrefix("Q")
|
||||
exporter.setPackageName("com.querydsl")
|
||||
exporter.setSchemaPattern("PUBLIC")
|
||||
exporter.setSchemaToPackage(true)
|
||||
exporter.setTargetFolder(directory)
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer])
|
||||
exporter.setCreateScalaSources(true)
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create)
|
||||
exporter.export(connection.getMetaData)
|
||||
|
||||
assertCompileSuccess(recursiveFileList(directory))
|
||||
}
|
||||
|
||||
@Test
|
||||
def Generate_With_BeanTypes_And_Schema() {
|
||||
val directory = new java.io.File("target/jdbcgen4");
|
||||
val namingStrategy = new DefaultNamingStrategy();
|
||||
//val beanSerializer = new ScalaBeanSerializer();
|
||||
val exporter = new MetaDataExporter();
|
||||
exporter.setNamePrefix("Q");
|
||||
exporter.setPackageName("com.querydsl");
|
||||
exporter.setSchemaPattern("PUBLIC");
|
||||
exporter.setSchemaToPackage(true);
|
||||
exporter.setTargetFolder(directory);
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer]);
|
||||
exporter.setBeanSerializerClass(classOf[ScalaBeanSerializer]);
|
||||
exporter.setCreateScalaSources(true);
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create);
|
||||
exporter.export(connection.getMetaData);
|
||||
val directory = new java.io.File("target/jdbcgen4")
|
||||
val namingStrategy = new DefaultNamingStrategy()
|
||||
//val beanSerializer = new ScalaBeanSerializer()
|
||||
val exporter = new MetaDataExporter()
|
||||
exporter.setNamePrefix("Q")
|
||||
exporter.setPackageName("com.querydsl")
|
||||
exporter.setSchemaPattern("PUBLIC")
|
||||
exporter.setSchemaToPackage(true)
|
||||
exporter.setTargetFolder(directory)
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer])
|
||||
exporter.setBeanSerializerClass(classOf[ScalaBeanSerializer])
|
||||
exporter.setCreateScalaSources(true)
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create)
|
||||
exporter.export(connection.getMetaData)
|
||||
|
||||
assertCompileSuccess(recursiveFileList(directory))
|
||||
}
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.querydsl.scala.sql
|
||||
|
||||
import com.mysema.codegen._;
|
||||
import com.mysema.codegen.model._;
|
||||
import com.mysema.codegen._
|
||||
import com.mysema.codegen.model._
|
||||
|
||||
import com.querydsl.codegen._;
|
||||
import com.querydsl.codegen._
|
||||
import com.querydsl.sql._
|
||||
import com.querydsl.sql.codegen._
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.io.StringWriter
|
||||
|
||||
import org.junit._
|
||||
import org.junit.Assert._
|
||||
@ -29,7 +29,7 @@ class ScalaMetaDataSerializerTest {
|
||||
"com.querydsl.DomainClass", "com.querydsl", "DomainClass", false, false)
|
||||
entityType = new EntityType(typeModel)
|
||||
//entityType.addAnnotation(new TableImpl("DOMAIN_TYPE"))
|
||||
entityType.getData().put("table", "DOMAIN_TYPE")
|
||||
entityType.getData.put("table", "DOMAIN_TYPE")
|
||||
|
||||
// properties
|
||||
List(classOf[java.lang.Boolean], classOf[Comparable[_]], classOf[Integer],
|
||||
@ -49,7 +49,7 @@ class ScalaMetaDataSerializerTest {
|
||||
val namingStrategy = new DefaultNamingStrategy()
|
||||
val serializer = new ScalaMetaDataSerializer(typeMappings, namingStrategy)
|
||||
serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new ScalaWriter(writer))
|
||||
val str = writer.toString()
|
||||
val str = writer.toString
|
||||
//System.err.println(str)
|
||||
assertTrue("companion object isn't before class", str.indexOf("object") < str.indexOf("class"))
|
||||
//assertTrue("companion object isn't before annotations", str.indexOf("object") < str.indexOf("@Table"))
|
||||
|
||||
@ -1,24 +1,24 @@
|
||||
package test;
|
||||
package test
|
||||
|
||||
import scala.reflect.BeanProperty;
|
||||
import javax.validation.constraints.Size;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import com.querydsl.sql._;
|
||||
import scala.beans.BeanProperty
|
||||
import javax.validation.constraints.Size
|
||||
import javax.validation.constraints.NotNull
|
||||
import com.querydsl.sql._
|
||||
|
||||
object Employee extends QEmployee("employee"){
|
||||
object Employee extends QEmployee("employee") {
|
||||
override def as(variable: String) = new QEmployee(variable)
|
||||
|
||||
}
|
||||
|
||||
class Employee {
|
||||
|
||||
var firstname: String = _;
|
||||
var firstname: String = _
|
||||
|
||||
var id: Integer = _;
|
||||
var id: Integer = _
|
||||
|
||||
var lastname: String = _;
|
||||
var lastname: String = _
|
||||
|
||||
var superiorId: Integer = _;
|
||||
var superiorId: Integer = _
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package test;
|
||||
package test
|
||||
|
||||
import com.querydsl.core.types._;
|
||||
import com.querydsl.scala._;
|
||||
import com.querydsl.core.types._
|
||||
import com.querydsl.scala._
|
||||
|
||||
import com.querydsl.core.types.PathMetadataFactory._;
|
||||
import com.querydsl.core.types.PathMetadataFactory._
|
||||
|
||||
import com.querydsl.scala.sql.RelationalPathImpl;
|
||||
import com.querydsl.scala.sql.RelationalPathImpl
|
||||
|
||||
import com.querydsl.sql._;
|
||||
import com.querydsl.sql._
|
||||
|
||||
object QEmployee extends QEmployee("employee"){
|
||||
override def as(variable: String) = new QEmployee(variable)
|
||||
@ -27,11 +27,11 @@ class QEmployee(md: PathMetadata) extends RelationalPathImpl[Employee](md, "PUBL
|
||||
|
||||
val superiorId = createNumber[Integer]("superiorId")
|
||||
|
||||
val sysIdx55: PrimaryKey[Employee] = createPrimaryKey(id);
|
||||
val sysIdx55: PrimaryKey[Employee] = createPrimaryKey(id)
|
||||
|
||||
val superiorFk: ForeignKey[Employee] = createForeignKey(superiorId, "ID");
|
||||
val superiorFk: ForeignKey[Employee] = createForeignKey(superiorId, "ID")
|
||||
|
||||
val _superiorFk: ForeignKey[Employee] = createInvForeignKey(id, "SUPERIOR_ID");
|
||||
val _superiorFk: ForeignKey[Employee] = createInvForeignKey(id, "SUPERIOR_ID")
|
||||
|
||||
addMetadata(firstname, ColumnMetadata.named("FIRSTNAME"))
|
||||
addMetadata(id, ColumnMetadata.named("ID"))
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
package test;
|
||||
package test
|
||||
|
||||
import com.querydsl.core.types._;
|
||||
import com.querydsl.scala._;
|
||||
import com.querydsl.core.types._
|
||||
import com.querydsl.scala._
|
||||
|
||||
import com.querydsl.core.types.PathMetadataFactory._;
|
||||
import com.querydsl.scala.sql.RelationalPathImpl;
|
||||
import com.querydsl.core.types.PathMetadataFactory._
|
||||
import com.querydsl.scala.sql.RelationalPathImpl
|
||||
|
||||
import com.querydsl.sql._;
|
||||
import com.querydsl.sql._
|
||||
|
||||
object QSurvey extends QSurvey("survey"){
|
||||
object QSurvey extends QSurvey("survey") {
|
||||
override def as(variable: String) = new QSurvey(variable)
|
||||
|
||||
}
|
||||
@ -22,7 +22,7 @@ class QSurvey(md: PathMetadata) extends RelationalPathImpl[Survey](md, "PUBLIC",
|
||||
|
||||
val name = createString("name")
|
||||
|
||||
val sysIdx54: PrimaryKey[Survey] = createPrimaryKey(id);
|
||||
val sysIdx54: PrimaryKey[Survey] = createPrimaryKey(id)
|
||||
|
||||
addMetadata(id, ColumnMetadata.named("ID"))
|
||||
addMetadata(name, ColumnMetadata.named("NAME"))
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
package test;
|
||||
package test
|
||||
|
||||
import scala.reflect.BeanProperty;
|
||||
import javax.validation.constraints.Size;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import com.querydsl.sql._;
|
||||
import scala.beans.BeanProperty
|
||||
import javax.validation.constraints.Size
|
||||
import javax.validation.constraints.NotNull
|
||||
import com.querydsl.sql._
|
||||
|
||||
object Survey extends QSurvey("survey"){
|
||||
override def as(variable: String) = new QSurvey(variable)
|
||||
@ -12,9 +12,9 @@ object Survey extends QSurvey("survey"){
|
||||
|
||||
class Survey {
|
||||
|
||||
var id: Integer = _;
|
||||
var id: Integer = _
|
||||
|
||||
var name: String = _;
|
||||
var name: String = _
|
||||
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user