/
GroovyFewsHelpers.groovy
48 lines (42 loc) · 1.11 KB
/
GroovyFewsHelpers.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//package com.flowmatters.groovyfews
class GroovyFewsHelpers
{
static def tsDefaults=[valueType:'scalar',timeSeriesType:'external historical',readWriteMode:'add originals',synchLevel:1]
static def monthsOfTheYear=[
'January','February','March','April','May','June',
'July','August','September','October','November','December']
static def daysInMonth=[31,29,31,30,31,30,31,31,30,31,30,31]
static def fromArgsOrDefault(element,parent,args)
{
if(args[element])
{
parent.nodeCompleted(parent,parent.createNode(element,args[element]))
}
else if(tsDefaults[element])
{
parent.nodeCompleted(parent,parent.createNode(element,tsDefaults[element]))
}
}
static def buildTimeSeriesSet(args,parent)
{
parent.timeSeriesSet(){
['moduleInstanceId','valueType','parameterId','locationSetId','timeSeriesType',
'timeStep','relativeViewPeriod','readWriteMode','synchLevel'].each{
fromArgsOrDefault(it,delegate,args)
}
}
}
static def loadTable(fn)
{
def f = new File(fn)
csvTable(f.readLines())
}
static def csvTable(lines)
{
def result = []
lines.each{
result.push it.split(',')
}
result
}
}