aboutsummaryrefslogtreecommitdiffstats
path: root/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-02-24 20:56:42 -0500
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-02-24 20:56:42 -0500
commit5f1117a84bc3c24ec71d6bcb9d3f2badffca28c2 (patch)
tree8f0b68af71ae18429c134a533b9951ccd21af558 /Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
parentApplication configuration update (diff)
downloadVIATRA-Generator-5f1117a84bc3c24ec71d6bcb9d3f2badffca28c2.tar.gz
VIATRA-Generator-5f1117a84bc3c24ec71d6bcb9d3f2badffca28c2.tar.zst
VIATRA-Generator-5f1117a84bc3c24ec71d6bcb9d3f2badffca28c2.zip
Execution update
Diffstat (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend')
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend55
1 files changed, 53 insertions, 2 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
index c783c9b9..7bd73792 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
@@ -3,22 +3,29 @@ package hu.bme.mit.inf.dslreasoner.application.execution
3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigReference 3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigReference
4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification 4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification
5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript 5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
6import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CustomEntry
7import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.DocumentationEntry
8import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport
6import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileReference 9import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileReference
7import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification 10import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification
8import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask 11import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask
9import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternReference 12import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternReference
13import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry
10import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference 14import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference
11import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification 15import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
12import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference 16import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference
13import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification 17import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification
14import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification 18import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification
19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RuntimeEntry
15import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeReference 20import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeReference
16import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification 21import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification
17import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task 22import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task
18import hu.bme.mit.inf.dslreasoner.application.execution.util.ApplicationConfigurationParser 23import hu.bme.mit.inf.dslreasoner.application.execution.util.ApplicationConfigurationParser
24import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel
19import java.util.LinkedHashMap 25import java.util.LinkedHashMap
26import java.util.Optional
20import org.eclipse.emf.common.util.URI 27import org.eclipse.emf.common.util.URI
21import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport 28import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.DocumentLevelSpecification
22 29
23class ScriptExecutor { 30class ScriptExecutor {
24 val parser = new ApplicationConfigurationParser 31 val parser = new ApplicationConfigurationParser
@@ -140,11 +147,55 @@ class ScriptExecutor {
140 val map = new LinkedHashMap 147 val map = new LinkedHashMap
141 148
142 if(config != null) { 149 if(config != null) {
143 for(entry : config.entries) { 150 for(entry : config.entries.filter(CustomEntry)) {
144 map.put(entry.key,entry.value) 151 map.put(entry.key,entry.value)
145 } 152 }
146 } 153 }
147 154
148 return map 155 return map
149 } 156 }
157 def getRuntimeLimit(ConfigSpecification config) {
158 if(config === null) {
159 return Optional::empty
160 } else {
161 val runtimeEntry = config.entries.filter(RuntimeEntry).head
162 if(runtimeEntry!==null) {
163 return Optional::of(runtimeEntry.millisecLimit)
164 } else {
165 return Optional::empty
166 }
167 }
168 }
169 def getMemoryLimit(ConfigSpecification config) {
170 if(config === null) {
171 return Optional::empty
172 } else {
173 val memoryEntry = config.entries.filter(MemoryEntry).head
174 if(memoryEntry!==null) {
175 return Optional::of(memoryEntry.megabyteLimit)
176 } else {
177 return Optional::empty
178 }
179 }
180 }
181 def getDocumentation(ConfigSpecification config) {
182 if(config === null) {
183 return Optional::empty
184 } else {
185 val documentationEntry = config.entries.filter(DocumentationEntry).head
186 if(documentationEntry!==null) {
187 val DocumentLevelSpecification value = documentationEntry.level
188 val translatedValue = if(value===DocumentLevelSpecification::FULL) {
189 DocumentationLevel::FULL
190 } else if(value===DocumentLevelSpecification::NORMAL) {
191 DocumentationLevel::NORMAL
192 } else if(value===DocumentLevelSpecification::NONE) {
193 DocumentationLevel::NONE
194 } else {
195 throw new UnsupportedOperationException('''Unable to translate documentation level "«value»"!''')
196 }
197 return Optional::of(translatedValue)
198 }
199 }
200 }
150} \ No newline at end of file 201} \ No newline at end of file