From c92e54135133ffc682fd2e73c1c9ae4b652a338a Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sat, 12 May 2018 18:12:01 +0200 Subject: Visualiser queue started --- .../PartialInterpretation2Graphviz.xtend | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend index 95e1f74d..446a0686 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend @@ -17,20 +17,18 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.par import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualisation import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace -import java.io.File +import java.util.Collection import java.util.HashMap import java.util.HashSet import java.util.LinkedList import java.util.List import java.util.Random import java.util.Set +import org.eclipse.xtext.xbase.lib.Functions.Function1 import static guru.nidi.graphviz.model.Factory.* import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* -import java.awt.image.BufferedImage -import java.util.Collection -import org.eclipse.xtext.xbase.lib.Functions.Function1 class GraphvizVisualisation implements PartialInterpretationVisualiser { @@ -244,10 +242,6 @@ class GraphvizVisualisation implements PartialInterpretationVisualiser { } } private def average(Iterable doubles) { return doubles.reduce[p1, p2|p1+p2]/doubles.size } - - - - } enum TypeColoringStyle { @@ -255,6 +249,8 @@ enum TypeColoringStyle { } class GraphvisVisualisation implements PartialInterpretationVisualisation { + private static VisualisationQueque queue = new VisualisationQueque + val private Graph graph public new(Graph graph) { @@ -262,11 +258,15 @@ class GraphvisVisualisation implements PartialInterpretationVisualisation { } override writeToFile(ReasonerWorkspace workspace, String name) { - val file = workspace.getFile('''«name».svg''') - //val bufferedImage = new BufferedImage - Graphviz.useEngine(new GraphvizV8Engine()); - Graphviz.fromGraph(graph)//.engine(Engine::NEATO) - .render(Format.SVG_STANDALONE).toFile(file) - workspace.refreshFile('''«name».svg''') + + val file = workspace.getFile('''«name»''') + queue.start + val future = queue.addTask(graph,file) + val message = future.get + if(message===null) { + workspace.refreshFile('''«name»''') + } else { + // Do nothing + } } } -- cgit v1.2.3-54-g00ecf