aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/NamespacedCodegen.scala
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2017-02-24 10:24:48 -0500
committerStewart Stewart <stewinsalot@gmail.com>2017-02-24 10:25:53 -0500
commite3023da0727520129d744607a0c60979b5f21fc1 (patch)
treeb1b9814b00114d6970d1d5a61f5181c8db9dbe21 /src/main/scala/NamespacedCodegen.scala
parentd628c535f658cc8af9b9f280b5222eb3364e8c30 (diff)
downloadslick-codegen-plugin-e3023da0727520129d744607a0c60979b5f21fc1.tar.gz
slick-codegen-plugin-e3023da0727520129d744607a0c60979b5f21fc1.tar.bz2
slick-codegen-plugin-e3023da0727520129d744607a0c60979b5f21fc1.zip
clean up main file
Diffstat (limited to 'src/main/scala/NamespacedCodegen.scala')
-rw-r--r--src/main/scala/NamespacedCodegen.scala100
1 files changed, 0 insertions, 100 deletions
diff --git a/src/main/scala/NamespacedCodegen.scala b/src/main/scala/NamespacedCodegen.scala
deleted file mode 100644
index 7ae4ac0..0000000
--- a/src/main/scala/NamespacedCodegen.scala
+++ /dev/null
@@ -1,100 +0,0 @@
-import java.net.URI
-import java.nio.file.Paths
-
-import scala.concurrent.Await
-import scala.concurrent.duration.Duration
-import scala.concurrent.ExecutionContext.Implicits.global
-import slick.backend.DatabaseConfig
-import slick.codegen.{SourceCodeGenerator, StringGeneratorHelpers}
-import slick.driver.JdbcProfile
-import slick.{model => sModel}
-import slick.model.{Column, Model, Table, QualifiedName}
-
-object Generator {
-
- 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")
- }
-
- def run(uri: URI,
- pkg: String,
- schemaNames: Option[List[String]],
- outputPath: String,
- manualForeignKeys: Map[(String, String), (String, String)],
- parentType: Option[String],
- idType: Option[String],
- header: String,
- schemaImports: List[String],
- typeReplacements: Map[String, String]) = {
- val dc: DatabaseConfig[JdbcProfile] =
- DatabaseConfig.forURI[JdbcProfile](uri)
- val parsedSchemasOpt: Option[Map[String, List[String]]] =
- schemaNames.map(SchemaParser.parse)
- val imports = schemaImports.map("import " + _).mkString("\n")
-
- try {
- val dbModel: Model = Await.result(
- dc.db.run(SchemaParser.createModel(dc.driver, parsedSchemasOpt)),
- Duration.Inf)
-
- parsedSchemasOpt.getOrElse(Map.empty).foreach {
- case (schemaName, tables) =>
- val profile =
- s"""slick.backend.DatabaseConfig.forConfig[slick.driver.JdbcProfile]("${uri
- .getFragment()}").driver"""
-
- val schemaOnlyModel = Await.result(
- dc.db.run(
- SchemaParser.createModel(dc.driver,
- Some(Map(schemaName -> tables)))),
- Duration.Inf)
-
- val rowGenerator = new RowSourceCodeGenerator(
- schemaOnlyModel,
- headerComment = header,
- imports = imports,
- schemaName = schemaName,
- dbModel,
- idType,
- manualForeignKeys,
- typeReplacements
- )
-
- val tableGenerator = new TableSourceCodeGenerator(
- schemaOnlyModel = schemaOnlyModel,
- headerComment = header,
- imports = imports,
- schemaName = schemaName,
- fullDatabaseModel = dbModel,
- pkg = pkg,
- manualForeignKeys,
- parentType = parentType,
- idType,
- typeReplacements)
-
- outputSchemaCode(
- schemaName = schemaName,
- profile = profile,
- folder = outputPath,
- pkg = pkg,
- tableGen = tableGenerator,
- rowGen = rowGenerator)
- }
- } finally {
- dc.db.close()
- }
- }
-}