From e32c258944023a25254e1b39f0d9fe1f39dc2513 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de> Date: Thu, 25 Feb 2016 09:03:40 +0100 Subject: [PATCH] add Blueprints exporter --- .../analysis/graph/BlueprintsExporter.java | 56 +++++++++++++++++++ .../kieker/analysis/graph/GraphTester.java | 4 +- 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 src/main/java/kieker/analysis/graph/BlueprintsExporter.java diff --git a/src/main/java/kieker/analysis/graph/BlueprintsExporter.java b/src/main/java/kieker/analysis/graph/BlueprintsExporter.java new file mode 100644 index 00000000..6d630172 --- /dev/null +++ b/src/main/java/kieker/analysis/graph/BlueprintsExporter.java @@ -0,0 +1,56 @@ +package kieker.analysis.graph; + +import java.util.HashMap; +import java.util.Map; + +import com.tinkerpop.blueprints.impls.tg.TinkerGraph; + +public class BlueprintsExporter { + + private final Graph graph; + private final com.tinkerpop.blueprints.Graph exportGraph = new TinkerGraph(); + private final Map<Vertex, com.tinkerpop.blueprints.Vertex> mappedVertices = new HashMap<>(); + + public BlueprintsExporter(final Graph graph) { + this.graph = graph; + } + + public com.tinkerpop.blueprints.Graph exportGraph() { + + mapVertices(); + mapEdges(); + + return exportGraph; + + } + + private void mapVertices() { + + for (final Vertex vertex : graph.getVertices()) { + com.tinkerpop.blueprints.Vertex mappedVertex = exportGraph.addVertex(vertex.getId()); + mappedVertices.put(vertex, mappedVertex); + for (final String propertyKey : vertex.getPropertyKeys()) { + mappedVertex.setProperty(propertyKey, vertex.getProperty(propertyKey)); + } + } + + } + + private void mapEdges() { + + for (final Edge edge : graph.getEdges()) { + final com.tinkerpop.blueprints.Vertex mappedInVertex = mappedVertices.get(edge.getVertex(Direction.IN)); + final com.tinkerpop.blueprints.Vertex mappedOutVertex = mappedVertices.get(edge.getVertex(Direction.OUT)); + String label = edge.getProperty("label"); + if (label == null) { + label = ""; + } + com.tinkerpop.blueprints.Edge mappedEdge = exportGraph.addEdge(edge.getId(), mappedOutVertex, mappedInVertex, label); + for (final String propertyKey : edge.getPropertyKeys()) { + mappedEdge.setProperty(propertyKey, edge.getProperty(propertyKey)); + } + } + + } + +} diff --git a/src/main/java/kieker/analysis/graph/GraphTester.java b/src/main/java/kieker/analysis/graph/GraphTester.java index 8e7f719d..b325c87b 100644 --- a/src/main/java/kieker/analysis/graph/GraphTester.java +++ b/src/main/java/kieker/analysis/graph/GraphTester.java @@ -76,8 +76,8 @@ public class GraphTester { // node2.addEdgeTo(node11); // Export to Blueprints - // BlueprintsExporter blueprintsExporter = new BlueprintsExporter(graph); - // System.out.println(blueprintsExporter.exportGraph()); + BlueprintsExporter blueprintsExporter = new BlueprintsExporter(graph); + System.out.println(blueprintsExporter.exportGraph()); } -- GitLab