Skip to content
Snippets Groups Projects
Commit aa2611ce authored by Sören Henning's avatar Sören Henning
Browse files

added mapping for properties to GraphML

parent 0222eb21
No related branches found
No related tags found
1 merge request!17Get impletemented stages and Java 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);
}
......
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);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment