View difference between Paste ID: 2b2whuDK and 6LEVMYRE
SHOW: | | - or go back to the newest paste.
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)