diff options
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.xtend | 22 |
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 | |||
14 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry | 14 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry |
15 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference | 15 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference |
16 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification | 16 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification |
17 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference | ||
18 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification | ||
17 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference | 19 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference |
18 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification | 20 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification |
19 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification | 21 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification |
@@ -30,8 +32,6 @@ import org.eclipse.core.runtime.Status | |||
30 | import org.eclipse.core.runtime.jobs.Job | 32 | import org.eclipse.core.runtime.jobs.Job |
31 | import org.eclipse.emf.common.util.URI | 33 | import org.eclipse.emf.common.util.URI |
32 | import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor | 34 | import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor |
33 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification | ||
34 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference | ||
35 | 35 | ||
36 | @FinalFieldsConstructor | 36 | @FinalFieldsConstructor |
37 | class ScriptExecutor { | 37 | class 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 | |||