blob: 32d44540cfe66d7ce12a98107dc7dd888d1d8952 (
plain) (
blame)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
package hu.bme.mit.inf.dslreasoner.application.execution
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternReference
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileReference
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeReference
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification
import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigReference
import java.util.LinkedHashMap
class ScriptExecutor {
def static void main(String[] args) {
println("generator")
}
public def executeScript(ConfigurationScript script) {
val tasks = script.commands.filter(Task)
for(task : tasks.filterNull) {
task.execute
}
}
def public dispatch execute(GenerationTask task) {
}
def public dispatch execute(Task task) {
throw new IllegalArgumentException('''Unsupported task type: «task.class.simpleName»!''')
}
def dispatch getMetamodelSpecification(MetamodelSpecification config) {
config
}
def dispatch getMetamodelSpecification(MetamodelReference config) {
config.referred.specification
}
def dispatch getMetamodelSpecification(Void config) {
null
}
def dispatch getPatternSpecification(PatternSpecification config) {
config
}
def dispatch getPatternSpecification(GraphPatternReference config) {
config.referred.specification
}
def dispatch getPatternSpecification(Void config) {
null
}
def dispatch getPartialModelSpecification(PartialModelSpecification config) {
config
}
def dispatch getPartialModelSpecification(PartialModelReference config) {
config.referred.specification
}
def dispatch getPartialModelSpecification(Void config) {
null
}
def dispatch getFileSpecification(FileSpecification config) {
config
}
def dispatch getFileSpecification(FileReference config) {
config.referred.specification
}
def dispatch getFileSpecification(Void config) {
null
}
def dispatch getScopeSpecification(ScopeSpecification config) {
config
}
def dispatch getScopeSpecification(ScopeReference config) {
config.referred.specification
}
def dispatch getScopeSpecification(Void config) {
null
}
def dispatch getConfiguration(ConfigSpecification config) {
config
}
def dispatch getConfiguration(ConfigReference config) {
config.config.specification
}
def dispatch getConfiguration(Void config) {
null
}
def transformToMap(ConfigSpecification config) {
val map = new LinkedHashMap
if(config != null) {
for(entry : config.entries) {
map.put(entry.key,entry.value)
}
}
return map
}
}
|