From b403746f06668b255a94e764cdafe2a7664138ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Fri, 6 Mar 2015 23:59:05 +0200 Subject: [PATCH 01/13] Improve Scala usage --- .../com/querydsl/scala/Expressions.scala | 2 +- .../com/querydsl/scala/ManifestUtils.scala | 2 +- .../com/querydsl/scala/Projections.scala | 2 +- ...alizer.scala => ScalaBeanSerializer.scala} | 14 +- ...izer.scala => ScalaEntitySerializer.scala} | 12 +- .../com/querydsl/scala/TypeMappings.scala | 2 +- .../{Paths.scala => RelationalPathImpl.scala} | 2 +- ...rs.scala => ScalaMetaDataSerializer.scala} | 0 .../scala/CaseClassSerializerTest.scala | 8 +- .../com/querydsl/scala/CompileTestUtils.scala | 8 +- .../com/querydsl/scala/ExampleDomain.scala | 6 +- .../com/querydsl/scala/ExpressionTest.scala | 8 +- .../scala/GenericExporterJPATest.scala | 2 +- .../querydsl/scala/GenericExporterTest.scala | 2 +- .../scala/com/querydsl/scala/QPerson.scala | 13 +- .../com/querydsl/scala/QPersonTest.scala | 6 +- ...st.scala => ScalaBeanSerializerTest.scala} | 14 +- ....scala => ScalaEntitySerializerTest.scala} | 0 .../test/scala/com/querydsl/scala/Types.scala | 2 +- .../scala/com/querydsl/scala/ext/Types2.scala | 2 +- .../scala/sql/MetaDataExporterTest.scala | 168 +++++++++--------- .../scala/sql/MetaDataSerializerTest.scala | 12 +- .../src/test/scala/test/Employee.scala | 20 +-- .../src/test/scala/test/QEmployee.scala | 18 +- .../src/test/scala/test/QSurvey.scala | 16 +- .../src/test/scala/test/Survey.scala | 14 +- 26 files changed, 177 insertions(+), 178 deletions(-) rename querydsl-scala/src/main/scala/com/querydsl/scala/{BeanSerializer.scala => ScalaBeanSerializer.scala} (91%) rename querydsl-scala/src/main/scala/com/querydsl/scala/{EntitySerializer.scala => ScalaEntitySerializer.scala} (94%) rename querydsl-scala/src/main/scala/com/querydsl/scala/sql/{Paths.scala => RelationalPathImpl.scala} (99%) rename querydsl-scala/src/main/scala/com/querydsl/scala/sql/{Serializers.scala => ScalaMetaDataSerializer.scala} (100%) rename querydsl-scala/src/test/scala/com/querydsl/scala/{BeanSerializerTest.scala => ScalaBeanSerializerTest.scala} (87%) rename querydsl-scala/src/test/scala/com/querydsl/scala/{EntitySerializerTest.scala => ScalaEntitySerializerTest.scala} (100%) diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/Expressions.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/Expressions.scala index b2c8a0bbb..5df8efa68 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/Expressions.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/Expressions.scala @@ -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._ diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/ManifestUtils.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/ManifestUtils.scala index ed47bec14..b64e379fc 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/ManifestUtils.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/ManifestUtils.scala @@ -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]] } \ No newline at end of file diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/Projections.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/Projections.scala index cff5669fb..50f5c27ea 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/Projections.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/Projections.scala @@ -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) diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/BeanSerializer.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaBeanSerializer.scala similarity index 91% rename from querydsl-scala/src/main/scala/com/querydsl/scala/BeanSerializer.scala rename to querydsl-scala/src/main/scala/com/querydsl/scala/ScalaBeanSerializer.scala index fcc134002..3d00a37ba 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/BeanSerializer.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaBeanSerializer.scala @@ -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:_*) diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/EntitySerializer.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaEntitySerializer.scala similarity index 94% rename from querydsl-scala/src/main/scala/com/querydsl/scala/EntitySerializer.scala rename to querydsl-scala/src/main/scala/com/querydsl/scala/ScalaEntitySerializer.scala index 5ec2b9e7a..ea737231f 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/EntitySerializer.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaEntitySerializer.scala @@ -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 = { diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/TypeMappings.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/TypeMappings.scala index 903c8d19a..c9ba1fde5 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/TypeMappings.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/TypeMappings.scala @@ -27,7 +27,7 @@ import com.querydsl.core.types.Path */ object ScalaTypeMappings { - def create: TypeMappings = new ScalaTypeMappings(); + def create: TypeMappings = new ScalaTypeMappings() } diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/sql/Paths.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/sql/RelationalPathImpl.scala similarity index 99% rename from querydsl-scala/src/main/scala/com/querydsl/scala/sql/Paths.scala rename to querydsl-scala/src/main/scala/com/querydsl/scala/sql/RelationalPathImpl.scala index 3404ad6cf..474076db9 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/sql/Paths.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/sql/RelationalPathImpl.scala @@ -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 diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/sql/Serializers.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/sql/ScalaMetaDataSerializer.scala similarity index 100% rename from querydsl-scala/src/main/scala/com/querydsl/scala/sql/Serializers.scala rename to querydsl-scala/src/main/scala/com/querydsl/scala/sql/ScalaMetaDataSerializer.scala diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala index 6c2a2daab..61afa7662 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.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._ diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala index 5af461de3..387c0880b 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala @@ -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) } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/ExampleDomain.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ExampleDomain.scala index 5f419d30a..e94a5f3c7 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/ExampleDomain.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/ExampleDomain.scala @@ -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 = _ diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/ExpressionTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ExpressionTest.scala index 819cdd0fc..034943d07 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/ExpressionTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/ExpressionTest.scala @@ -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 diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala index 53b7473dc..535a82245 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala @@ -1,4 +1,4 @@ -package com.querydsl.scala; +package com.querydsl.scala import javax.persistence._ import com.querydsl.codegen.GenericExporter diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala index 56fc3a5d8..42dc5e6a2 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala @@ -1,4 +1,4 @@ -package com.querydsl.scala; +package com.querydsl.scala import com.querydsl.core.annotations._ import com.querydsl.codegen.GenericExporter diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/QPerson.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/QPerson.scala index f9a2d04ef..d589229f1 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/QPerson.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/QPerson.scala @@ -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) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/QPersonTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/QPersonTest.scala index 33d3b4d5f..4bc704d55 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/QPersonTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/QPersonTest.scala @@ -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._ diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/BeanSerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala similarity index 87% rename from querydsl-scala/src/test/scala/com/querydsl/scala/BeanSerializerTest.scala rename to querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala index d0e111cd5..840c23b0b 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/BeanSerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.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._ @@ -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) } } \ No newline at end of file diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/EntitySerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala similarity index 100% rename from querydsl-scala/src/test/scala/com/querydsl/scala/EntitySerializerTest.scala rename to querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/Types.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/Types.scala index 0de84ccee..35389a318 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/Types.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/Types.scala @@ -1,4 +1,4 @@ -package com.querydsl.scala; +package com.querydsl.scala import com.querydsl.core.annotations._ diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/ext/Types2.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ext/Types2.scala index 1f7c6e5d8..deb0a2bf1 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/ext/Types2.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/ext/Types2.scala @@ -1,4 +1,4 @@ -package com.querydsl.scala.ext; +package com.querydsl.scala.ext import com.querydsl.core.annotations._ import scala.runtime.RichChar diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index 1642e69aa..49e5e2721 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -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)) } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataSerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataSerializerTest.scala index c2cb8c04e..2911c4ac4 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataSerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataSerializerTest.scala @@ -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")) diff --git a/querydsl-scala/src/test/scala/test/Employee.scala b/querydsl-scala/src/test/scala/test/Employee.scala index 9f00f6b57..df156c777 100644 --- a/querydsl-scala/src/test/scala/test/Employee.scala +++ b/querydsl-scala/src/test/scala/test/Employee.scala @@ -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 = _ } diff --git a/querydsl-scala/src/test/scala/test/QEmployee.scala b/querydsl-scala/src/test/scala/test/QEmployee.scala index 7194fb6ea..ce2a45578 100644 --- a/querydsl-scala/src/test/scala/test/QEmployee.scala +++ b/querydsl-scala/src/test/scala/test/QEmployee.scala @@ -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")) diff --git a/querydsl-scala/src/test/scala/test/QSurvey.scala b/querydsl-scala/src/test/scala/test/QSurvey.scala index c042b77c7..21e302257 100644 --- a/querydsl-scala/src/test/scala/test/QSurvey.scala +++ b/querydsl-scala/src/test/scala/test/QSurvey.scala @@ -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")) diff --git a/querydsl-scala/src/test/scala/test/Survey.scala b/querydsl-scala/src/test/scala/test/Survey.scala index 92c7742ca..1dce1e5c5 100644 --- a/querydsl-scala/src/test/scala/test/Survey.scala +++ b/querydsl-scala/src/test/scala/test/Survey.scala @@ -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 = _ } From a98c663f681bd0a8d38c443e5c4d2abd06247ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Sat, 7 Mar 2015 12:02:53 +0200 Subject: [PATCH 02/13] Bump Scala version --- querydsl-scala/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/querydsl-scala/pom.xml b/querydsl-scala/pom.xml index e17fddbba..8874797ea 100644 --- a/querydsl-scala/pom.xml +++ b/querydsl-scala/pom.xml @@ -18,7 +18,7 @@ UTF-8 2.10 - 2.10.4 + 2.10.5 3.5.1-Final 4.0.2.GA From d2fc14f9f7dc500000e376b59732b48b700bbb1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Sat, 7 Mar 2015 18:19:12 +0200 Subject: [PATCH 03/13] Compile individual files --- .../scala/com/querydsl/scala/CompileTestUtils.scala | 10 ++++++++-- .../com/querydsl/scala/sql/JDBCIntegrationTest.scala | 4 ++-- .../com/querydsl/scala/sql/MetaDataExporterTest.scala | 8 ++++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala index 387c0880b..3f48c4ae8 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala @@ -24,9 +24,15 @@ trait CompileTestUtils { } def assertCompileSuccess(files: Traversable[File]): Unit = { + for (file <- files) { + assertCompileSuccess(fromFile(file).mkString) + } + } + + def assertCompileSuccessCombined(files: Traversable[File]): Unit = { assertCompileSuccess(files - map (fromFile(_).mkString) - mkString ("\n")) + map (fromFile(_).mkString) + mkString ("\n")) } def assertCompileSuccess(source: String): Unit = { diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala index 01cacbc5b..92bc42f70 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala @@ -100,8 +100,8 @@ class JDBCIntegrationTest extends CompileTestUtils with SQLHelpers { exporter.setTypeMappings(ScalaTypeMappings.create) exporter.setSchemaPattern("PUBLIC") exporter.export(connection.getMetaData) - - assertCompileSuccess(recursiveFileList(directory)) + + assertCompileSuccessCombined(recursiveFileList(directory)) } @Test diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index 49e5e2721..23866ee39 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -97,8 +97,8 @@ class MetaDataExporterTest extends CompileTestUtils { exporter.setCreateScalaSources(true) exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - - assertCompileSuccess(recursiveFileList(directory)) + + assertCompileSuccessCombined(recursiveFileList(directory)) } @Test @@ -136,8 +136,8 @@ class MetaDataExporterTest extends CompileTestUtils { exporter.setCreateScalaSources(true) exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - - assertCompileSuccess(recursiveFileList(directory)) + + assertCompileSuccessCombined(recursiveFileList(directory)) } } \ No newline at end of file From 76b2e49f0a1efeedafd71de539488d42bf66bccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Sat, 7 Mar 2015 20:13:40 +0200 Subject: [PATCH 04/13] Print surefire summary in querydsl-scala --- querydsl-scala/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/querydsl-scala/pom.xml b/querydsl-scala/pom.xml index 8874797ea..76911afe0 100644 --- a/querydsl-scala/pom.xml +++ b/querydsl-scala/pom.xml @@ -203,7 +203,8 @@ org.apache.maven.plugins maven-surefire-plugin - -Xms256m -Xmx512m -Xss2m + -Xms256m -Xmx512m -Xss2m + true From 903b92fbadbf90b3f024d1ec4d8ed3c6de613098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Sun, 8 Mar 2015 17:52:15 +0200 Subject: [PATCH 05/13] Make CompileTestUtils an object --- .../querydsl/scala/CaseClassSerializerTest.scala | 4 ++-- .../scala/com/querydsl/scala/CompileTestUtils.scala | 12 ++++++++++-- .../com/querydsl/scala/GenericExporterJPATest.scala | 4 ++-- .../com/querydsl/scala/GenericExporterTest.scala | 8 ++++---- .../querydsl/scala/ScalaBeanSerializerTest.scala | 4 ++-- .../querydsl/scala/ScalaEntitySerializerTest.scala | 4 ++-- .../querydsl/scala/sql/JDBCIntegrationTest.scala | 6 +++--- .../querydsl/scala/sql/MetaDataExporterTest.scala | 13 ++++++------- ...Test.scala => ScalaMetaDataSerializerTest.scala} | 0 9 files changed, 31 insertions(+), 24 deletions(-) rename querydsl-scala/src/test/scala/com/querydsl/scala/sql/{MetaDataSerializerTest.scala => ScalaMetaDataSerializerTest.scala} (100%) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala index 61afa7662..472480ee6 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala @@ -11,7 +11,7 @@ import org.junit.Assert._ import scala.collection.JavaConversions._ -class CaseClassSerializerTest extends CompileTestUtils { +class CaseClassSerializerTest { val typeMappings = ScalaTypeMappings.create @@ -36,7 +36,7 @@ class CaseClassSerializerTest extends CompileTestUtils { serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new ScalaWriter(writer)) val str = writer.toString() - assertCompileSuccess(str) + CompileTestUtils.assertCompileSuccess(str) } } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala index 3f48c4ae8..c77e3dbcd 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala @@ -8,7 +8,7 @@ import scala.io.Source.fromFile import java.io.File import java.io.File.pathSeparator -trait CompileTestUtils { +object CompileTestUtils { private object env extends Settings { @@ -23,12 +23,20 @@ trait CompileTestUtils { usejavacp.value = true } + def assertCompileSuccess(file: File): Unit = { + assertCompileSuccess(recursiveFileList(file)) + } + def assertCompileSuccess(files: Traversable[File]): Unit = { for (file <- files) { assertCompileSuccess(fromFile(file).mkString) } } + def assertCompileSuccessCombined(file: File): Unit = { + assertCompileSuccessCombined(recursiveFileList(file)) + } + def assertCompileSuccessCombined(files: Traversable[File]): Unit = { assertCompileSuccess(files map (fromFile(_).mkString) @@ -51,7 +59,7 @@ trait CompileTestUtils { } } - def recursiveFileList(file: File): Array[File] = { + private def recursiveFileList(file: File): Array[File] = { if (file.isDirectory) { file.listFiles.flatMap(recursiveFileList) } else { diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala index 535a82245..2391de14a 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala @@ -5,7 +5,7 @@ import com.querydsl.codegen.GenericExporter import org.junit.Test import io.Source.fromFile -class GenericExporterJPATest extends CompileTestUtils { +class GenericExporterJPATest { @Test def Export { @@ -26,7 +26,7 @@ class GenericExporterJPATest extends CompileTestUtils { filter (_.getName.endsWith(".scala")) map (fromFile(_).mkString) mkString ("\n")) - assertCompileSuccess(sources) + CompileTestUtils.assertCompileSuccess(sources) } } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala index 42dc5e6a2..f93acfa29 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala @@ -6,7 +6,7 @@ import org.junit.Test import io.Source.fromFile import java.io.File -class GenericExporterTest extends CompileTestUtils { +class GenericExporterTest { @Test def Export { @@ -18,20 +18,20 @@ class GenericExporterTest extends CompileTestUtils { exporter.export(getClass.getPackage) val targetFolder = new File("target/gen1/com/querydsl/scala/") - + // com.querydsl.scala val sources = (targetFolder.listFiles() filter (_.getName.endsWith(".scala")) map (fromFile(_).mkString) mkString ("\n")) - assertCompileSuccess(sources) + CompileTestUtils.assertCompileSuccess(sources) // com.querydsl.scala.ext val other = (new File(targetFolder, "ext").listFiles() filter (_.getName.endsWith(".scala")) map (fromFile(_).mkString) mkString ("\n")) - assertCompileSuccess("import com.querydsl.scala.ext._\n" + other) + CompileTestUtils.assertCompileSuccess("import com.querydsl.scala.ext._\n" + other) } } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala index 840c23b0b..c55563692 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala @@ -11,7 +11,7 @@ import org.junit.Assert._ import scala.collection.JavaConversions._ -class ScalaBeanSerializerTest extends CompileTestUtils { +class ScalaBeanSerializerTest { val typeMappings = ScalaTypeMappings.create @@ -63,6 +63,6 @@ class ScalaBeanSerializerTest extends CompileTestUtils { typeMappings.register(entityType, new QueryTypeFactoryImpl("Q", "", "").create(entityType)) serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new ScalaWriter(writer)) val str = writer.toString - assertCompileSuccess(str) + CompileTestUtils.assertCompileSuccess(str) } } \ No newline at end of file diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala index 4def5d2d0..c2073fe79 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala @@ -13,7 +13,7 @@ import com.querydsl.sql._ import java.io.StringWriter -class ScalaEntitySerializerTest extends CompileTestUtils { +class ScalaEntitySerializerTest { var entityType: EntityType = null @@ -69,6 +69,6 @@ class ScalaEntitySerializerTest extends CompileTestUtils { serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new ScalaWriter(writer)) val str = writer.toString() //System.err.println(str); - assertCompileSuccess(str) + CompileTestUtils.assertCompileSuccess(str) } } \ No newline at end of file diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala index 92bc42f70..8fe1e2296 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala @@ -24,7 +24,7 @@ import com.querydsl.sql.codegen._ import com.querydsl.sql.dml._ import com.querydsl.scala.Helpers._ -class JDBCIntegrationTest extends CompileTestUtils with SQLHelpers { +class JDBCIntegrationTest extends SQLHelpers { val survey = QSurvey val employee = QEmployee @@ -82,7 +82,7 @@ class JDBCIntegrationTest extends CompileTestUtils with SQLHelpers { exporter.setSchemaPattern("PUBLIC") exporter.export(connection.getMetaData) - assertCompileSuccess(recursiveFileList(directory)) + CompileTestUtils.assertCompileSuccess(directory) } @Test @@ -101,7 +101,7 @@ class JDBCIntegrationTest extends CompileTestUtils with SQLHelpers { exporter.setSchemaPattern("PUBLIC") exporter.export(connection.getMetaData) - assertCompileSuccessCombined(recursiveFileList(directory)) + CompileTestUtils.assertCompileSuccessCombined(directory) } @Test diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index 23866ee39..5ea3f46a5 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -16,7 +16,7 @@ import scala.collection.JavaConversions._ import com.querydsl.scala._ -class MetaDataExporterTest extends CompileTestUtils { +class MetaDataExporterTest { var connection: java.sql.Connection = _ @@ -48,7 +48,6 @@ class MetaDataExporterTest extends CompileTestUtils { 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)") @@ -78,8 +77,8 @@ class MetaDataExporterTest extends CompileTestUtils { exporter.setCreateScalaSources(true) exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - - assertCompileSuccess(recursiveFileList(directory)) + + CompileTestUtils.assertCompileSuccess(directory) } @Test @@ -98,7 +97,7 @@ class MetaDataExporterTest extends CompileTestUtils { exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - assertCompileSuccessCombined(recursiveFileList(directory)) + CompileTestUtils.assertCompileSuccessCombined(directory) } @Test @@ -117,7 +116,7 @@ class MetaDataExporterTest extends CompileTestUtils { exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - assertCompileSuccess(recursiveFileList(directory)) + CompileTestUtils.assertCompileSuccess(directory) } @Test @@ -137,7 +136,7 @@ class MetaDataExporterTest extends CompileTestUtils { exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - assertCompileSuccessCombined(recursiveFileList(directory)) + CompileTestUtils.assertCompileSuccessCombined(directory) } } \ No newline at end of file diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataSerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/ScalaMetaDataSerializerTest.scala similarity index 100% rename from querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataSerializerTest.scala rename to querydsl-scala/src/test/scala/com/querydsl/scala/sql/ScalaMetaDataSerializerTest.scala From 97882965acb6cd8543195b4a35b247f8669282de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Sun, 8 Mar 2015 18:29:29 +0200 Subject: [PATCH 06/13] Fix indentation --- .../scala/sql/MetaDataExporterTest.scala | 166 +++++++++--------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index 5ea3f46a5..c0d13573e 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -22,121 +22,121 @@ class MetaDataExporterTest { @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( + 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))""") - // table with count column - stmt.execute("create table count_table(count int)") + // table with count column + 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) )") + // multi primary key + stmt.execute("create table multikey(id INT, id2 VARCHAR, id3 INT," + + " 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) )") + // 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) )") - } finally { - stmt.close() - } + } finally { + 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) - CompileTestUtils.assertCompileSuccess(directory) + CompileTestUtils.assertCompileSuccess(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) - CompileTestUtils.assertCompileSuccessCombined(directory) + CompileTestUtils.assertCompileSuccessCombined(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) - CompileTestUtils.assertCompileSuccess(directory) + CompileTestUtils.assertCompileSuccess(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) - CompileTestUtils.assertCompileSuccessCombined(directory) + CompileTestUtils.assertCompileSuccessCombined(directory) } } \ No newline at end of file From 3a68a8a0d32dd4addec747d9c2dba254c2831ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Mon, 9 Mar 2015 22:23:01 +0200 Subject: [PATCH 07/13] Use Global for Scala compilation --- .../com/querydsl/scala/CompileTestUtils.scala | 40 ++++++++----------- .../scala/GenericExporterJPATest.scala | 5 +-- .../querydsl/scala/GenericExporterTest.scala | 8 +--- .../scala/sql/JDBCIntegrationTest.scala | 2 +- .../scala/sql/MetaDataExporterTest.scala | 4 +- 5 files changed, 23 insertions(+), 36 deletions(-) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala index c77e3dbcd..5dbe943a3 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala @@ -8,41 +8,35 @@ import scala.io.Source.fromFile import java.io.File import java.io.File.pathSeparator +import scala.tools.nsc.reporters.{ConsoleReporter, Reporter} + object CompileTestUtils { - private object env extends Settings { - - private def jarPathOfClass(className: String) = { - Class.forName(className).getProtectionDomain.getCodeSource.getLocation - } - - 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) - usejavacp.value = true + private def jarPathOfClass(className: String) = { + Class.forName(className).getProtectionDomain.getCodeSource.getLocation } + private val env = new Settings() + private val currentLibraries = this.getClass.getClassLoader.asInstanceOf[java.net.URLClassLoader].getURLs.toList + private val cp = jarPathOfClass("scala.tools.nsc.Interpreter") :: jarPathOfClass("scala.ScalaObject") :: currentLibraries + env.classpath.value = cp.mkString(pathSeparator) + env.usejavacp.value = true + env.d.value = "target" + def assertCompileSuccess(file: File): Unit = { assertCompileSuccess(recursiveFileList(file)) } def assertCompileSuccess(files: Traversable[File]): Unit = { - for (file <- files) { - assertCompileSuccess(fromFile(file).mkString) + val reporter = new ConsoleReporter(env) + val g = new Global(env, reporter) + val run = new g.Run + run.compile(files.map(_.getPath).toList) + if (reporter.hasErrors) { + throw new AssertionError("Compilation failed") } } - def assertCompileSuccessCombined(file: File): Unit = { - assertCompileSuccessCombined(recursiveFileList(file)) - } - - def assertCompileSuccessCombined(files: Traversable[File]): Unit = { - assertCompileSuccess(files - map (fromFile(_).mkString) - mkString ("\n")) - } - def assertCompileSuccess(source: String): Unit = { val out = new java.io.ByteArrayOutputStream val interpreterWriter = new java.io.PrintWriter(out) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala index 2391de14a..f162d9a28 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala @@ -22,10 +22,7 @@ class GenericExporterJPATest { exporter.export(getClass.getPackage) val targetFolder = new java.io.File("target/gen1-jpa/com/querydsl/scala/") - val sources = (targetFolder listFiles () - filter (_.getName.endsWith(".scala")) - map (fromFile(_).mkString) - mkString ("\n")) + val sources = targetFolder.listFiles.filter(_.getName.endsWith(".scala")) CompileTestUtils.assertCompileSuccess(sources) } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala index f93acfa29..4677f836b 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala @@ -20,15 +20,11 @@ class GenericExporterTest { val targetFolder = new File("target/gen1/com/querydsl/scala/") // com.querydsl.scala - val sources = (targetFolder.listFiles() - filter (_.getName.endsWith(".scala")) - map (fromFile(_).mkString) - mkString ("\n")) + val sources = targetFolder.listFiles.filter(_.getName.endsWith(".scala")) CompileTestUtils.assertCompileSuccess(sources) // com.querydsl.scala.ext - val other = (new File(targetFolder, "ext").listFiles() - filter (_.getName.endsWith(".scala")) + val other = (new File(targetFolder, "ext").listFiles() filter (_.getName.endsWith(".scala")) map (fromFile(_).mkString) mkString ("\n")) CompileTestUtils.assertCompileSuccess("import com.querydsl.scala.ext._\n" + other) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala index 8fe1e2296..2cdb42a66 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala @@ -101,7 +101,7 @@ class JDBCIntegrationTest extends SQLHelpers { exporter.setSchemaPattern("PUBLIC") exporter.export(connection.getMetaData) - CompileTestUtils.assertCompileSuccessCombined(directory) + CompileTestUtils.assertCompileSuccess(directory) } @Test diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index c0d13573e..f0507fee2 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -97,7 +97,7 @@ class MetaDataExporterTest { exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - CompileTestUtils.assertCompileSuccessCombined(directory) + CompileTestUtils.assertCompileSuccess(directory) } @Test @@ -136,7 +136,7 @@ class MetaDataExporterTest { exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - CompileTestUtils.assertCompileSuccessCombined(directory) + CompileTestUtils.assertCompileSuccess(directory) } } \ No newline at end of file From dbf37b9ac19e8948b9d1500075025b5e27382c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Tue, 10 Mar 2015 22:27:30 +0200 Subject: [PATCH 08/13] Fix setUp/tearDown logic --- .../scala/sql/MetaDataExporterTest.scala | 223 +++++++++--------- 1 file changed, 117 insertions(+), 106 deletions(-) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index f0507fee2..64bc1f0f3 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -16,127 +16,138 @@ import scala.collection.JavaConversions._ import com.querydsl.scala._ -class MetaDataExporterTest { - - 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", "") +object MetaDataExporterTest { - val stmt = connection.createStatement() + var connection: java.sql.Connection = _ - 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))") + @BeforeClass + def setUp() { + Class.forName("org.h2.Driver") + val url = "jdbc:h2:mem:testdb" + System.currentTimeMillis() + connection = java.sql.DriverManager.getConnection(url, "sa", "") - stmt.execute("""create table employee( + 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))") + + 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))""") - // table with count column - stmt.execute("create table count_table(count int)") + // table with count column + 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) )") + // multi primary key + stmt.execute("create table multikey(id INT, id2 VARCHAR, id3 INT," + + " 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) )") - - } finally { - stmt.close() - } + // 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) )") + + } finally { + 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) + } - CompileTestUtils.assertCompileSuccess(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) + @AfterClass + def tearDown() { + connection.close() + } - CompileTestUtils.assertCompileSuccess(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) - CompileTestUtils.assertCompileSuccess(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) +} - CompileTestUtils.assertCompileSuccess(directory) - } +class MetaDataExporterTest { + import MetaDataExporterTest._ + + @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) + + CompileTestUtils.assertCompileSuccess(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) + + CompileTestUtils.assertCompileSuccess(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) + + CompileTestUtils.assertCompileSuccess(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) + + CompileTestUtils.assertCompileSuccess(directory) + } } \ No newline at end of file From 2394df5b3d763fc2d62292cd48b59efe04aa8c0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Wed, 11 Mar 2015 18:23:21 +0200 Subject: [PATCH 09/13] Refactor setup/teardown of JDBCIntegrationTest --- .../scala/sql/JDBCIntegrationTest.scala | 101 +++++++----------- .../scala/sql/MetaDataExporterTest.scala | 2 +- 2 files changed, 42 insertions(+), 61 deletions(-) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala index 2cdb42a66..7252326c4 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala @@ -24,22 +24,16 @@ import com.querydsl.sql.codegen._ import com.querydsl.sql.dml._ import com.querydsl.scala.Helpers._ -class JDBCIntegrationTest extends SQLHelpers { - - val survey = QSurvey - val employee = QEmployee +object JDBCIntegrationTest { - val templates = new HSQLDBTemplates() + private var connection: Connection = _ + private var statement: Statement = _ - var connection: Connection = _ - - var statement: Statement = _ - - @Before - def setUp() { + @BeforeClass + def setUpClass() { Class.forName("org.h2.Driver") - val url = "jdbc:h2:~/dbs/h2-scala" - + val url = "jdbc:h2:mem:testdb" + System.currentTimeMillis() + connection = DriverManager.getConnection(url, "sa", "") statement = connection.createStatement() statement.execute("drop table employee if exists") @@ -64,46 +58,43 @@ class JDBCIntegrationTest extends SQLHelpers { statement.execute("insert into employee (firstname, lastname) values ('Bob', 'Smith')") statement.execute("insert into employee (firstname, lastname) values ('John', 'Doe')") - + // TODO : create table with multi column primary key } - @Test - def Generation_without_Beantypes { - val namingStrategy = new DefaultNamingStrategy() - val exporter = new MetaDataExporter() - exporter.setNamePrefix("Q") - exporter.setPackageName("com.querydsl") - val directory = new File("target/gensql1") - exporter.setTargetFolder(directory) - exporter.setSerializerClass(classOf[ScalaMetaDataSerializer]) - exporter.setCreateScalaSources(true) - exporter.setTypeMappings(ScalaTypeMappings.create) - exporter.setSchemaPattern("PUBLIC") - exporter.export(connection.getMetaData) - - CompileTestUtils.assertCompileSuccess(directory) + @AfterClass + def tearDownClass() { + try { + statement.close() + } finally { + connection.close() + } } - @Test - def Generation_with_Beantypes { - val namingStrategy = new DefaultNamingStrategy() - //val beanSerializer = new ScalaBeanSerializer() - val exporter = new MetaDataExporter() - exporter.setNamePrefix("Q") - exporter.setPackageName("com.querydsl") - val directory = new File("target/gensql2") - exporter.setTargetFolder(directory) - exporter.setSerializerClass(classOf[ScalaMetaDataSerializer]) - exporter.setBeanSerializerClass(classOf[ScalaBeanSerializer]) - exporter.setCreateScalaSources(true) - exporter.setTypeMappings(ScalaTypeMappings.create) - exporter.setSchemaPattern("PUBLIC") - exporter.export(connection.getMetaData) +} - CompileTestUtils.assertCompileSuccess(directory) +class JDBCIntegrationTest extends SQLHelpers { + import JDBCIntegrationTest._ + + val survey = QSurvey + val employee = QEmployee + + val templates = new HSQLDBTemplates() + val configuration = new Configuration(templates) + + def connection = JDBCIntegrationTest.connection + + @Before + def setUp(): Unit = { + connection.setAutoCommit(false) } - + + @After + def tearDown(): Unit = { + connection.rollback() + connection.setAutoCommit(true) + } + @Test def Populate_Bean { assertEquals(2, query.from(survey).list(survey) size ()) @@ -235,23 +226,13 @@ class JDBCIntegrationTest extends SQLHelpers { val count = delete(survey) where(survey.id === id) execute() assertTrue(count > 0) } - - @After - def tearDown() { - try { - statement.close() - } finally { - connection.close() - } - } + def query = new SQLQuery(connection, configuration) - def query = new SQLQuery(connection, templates) - - def delete(path: RelationalPath[_]) = new SQLDeleteClause(connection, templates, path) + def delete(path: RelationalPath[_]) = new SQLDeleteClause(connection, configuration, path) - def insert(path: RelationalPath[_]) = new SQLInsertClause(connection, templates, path) + def insert(path: RelationalPath[_]) = new SQLInsertClause(connection, configuration, path) - def update(path: RelationalPath[_]) = new SQLUpdateClause(connection, templates, path) + def update(path: RelationalPath[_]) = new SQLUpdateClause(connection, configuration, path) } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index 64bc1f0f3..b1b37fcbf 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -18,7 +18,7 @@ import com.querydsl.scala._ object MetaDataExporterTest { - var connection: java.sql.Connection = _ + private var connection: java.sql.Connection = _ @BeforeClass def setUp() { From 0b952defabb00e5c4a740a7e1cbec5503909f91a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Wed, 11 Mar 2015 23:25:35 +0200 Subject: [PATCH 10/13] Remove unused variable --- .../com/querydsl/scala/sql/MetaDataExporterTest.scala | 7 ------- 1 file changed, 7 deletions(-) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index b1b37fcbf..ad0fd1141 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -78,7 +78,6 @@ class MetaDataExporterTest { @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") @@ -95,8 +94,6 @@ class MetaDataExporterTest { @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") @@ -114,8 +111,6 @@ class MetaDataExporterTest { @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") @@ -133,8 +128,6 @@ class MetaDataExporterTest { @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") From d23a7ce3eaef845f010a032a8957a4297b711cd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Thu, 12 Mar 2015 23:06:31 +0200 Subject: [PATCH 11/13] Optimize compilation --- .../com/querydsl/scala/CompileTestUtils.scala | 23 +++++++++---------- .../querydsl/scala/GenericExporterTest.scala | 13 ++--------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala index 5dbe943a3..b89490fc7 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala @@ -2,6 +2,9 @@ package com.querydsl.scala import java.io.File._ +import com.google.common.base.Charsets +import com.google.common.io.Files + import scala.tools.nsc._ import scala.tools.nsc.interpreter.IR.Success import scala.io.Source.fromFile @@ -16,12 +19,14 @@ object CompileTestUtils { Class.forName(className).getProtectionDomain.getCodeSource.getLocation } - private val env = new Settings() private val currentLibraries = this.getClass.getClassLoader.asInstanceOf[java.net.URLClassLoader].getURLs.toList private val cp = jarPathOfClass("scala.tools.nsc.Interpreter") :: jarPathOfClass("scala.ScalaObject") :: currentLibraries + + private val env = new Settings() env.classpath.value = cp.mkString(pathSeparator) env.usejavacp.value = true - env.d.value = "target" + //env.d.value = "target" + env.stopAfter.value = List("refchecks") def assertCompileSuccess(file: File): Unit = { assertCompileSuccess(recursiveFileList(file)) @@ -38,18 +43,12 @@ object CompileTestUtils { } def assertCompileSuccess(source: String): Unit = { - val out = new java.io.ByteArrayOutputStream - val interpreterWriter = new java.io.PrintWriter(out) - - val interpreter = new scala.tools.nsc.interpreter.IMain(env, interpreterWriter) + val file = File.createTempFile("source", ".scala") try { - val result = interpreter.interpret(source.replaceAll("package [\\w\\.]+", "")) - if (result != Success) { - throw new AssertionError("Compile failed, interpreter output:\n" + out.toString("utf-8")) - } + Files.write(source, file, Charsets.UTF_8) + assertCompileSuccess(file) } finally { - interpreterWriter.close() - interpreter.close() + file.delete() } } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala index 4677f836b..88cf516a7 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala @@ -17,17 +17,8 @@ class GenericExporterTest { exporter.setCreateScalaSources(true) exporter.export(getClass.getPackage) - val targetFolder = new File("target/gen1/com/querydsl/scala/") - - // com.querydsl.scala - val sources = targetFolder.listFiles.filter(_.getName.endsWith(".scala")) - CompileTestUtils.assertCompileSuccess(sources) - - // com.querydsl.scala.ext - val other = (new File(targetFolder, "ext").listFiles() filter (_.getName.endsWith(".scala")) - map (fromFile(_).mkString) - mkString ("\n")) - CompileTestUtils.assertCompileSuccess("import com.querydsl.scala.ext._\n" + other) + val targetFolder = new File("target/gen1") + CompileTestUtils.assertCompileSuccess(targetFolder) } } From 2e60cc0f47787d26e4b87b7defca5bb6cfea7134 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Fri, 13 Mar 2015 17:57:54 +0200 Subject: [PATCH 12/13] Syntax usage improvements --- .../querydsl/scala/sql/ScalaMetaDataSerializer.scala | 12 ++++++------ .../com/querydsl/scala/CaseClassSerializerTest.scala | 2 +- .../querydsl/scala/ScalaEntitySerializerTest.scala | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/sql/ScalaMetaDataSerializer.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/sql/ScalaMetaDataSerializer.scala index b441d1a06..b4dc1f412 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/sql/ScalaMetaDataSerializer.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/sql/ScalaMetaDataSerializer.scala @@ -88,10 +88,10 @@ class ScalaMetaDataSerializer @Inject() (typeMappings: TypeMappings, val namingS columnMeta.append(".named(\"" + metadata.getName + "\")") columnMeta.append(".ofType(" + metadata.getJdbcType + ")") if (metadata.hasSize) { - columnMeta.append(".withSize(" + metadata.getSize() + ")") + columnMeta.append(".withSize(" + metadata.getSize + ")") } if (metadata.getDigits > 0) { - columnMeta.append(".withDigits(" + metadata.getDigits() + ")") + columnMeta.append(".withDigits(" + metadata.getDigits + ")") } if (!metadata.isNullable) { columnMeta.append(".notNull()") @@ -102,13 +102,13 @@ class ScalaMetaDataSerializer @Inject() (typeMappings: TypeMappings, val namingS override def writeAnnotations(model: EntityType, queryType: Type, writer: ScalaWriter) = { if (model == queryType) { - model.getAnnotations.foreach(writer.annotation(_)) + model.getAnnotations.foreach(writer.annotation) } } def serializePrimaryKeys(model: EntityType, writer: CodeWriter, primaryKeys: Collection[PrimaryKeyData]) { primaryKeys.foreach { pk => - val fieldName = namingStrategy.getPropertyNameForPrimaryKey(pk.getName(), model) + val fieldName = namingStrategy.getPropertyNameForPrimaryKey(pk.getName, model) val value = pk.getColumns.map(c => escape(namingStrategy.getPropertyName(c, model))) .mkString("createPrimaryKey(", ", ", ")") writer.publicFinal(new ClassType(classOf[PrimaryKey[_]], model), fieldName, value) @@ -126,7 +126,7 @@ class ScalaMetaDataSerializer @Inject() (typeMappings: TypeMappings, val namingS val value = new StringBuilder(if (inverse) "createInvForeignKey(" else "createForeignKey(") if (fk.getForeignColumns.size == 1) { value.append(namingStrategy.getPropertyName(fk.getForeignColumns.get(0), model)) - value.append(", \"" + fk.getParentColumns().get(0) + "\"") + value.append(", \"" + fk.getParentColumns.get(0) + "\"") } else { val local = fk.getForeignColumns.map(c => escape(namingStrategy.getPropertyName(c, model))).mkString(", ") val foreign = fk.getParentColumns.map("\"" + _ + "\"").mkString(", ") @@ -134,7 +134,7 @@ class ScalaMetaDataSerializer @Inject() (typeMappings: TypeMappings, val namingS } value.append(")") val t = new ClassType(classOf[ForeignKey[_]], fk.getType) - writer.publicFinal(t, fieldName, value.toString()) + writer.publicFinal(t, fieldName, value.toString) } } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala index 472480ee6..c0a330ba8 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CaseClassSerializerTest.scala @@ -34,7 +34,7 @@ class CaseClassSerializerTest { 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 CompileTestUtils.assertCompileSuccess(str) } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala index c2073fe79..a1f2b5f7f 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaEntitySerializerTest.scala @@ -51,7 +51,7 @@ class ScalaEntitySerializerTest { typeMappings.register(entityType, new QueryTypeFactoryImpl("Q", "", "").create(entityType)) val serializer = new ScalaEntitySerializer(typeMappings) serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new ScalaWriter(writer)) - val str = writer.toString() + val str = writer.toString //System.err.println(str) assertTrue(str.contains("class QPerson(cl: Class[_ <: Person], md: PathMetadata) " + "extends EntityPathImpl[Person](cl, md) {")) @@ -67,7 +67,7 @@ class ScalaEntitySerializerTest { typeMappings.register(entityType, new QueryTypeFactoryImpl("Q", "", "").create(entityType)) val serializer = new ScalaEntitySerializer(typeMappings) serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new ScalaWriter(writer)) - val str = writer.toString() + val str = writer.toString //System.err.println(str); CompileTestUtils.assertCompileSuccess(str) } From 6d6b266bee7e7cf1ab80c51b3f5347b495d065aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Sat, 14 Mar 2015 13:05:49 +0200 Subject: [PATCH 13/13] Minor fixes --- .../src/main/scala/com/querydsl/scala/ScalaBeanSerializer.scala | 2 +- .../scala/{TypeMappings.scala => ScalaTypeMappings.scala} | 0 .../test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename querydsl-scala/src/main/scala/com/querydsl/scala/{TypeMappings.scala => ScalaTypeMappings.scala} (100%) diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaBeanSerializer.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaBeanSerializer.scala index 3d00a37ba..7424d600d 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaBeanSerializer.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaBeanSerializer.scala @@ -47,7 +47,7 @@ object Serializer { */ def writeImports(model: EntityType, javaBeanSupport: Boolean, writer: ScalaWriter) { val importedClasses = getAnnotationTypes(model) - if (javaBeanSupport) importedClasses.add("scala.reflect.BeanProperty") + if (javaBeanSupport) importedClasses.add("scala.beans.BeanProperty") if (model.hasLists) importedClasses.add(classOf[List[_]].getName) if (model.hasMaps) importedClasses.add(classOf[Map[_, _]].getName) writer.importClasses(importedClasses.toArray: _*) diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/TypeMappings.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/ScalaTypeMappings.scala similarity index 100% rename from querydsl-scala/src/main/scala/com/querydsl/scala/TypeMappings.scala rename to querydsl-scala/src/main/scala/com/querydsl/scala/ScalaTypeMappings.scala diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala index c55563692..cb119c6f8 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/ScalaBeanSerializerTest.scala @@ -29,7 +29,7 @@ class ScalaBeanSerializerTest { //println(writer.toString) var toMatch = """package com.querydsl - import scala.reflect.BeanProperty + import scala.beans.BeanProperty import java.util.List import java.util.Map /**