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:
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.xtend22
1 files changed, 19 insertions, 3 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 3941179a..3dea677f 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
@@ -14,6 +14,8 @@ import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatt
14import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry 14import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry
15import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference 15import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference
16import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification 16import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
17import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference
18import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification
17import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference 19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference
18import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification 20import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification
19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification 21import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification
@@ -30,8 +32,6 @@ import org.eclipse.core.runtime.Status
30import org.eclipse.core.runtime.jobs.Job 32import org.eclipse.core.runtime.jobs.Job
31import org.eclipse.emf.common.util.URI 33import org.eclipse.emf.common.util.URI
32import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor 34import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
33import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification
34import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference
35 35
36@FinalFieldsConstructor 36@FinalFieldsConstructor
37class ScriptExecutor { 37class ScriptExecutor {
@@ -62,8 +62,12 @@ class ScriptExecutor {
62 def executeScript(ConfigurationScript script, IProgressMonitor monitor) { 62 def executeScript(ConfigurationScript script, IProgressMonitor monitor) {
63 script.activateAllEPackageReferences 63 script.activateAllEPackageReferences
64 val tasks = script.commands.filter(Task) 64 val tasks = script.commands.filter(Task)
65 val intermediateScriptConsole = scriptConsoleFactory.createScriptConsole(false, null, null, null)
65 66
66 for(taskIndex : 0..<tasks.size) { 67 for(taskIndex : 0..<tasks.size) {
68 if(taskIndex>0) {
69 restForMeasurements(intermediateScriptConsole)
70 }
67 val task = tasks.get(taskIndex) 71 val task = tasks.get(taskIndex)
68 monitor.beginTask('''Executing task«IF tasks.size>1» «taskIndex+1»«ENDIF»: «task.name»''',task.totalWork) 72 monitor.beginTask('''Executing task«IF tasks.size>1» «taskIndex+1»«ENDIF»: «task.name»''',task.totalWork)
69 task.execute(monitor) 73 task.execute(monitor)
@@ -250,4 +254,16 @@ class ScriptExecutor {
250 } 254 }
251 } 255 }
252 } 256 }
253} 257
258 static val boolean measuring = true
259 static def restForMeasurements(ScriptConsole console) {
260 if(measuring) {
261 if(console !== null) {
262 console.writeMessage('''Cleaning memory.''')
263 }
264 System.gc System.gc System.gc
265 Thread.sleep(2500)
266 }
267 }
268}
269