Advertisement
NLinker

Untitled

Nov 15th, 2013
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. case class JobTemplate(jtmId: Option[Int],
  2.                        srcId: Int,
  3.                        name: String,
  4.                        schedule: Option[String],
  5.                        timeZone: Option[String],
  6.                        extractionSQL: String,
  7.                        handler: Option[String],
  8.                        headerTemplate: Option[String],
  9.                        footerTemplate: Option[String],
  10.                        rowTemplate: Option[String],
  11.                        compressor: Option[String],
  12.                        filenameTemplates: Map[String, String],
  13.                        columnTypes: Map[String, String],
  14.                        paramValidators: Map[String, String],
  15.                        createdAt: DateTime,
  16.                        updatedAt: DateTime,
  17.                        isDeleted: Boolean) extends EditableEntity
  18.  
  19. // are we sure in the right order of the values?
  20. new JobTemplate(None, "Nielsen", 1, Some(schedule), Some(scheduleTz), selectStatement, Some("DLX"), Some(header), Some(footer), Some(row), Some("bzip2"), .... )
  21.  
  22.  
  23. case class JobTemplate(jtmId: Option[Int],
  24.                        srcId: Int,
  25.                        name: String,
  26.                        schedule: Option[Schedule],
  27.                        extractionSQL: String,
  28.                        outputData: OutputData,
  29.                        columnTypes: Map[String, String],
  30.                        paramValidators: Map[String, String],
  31.                        createdAt: DateTime,
  32.                        updatedAt: DateTime,
  33.                        isDeleted: Boolean) extends EditableEntity
  34.  
  35.  
  36.   def toObject(row: Tuple17[Option[Int], String, Int, Option[String],
  37.     Option[String], String, Option[String], Option[String], Option[String],
  38.     Option[String], Option[String], Map[String, String],
  39.     Map[String, String], Map[String, String], DateTime, DateTime, Boolean]): JobTemplate =
  40.     row match {
  41.       case (jtmId, name, srcId, schedule, timeZone, extractionSQL, handler,
  42.       headerTemplate, footerTemplate, rowTemplate, compressor, filenameTemplates,
  43.       columnTypes, paramValidators, createdAt, updatedAt, isDeleted) => {
  44.         val outputData = new OutputData(handler, headerTemplate,
  45.           footerTemplate, rowTemplate, compressor, filenameTemplates)
  46.         val schedule = for {
  47.           sh <- schedule
  48.           tz <- timeZone
  49.         } yield new Schedule(sh, tz)
  50.         new JobTemplate(jtmId, name, srcId, schedule, extractionSQL, outputData,
  51.           columnTypes, paramValidators, createdAt, updatedAt, isDeleted)
  52.       }
  53.     }
  54.  
  55.  
  56.   val jobTemplate = new model.JobTemplate(
  57.     jtmId = None,
  58.     name = "Nielsen",
  59.     srcId = 1,
  60.     schedule = Some(schedule),
  61.     timeZone = Some(scheduleTz),
  62.     extractionSQL = selectStatement,
  63.     handler = Some("DLX"),
  64.     headerTemplate = Some(header),
  65.     footerTemplate = Some(footer),
  66.     rowTemplate = Some(row),
  67.     compressor = Some("bzip2"),
  68.     filenameTemplates = Map("log" -> logFileName, "meta" -> metaFileName),
  69.     columnTypes = colTypes,
  70.     paramValidators = parValidators,
  71.     createdAt = now,
  72.     updatedAt = now,
  73.     isDeleted = ACTIVE.value)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement