From 6b2cbbe534b51951d3a9b600f9f5a59a3660ae1e Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Tue, 28 Aug 2018 16:32:24 +0200 Subject: Separated the loading and executing of a script. --- .../execution/StandaloneScriptExecutor.xtend | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/StandaloneScriptExecutor.xtend') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/StandaloneScriptExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/StandaloneScriptExecutor.xtend index 97fff9c6..f373d910 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/StandaloneScriptExecutor.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/StandaloneScriptExecutor.xtend @@ -32,7 +32,7 @@ class StandaloneScriptExecutor { } } - def static executeScript(String path){ + def static loadScript(String path) { //Initialise extensions EMFPatternLanguageStandaloneSetup.doSetup ApplicationConfigurationStandaloneSetup.doSetup @@ -49,8 +49,8 @@ class StandaloneScriptExecutor { try{ resource = resourceSet.getResource(URI.createURI(path),true) } catch(Exception e) { - val message = '''Unable to load Configuration Script!''' - return message + val message = '''Unable to load Configuration Script! «e.message»''' + throw new IllegalArgumentException(message) } EcoreUtil::resolveAll(resource) @@ -58,11 +58,10 @@ class StandaloneScriptExecutor { if(errors.empty) { val content = resource.contents.head if(content instanceof ConfigurationScript) { - val executor = new ScriptExecutor - executor.executeScript(content,new NullProgressMonitor) + return content } else { val message = '''Content is not a Configuration Script! (Found : «content.class.simpleName»)''' - return message + throw new IllegalArgumentException(message) } } else { val message = ''' @@ -71,11 +70,21 @@ class StandaloneScriptExecutor { «"\t"»«error.message» «ENDFOR» ''' - return message + throw new IllegalArgumentException(message) } } else { - val message = '''Unsupported file extension: «ext»''' - return message + throw new IllegalArgumentException('''Unsupported file extension: «ext»''') + } + } + + def static executeScript(String path){ + val executor = new ScriptExecutor + try{ + val content = loadScript(path) + executor.executeScript(content,new NullProgressMonitor) + return null + } catch(Exception e) { + return e.message } } } \ No newline at end of file -- cgit v1.2.3-54-g00ecf