From aa2611ceaddd90b902be77db4df6ba269b5f3dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de> Date: Sat, 26 Mar 2016 17:07:25 +0100 Subject: [PATCH] added mapping for properties to GraphML --- .../kieker/analysis/graph/GraphTester.java | 24 +++++++++++++++---- .../export/graphml/GraphTypeTransformer.java | 19 +++++++++++++-- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/main/java/kieker/analysis/graph/GraphTester.java b/src/main/java/kieker/analysis/graph/GraphTester.java index 222d92c3..1e3afc6c 100644 --- a/src/main/java/kieker/analysis/graph/GraphTester.java +++ b/src/main/java/kieker/analysis/graph/GraphTester.java @@ -1,6 +1,8 @@ package kieker.analysis.graph; -import kieker.analysis.graph.export.dot.DotExporter; +import java.util.ArrayList; + +import kieker.analysis.graph.export.graphml.GraphMLExporter; import kieker.analysis.graph.impl.GraphImpl; public class GraphTester { @@ -19,6 +21,7 @@ public class GraphTester { Edge edge12 = node1.addEdge(node2); Edge edge11 = node1.addEdge(node1); + edge11.setProperty("label", "label-LABELNAME"); Edge edge23 = node2.addEdge("e23", node3); @@ -80,11 +83,22 @@ public class GraphTester { System.out.println(edge.getId()); } - // GraphMLExporter graphMLExporter = new GraphMLExporter(); - // graphMLExporter.export(graph, System.out); + // Add some labels for nodes + for (Vertex vertex : graph.getVertices()) { + vertex.setProperty("label", "-[label]-" + vertex.getId().toString()); + } + + // Add some stuff for nodes + for (Vertex vertex : graph.getVertices()) { + vertex.setProperty("abcprop", 2016); + vertex.setProperty("xyzprop", new ArrayList<Boolean>()); + } + + GraphMLExporter graphMLExporter = new GraphMLExporter(); + graphMLExporter.export(graph, System.out); - DotExporter dotExporter = new DotExporter(); - dotExporter.export(graph, System.out); + // DotExporter dotExporter = new DotExporter(); + // dotExporter.export(graph, System.out); } diff --git a/src/main/java/kieker/analysis/graph/export/graphml/GraphTypeTransformer.java b/src/main/java/kieker/analysis/graph/export/graphml/GraphTypeTransformer.java index c601948f..02420b50 100644 --- a/src/main/java/kieker/analysis/graph/export/graphml/GraphTypeTransformer.java +++ b/src/main/java/kieker/analysis/graph/export/graphml/GraphTypeTransformer.java @@ -1,5 +1,8 @@ package kieker.analysis.graph.export.graphml; +import java.util.List; + +import org.graphdrawing.graphml.DataType; import org.graphdrawing.graphml.EdgeType; import org.graphdrawing.graphml.GraphEdgedefaultType; import org.graphdrawing.graphml.GraphType; @@ -27,7 +30,13 @@ public class GraphTypeTransformer extends AbstractTransformer<GraphType> { NodeType nodeType = new NodeType(); nodeType.setId(vertex.getId().toString()); - // TODO Map Properties + List<Object> dataOrPort = nodeType.getDataOrPort(); + for (final String propertyKey : vertex.getPropertyKeys()) { + DataType dataType = new DataType(); + dataType.setKey(propertyKey); + dataType.setContent(vertex.getProperty(propertyKey).toString()); + dataOrPort.add(dataType); + } if (vertex.hasChildGraph()) { Graph childGraph = vertex.getChildGraph(); @@ -45,8 +54,14 @@ public class GraphTypeTransformer extends AbstractTransformer<GraphType> { edgeType.setId(edge.getId().toString()); edgeType.setSource(edge.getVertex(Direction.OUT).getId().toString()); edgeType.setTarget(edge.getVertex(Direction.IN).getId().toString()); + List<DataType> data = edgeType.getData(); + for (final String propertyKey : edge.getPropertyKeys()) { + DataType dataType = new DataType(); + dataType.setKey(propertyKey); + dataType.setContent(edge.getProperty(propertyKey).toString()); + data.add(dataType); + } - // TODO Map Properties graphType.getDataOrNodeOrEdge().add(edgeType); } -- GitLab