aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2017-02-24 08:50:52 -0500
committerStewart Stewart <stewinsalot@gmail.com>2017-02-24 08:50:52 -0500
commitbb4be989a15f250741ab771e7ed78f512e74632d (patch)
tree9f7989c2ac182c77bcf7ed7ad21f7690c41fff0e
parent42f846add5a7b82f64a09f526d8817cb12b8ca86 (diff)
downloadslick-codegen-plugin-bb4be989a15f250741ab771e7ed78f512e74632d.tar.gz
slick-codegen-plugin-bb4be989a15f250741ab771e7ed78f512e74632d.tar.bz2
slick-codegen-plugin-bb4be989a15f250741ab771e7ed78f512e74632d.zip
scalafmt
-rw-r--r--src/main/scala/Generators.scala34
-rw-r--r--src/main/scala/NamespacedCodegen.scala20
-rw-r--r--src/main/scala/OutputHelpers.scala44
-rw-r--r--src/main/scala/TypedIdTable.scala12
4 files changed, 73 insertions, 37 deletions
diff --git a/src/main/scala/Generators.scala b/src/main/scala/Generators.scala
index 741fe6b..51e02ce 100644
--- a/src/main/scala/Generators.scala
+++ b/src/main/scala/Generators.scala
@@ -2,21 +2,22 @@ import slick.codegen.SourceCodeGenerator
import slick.{model => m}
class RowSourceCodeGenerator(
- model: m.Model,
- override val headerComment: String,
- override val imports: String,
- override val schemaName: String,
- fullDatabaseModel: m.Model,
- idType: Option[String],
- manualForeignKeys: Map[(String, String), (String, String)]
+ model: m.Model,
+ override val headerComment: String,
+ override val imports: String,
+ override val schemaName: String,
+ fullDatabaseModel: m.Model,
+ idType: Option[String],
+ manualForeignKeys: Map[(String, String), (String, String)]
) extends TypedIdSourceCodeGenerator(
- fullDatabaseModel,
- idType,
- manualForeignKeys
-) with RowOutputHelpers {
+ fullDatabaseModel,
+ idType,
+ manualForeignKeys
+ )
+ with RowOutputHelpers {
override def Table = new TypedIdTable(_) { table =>
- override def Column = new TypedIdColumn(_) { }
+ override def Column = new TypedIdColumn(_) {}
override def EntityType = new EntityType {
override def code: String =
(if (classEnabled) "final " else "") + super.code
@@ -39,9 +40,10 @@ class TableSourceCodeGenerator(
parentType: Option[String],
idType: Option[String],
typeReplacements: Map[String, String])
- extends TypedIdSourceCodeGenerator(fullDatabaseModel, idType, manualForeignKeys)
- with TableOutputHelpers
-{
+ extends TypedIdSourceCodeGenerator(fullDatabaseModel,
+ idType,
+ manualForeignKeys)
+ with TableOutputHelpers {
val defaultIdImplementation =
"""|final case class Id[T](v: Int)
@@ -94,7 +96,7 @@ class TableSourceCodeGenerator(
}
override def Column = new TypedIdColumn(_) {
- override def rawType: String = {
+ override def rawType: String = {
typeReplacements.getOrElse(model.tpe, super.rawType)
}
}
diff --git a/src/main/scala/NamespacedCodegen.scala b/src/main/scala/NamespacedCodegen.scala
index fd6ad3e..05b1c35 100644
--- a/src/main/scala/NamespacedCodegen.scala
+++ b/src/main/scala/NamespacedCodegen.scala
@@ -12,11 +12,21 @@ import slick.model.{Column, Model, Table, QualifiedName}
object Generator {
- def outputSchemaCode(schemaName: String, profile: String, folder: String, pkg: String, tableGen: TableFileGenerator, rowGen: RowFileGenerator): Unit = {
+ def outputSchemaCode(schemaName: String,
+ profile: String,
+ folder: String,
+ pkg: String,
+ tableGen: TableFileGenerator,
+ rowGen: RowFileGenerator): Unit = {
val camelSchemaName = schemaName.split('_').map(_.capitalize).mkString("")
- tableGen.writeTablesToFile(profile: String, folder: String, pkg: String, fileName = s"${camelSchemaName}Tables.scala")
- rowGen.writeRowsToFile(folder: String, pkg: String, fileName = s"{camelSchemaName}Rows.scala")
+ tableGen.writeTablesToFile(profile: String,
+ folder: String,
+ pkg: String,
+ fileName = s"${camelSchemaName}Tables.scala")
+ rowGen.writeRowsToFile(folder: String,
+ pkg: String,
+ fileName = s"{camelSchemaName}Rows.scala")
}
def run(uri: URI,
@@ -60,7 +70,7 @@ object Generator {
idType,
manualForeignKeys
)
- /*
+ /*
val tableGenerator: TableFileGenerator = ???
outputSchemaCode(
@@ -70,7 +80,7 @@ object Generator {
pkg = pkg,
tableGen = tableGenerator,
rowGen = rowGenerator)
- */
+ */
}
} finally {
dc.db.close()
diff --git a/src/main/scala/OutputHelpers.scala b/src/main/scala/OutputHelpers.scala
index 9e6dd0f..ce71a44 100644
--- a/src/main/scala/OutputHelpers.scala
+++ b/src/main/scala/OutputHelpers.scala
@@ -1,20 +1,28 @@
import slick.codegen.{SourceCodeGenerator, OutputHelpers}
trait TableFileGenerator { self: SourceCodeGenerator =>
- def writeTablesToFile(profile: String, folder:String, pkg: String, fileName: String): Unit
+ def writeTablesToFile(profile: String,
+ folder: String,
+ pkg: String,
+ fileName: String): Unit
}
trait RowFileGenerator { self: SourceCodeGenerator =>
- def writeRowsToFile(folder:String, pkg: String, fileName: String): Unit
+ def writeRowsToFile(folder: String, pkg: String, fileName: String): Unit
}
-trait TableOutputHelpers extends TableFileGenerator with OutputHelpers { self: SourceCodeGenerator =>
+trait TableOutputHelpers extends TableFileGenerator with OutputHelpers {
+ self: SourceCodeGenerator =>
def headerComment: String
def schemaName: String
def imports: String
- def packageTableCode(headerComment: String, pkg: String, schemaName: String, imports: String, profile: String): String =
+ def packageTableCode(headerComment: String,
+ pkg: String,
+ schemaName: String,
+ imports: String,
+ profile: String): String =
s"""|${headerComment.trim().lines.map("// " + _).mkString("\n")}
|package $pkg
|package $schemaName
@@ -33,18 +41,30 @@ trait TableOutputHelpers extends TableFileGenerator with OutputHelpers { self: S
| ${indent(code)} |
|""".stripMargin.trim()
- def writeTablesToFile(profile: String, folder:String, pkg: String, fileName: String): Unit = {
- writeStringToFile(content = packageTableCode(headerComment, pkg, schemaName, imports, profile), folder = folder, pkg = s"$pkg.$schemaName", fileName = fileName)
+ def writeTablesToFile(profile: String,
+ folder: String,
+ pkg: String,
+ fileName: String): Unit = {
+ writeStringToFile(
+ content =
+ packageTableCode(headerComment, pkg, schemaName, imports, profile),
+ folder = folder,
+ pkg = s"$pkg.$schemaName",
+ fileName = fileName)
}
}
-trait RowOutputHelpers extends RowFileGenerator with OutputHelpers { self: SourceCodeGenerator =>
+trait RowOutputHelpers extends RowFileGenerator with OutputHelpers {
+ self: SourceCodeGenerator =>
def headerComment: String
def schemaName: String
def imports: String
- def packageRowCode(headerComment: String, schemaName: String, pkg: String, imports: String): String =
+ def packageRowCode(headerComment: String,
+ schemaName: String,
+ pkg: String,
+ imports: String): String =
s"""|${headerComment.trim().lines.map("// " + _).mkString("\n")}
|/** Definitions for table rows types of database schema $schemaName */
|package $pkg
@@ -55,8 +75,12 @@ trait RowOutputHelpers extends RowFileGenerator with OutputHelpers { self: Sourc
|$code
|""".stripMargin.trim()
- def writeRowsToFile(folder:String, pkg: String, fileName: String): Unit = {
+ def writeRowsToFile(folder: String, pkg: String, fileName: String): Unit = {
- writeStringToFile(content = packageRowCode(headerComment, schemaName, pkg, imports), folder = folder, pkg = s"$pkg.$schemaName", fileName = fileName)
+ writeStringToFile(
+ content = packageRowCode(headerComment, schemaName, pkg, imports),
+ folder = folder,
+ pkg = s"$pkg.$schemaName",
+ fileName = fileName)
}
}
diff --git a/src/main/scala/TypedIdTable.scala b/src/main/scala/TypedIdTable.scala
index bcfc065..c7f0151 100644
--- a/src/main/scala/TypedIdTable.scala
+++ b/src/main/scala/TypedIdTable.scala
@@ -2,14 +2,13 @@ import slick.codegen.SourceCodeGenerator
import slick.{model => m}
class TypedIdSourceCodeGenerator(
- model: m.Model,
- idType: Option[String],
- manualForeignKeys: Map[(String, String), (String, String)]
+ model: m.Model,
+ idType: Option[String],
+ manualForeignKeys: Map[(String, String), (String, String)]
) extends SourceCodeGenerator(model) {
val manualReferences = SchemaParser.references(model, manualForeignKeys)
- def derefColumn(table: m.Table,
- column: m.Column): (m.Table, m.Column) = {
+ def derefColumn(table: m.Table, column: m.Column): (m.Table, m.Column) = {
val referencedColumn: Seq[(m.Table, m.Column)] =
table.foreignKeys
.filter(tableFk => tableFk.referencingColumns.forall(_ == column))
@@ -25,7 +24,8 @@ class TypedIdSourceCodeGenerator(
}
class TypedIdTable(model: m.Table) extends Table(model) { table =>
- class TypedIdColumn(override val model: m.Column) extends Column(model) { column =>
+ class TypedIdColumn(override val model: m.Column) extends Column(model) {
+ column =>
def tableReferenceName(tableName: m.QualifiedName) = {
val schemaObjectName = tableName.schema.getOrElse("`public`")