From 5f1117a84bc3c24ec71d6bcb9d3f2badffca28c2 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sat, 24 Feb 2018 20:56:42 -0500 Subject: Execution update --- .../application/execution/ScriptExecutor.xtend | 55 +++++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend') 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 import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigReference import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CustomEntry +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.DocumentationEntry +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileReference import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification 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.MemoryEntry 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.RuntimeEntry import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeReference import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task import hu.bme.mit.inf.dslreasoner.application.execution.util.ApplicationConfigurationParser +import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel import java.util.LinkedHashMap +import java.util.Optional import org.eclipse.emf.common.util.URI -import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.DocumentLevelSpecification class ScriptExecutor { val parser = new ApplicationConfigurationParser @@ -140,11 +147,55 @@ class ScriptExecutor { val map = new LinkedHashMap if(config != null) { - for(entry : config.entries) { + for(entry : config.entries.filter(CustomEntry)) { map.put(entry.key,entry.value) } } return map } + def getRuntimeLimit(ConfigSpecification config) { + if(config === null) { + return Optional::empty + } else { + val runtimeEntry = config.entries.filter(RuntimeEntry).head + if(runtimeEntry!==null) { + return Optional::of(runtimeEntry.millisecLimit) + } else { + return Optional::empty + } + } + } + def getMemoryLimit(ConfigSpecification config) { + if(config === null) { + return Optional::empty + } else { + val memoryEntry = config.entries.filter(MemoryEntry).head + if(memoryEntry!==null) { + return Optional::of(memoryEntry.megabyteLimit) + } else { + return Optional::empty + } + } + } + def getDocumentation(ConfigSpecification config) { + if(config === null) { + return Optional::empty + } else { + val documentationEntry = config.entries.filter(DocumentationEntry).head + if(documentationEntry!==null) { + val DocumentLevelSpecification value = documentationEntry.level + val translatedValue = if(value===DocumentLevelSpecification::FULL) { + DocumentationLevel::FULL + } else if(value===DocumentLevelSpecification::NORMAL) { + DocumentationLevel::NORMAL + } else if(value===DocumentLevelSpecification::NONE) { + DocumentationLevel::NONE + } else { + throw new UnsupportedOperationException('''Unable to translate documentation level "«value»"!''') + } + return Optional::of(translatedValue) + } + } + } } \ No newline at end of file -- cgit v1.2.3-54-g00ecf