From 6c75bf0854c6d9e9a46fbe38500682e8198675a9 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Mon, 27 Aug 2018 18:29:20 +0200 Subject: ScriptConsole to redirects console output to STDOUT in java applications --- .../META-INF/MANIFEST.MF | 3 ++- .../application/execution/GenerationTaskExecutor.xtend | 3 ++- .../application/execution/ScriptConsole.xtend | 10 ++++------ .../execution/StandaloneScriptExecutor.xtend | 17 ++++++++++++----- 4 files changed, 20 insertions(+), 13 deletions(-) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF b/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF index e874139c..44b8c453 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF +++ b/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF @@ -37,7 +37,8 @@ Require-Bundle: org.eclipse.xtext, org.eclipse.core.filesystem, org.eclipse.ui.workbench.texteditor, org.eclipse.ui.ide, - org.eclipse.text + org.eclipse.text, + org.eclipse.collections;bundle-version="9.2.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: hu.bme.mit.inf.dslreasoner.application, hu.bme.mit.inf.dslreasoner.application.applicationConfiguration, diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend index 975da665..69365add 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend @@ -28,6 +28,7 @@ import org.eclipse.emf.common.util.URI import hu.bme.mit.inf.dslreasoner.workspace.URIBasedWorkspace import java.util.LinkedList import java.io.File +import org.eclipse.ui.console.ConsolePlugin class GenerationTaskExecutor { val metamodelLoader = new MetamodelLoader @@ -64,7 +65,7 @@ class GenerationTaskExecutor { val memoryLimit = scriptExecutor.getMemoryLimit(configSpecification) // 2. create console - val console = new ScriptConsole(false,true,false, + val console = new ScriptConsole(true,false, if(messageFile!==null) URI.createURI(messageFile.path) else null, if(debugFolder!==null) URI.createURI('''«debugFolder.path»/errors.txt''') else null, if(statisticsFile!==null) URI.createURI(statisticsFile.path) else null diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend index 289bbe5c..91d3d286 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend @@ -9,6 +9,8 @@ import java.util.LinkedHashSet import java.util.LinkedList import java.util.List import java.util.Map +import java.util.concurrent.CompletableFuture +import javax.swing.text.BadLocationException import org.eclipse.emf.common.util.URI import org.eclipse.jface.text.DocumentEvent import org.eclipse.jface.text.IDocumentListener @@ -17,9 +19,6 @@ import org.eclipse.ui.console.ConsolePlugin import org.eclipse.ui.console.MessageConsole import org.eclipse.ui.console.MessageConsoleStream import org.eclipse.xtend.lib.annotations.Data -import java.util.concurrent.CompletableFuture -import java.util.concurrent.Future -import javax.swing.text.BadLocationException //import org.eclipse.ui.console.MessageConsole @@ -44,7 +43,6 @@ class ScriptConsole { static val empty = "" public new( - boolean printToConsole, boolean printToRuntimeConsole, boolean cleanFiles, URI messageConsoleURI, @@ -60,7 +58,7 @@ class ScriptConsole { this.statisticsWorkspace = prepareWorkspace(statisticsConsoleURI,errorMessagesDuringInitialisation) this.statisticsFileName = prepareFileName(statisticsConsoleURI) - this.printToConsole = printToConsole + this.printToConsole = (ConsolePlugin.getDefault() === null) this.runtimeConsole = if(printToRuntimeConsole) { prepareRuntimeConsole } else { null } errorMessagesDuringInitialisation.forEach[ @@ -195,7 +193,7 @@ class ScriptConsole { throw new IllegalArgumentException } - return '''«FOR i : 0.. 1 @@ -36,6 +38,7 @@ class StandaloneScriptExecutor { ApplicationConfigurationStandaloneSetup.doSetup Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("xmi",new XMIResourceFactoryImpl) Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("logicproblem",new XMIResourceFactoryImpl) + Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("partialmodel",new XMIResourceFactoryImpl) ReteEngine.getClass val ext = path.split("\\.").last @@ -46,7 +49,8 @@ class StandaloneScriptExecutor { try{ resource = resourceSet.getResource(URI.createURI(path),true) } catch(Exception e) { - return '''Unable to load Configuration Script!''' + val message = '''Unable to load Configuration Script!''' + return message } EcoreUtil::resolveAll(resource) @@ -57,18 +61,21 @@ class StandaloneScriptExecutor { val executor = new ScriptExecutor executor.executeScript(content,new NullProgressMonitor) } else { - return('''Content is not a Configuration Script! (Found : «content.class.simpleName»)''') + val message = '''Content is not a Configuration Script! (Found : «content.class.simpleName»)''' + return message } } else { - return ''' + val message = ''' The Configuration Script contains «errors.size» error«IF errors.size>1»s«ENDIF»: «FOR error : errors» «"\t"»«error.message» «ENDFOR» ''' + return message } } else { - return '''Unsupported file extension: «ext»''' + val message = '''Unsupported file extension: «ext»''' + return message } } } \ No newline at end of file -- cgit v1.2.3-70-g09d2