From 8be11dc3a5920d7a97831c688c06999dd09bfd1b Mon Sep 17 00:00:00 2001 From: Stewart Stewart Date: Fri, 24 Feb 2017 07:46:40 -0500 Subject: use typed id columns in row generators and remove old implementation --- src/main/scala/Generators.scala | 14 ++++++-- src/main/scala/NamespacedCodegen.scala | 58 +++------------------------------- 2 files changed, 15 insertions(+), 57 deletions(-) (limited to 'src') diff --git a/src/main/scala/Generators.scala b/src/main/scala/Generators.scala index 345baa4..402f87f 100644 --- a/src/main/scala/Generators.scala +++ b/src/main/scala/Generators.scala @@ -5,10 +5,18 @@ class RowSourceCodeGenerator( model: m.Model, override val headerComment: String, override val imports: String, - override val schemaName: String -) extends SourceCodeGenerator(model) with RowOutputHelpers { + override val schemaName: String, + fullDatabaseModel: m.Model, + idType: Option[String], + manualForeignKeys: Map[(String, String), (String, String)] +) extends TypedIdSourceCodeGenerator( + fullDatabaseModel, + idType, + manualForeignKeys +) with RowOutputHelpers { - override def Table = new Table(_) { table => + override def Table = new TypedIdTable(_) { table => + override def Column = new TypedIdColumn(_) { } override def EntityType = new EntityType { override def code: String = (if (classEnabled) "final " else "") + super.code diff --git a/src/main/scala/NamespacedCodegen.scala b/src/main/scala/NamespacedCodegen.scala index ea6fcdf..16ab383 100644 --- a/src/main/scala/NamespacedCodegen.scala +++ b/src/main/scala/NamespacedCodegen.scala @@ -57,7 +57,10 @@ object Generator { schemaOnlyModel, headerComment = header, imports = schemaImports.map("import " + _).mkString("\n"), - schemaName = schemaName + schemaName = schemaName, + dbModel, + idType, + manualForeignKeys ) /* val tableGenerator: TableFileGenerator = ??? @@ -237,59 +240,6 @@ object SchemaParser { } } -class RowGenerator(pkg: String, - fullDatabaseModel: Model, - schemaOnlyModel: Model, - manualForeignKeys: Map[(String, String), (String, String)], - override val parentType: Option[String], - idType: Option[String], - override val headerComment: String, - schemaImports: List[String], - typeReplacements: Map[String, String]) - extends Generator(pkg, - fullDatabaseModel, - schemaOnlyModel, - manualForeignKeys, - parentType, - idType, - headerComment, - schemaImports, - typeReplacements) { - - override def Table = new TableO(_) { - //override def Column = new IdColumn(_){ } - override def code = Seq[Def](EntityType).map(_.docWithCode) - } - - override def code = tables.map(_.code.mkString("\n")).mkString("\n\n") - - def writeToFile(schemaName: String, - folder: String, - pkg: String, - fileName: String) = { - writeStringToFile(packageCode(pkg, schemaName), - folder = folder, - pkg = pkg, - fileName = fileName) - } - - override val imports = schemaImports.map("import " + _).mkString("\n") - - def packageCode(pkg: String, schemaName: String) = { - s"""|package $pkg - |package $schemaName - | - |$imports - | - |$code - |""".stripMargin.trim() - } - - // disable helpers for Table schema generators - //override def packageCode(profile: String, pkg: String, container: String, parentType: Option[String]) = ??? - //override def writeToFile(profile: String, folder: String, pkg: String, container: String, fileName: String) = ??? -} - class TableGenerator( pkg: String, fullDatabaseModel: Model, -- cgit v1.2.3