diff --git a/src/main/java/kieker/analysis/graph/GraphTester.java b/src/main/java/kieker/analysis/graph/GraphTester.java index 99a6ad248886913acbe5482a50558b495b683e88..19cbaaedc9d3e1955e34e89388aeb6bc1f901e69 100644 --- a/src/main/java/kieker/analysis/graph/GraphTester.java +++ b/src/main/java/kieker/analysis/graph/GraphTester.java @@ -3,7 +3,7 @@ package kieker.analysis.graph; import java.io.OutputStreamWriter; import java.util.ArrayList; -import kieker.analysis.graph.export.dot.DotWriter2; +import kieker.analysis.graph.export.dot.DotWriter; import kieker.analysis.graph.export.graphml.GraphMLExporter; import kieker.analysis.graph.impl.GraphImpl; @@ -99,7 +99,7 @@ public class GraphTester { GraphMLExporter graphMLExporter = new GraphMLExporter(); graphMLExporter.export(graph, System.out); - DotWriter2 dotWriter = new DotWriter2(graph, new OutputStreamWriter(System.out)); + DotWriter dotWriter = new DotWriter(graph, new OutputStreamWriter(System.out)); dotWriter.transform(); // DotExporter dotExporter = new DotExporter(); diff --git a/src/main/java/kieker/analysis/graph/export/AbstractTransformer.java b/src/main/java/kieker/analysis/graph/export/AbstractTransformer.java index acb567fbe9e6319c81d1072d08c15ab084b3645f..352a176717621097df4696b83669845e7e3f0691 100644 --- a/src/main/java/kieker/analysis/graph/export/AbstractTransformer.java +++ b/src/main/java/kieker/analysis/graph/export/AbstractTransformer.java @@ -20,29 +20,33 @@ public abstract class AbstractTransformer<O> implements VertexVisitor, EdgeVisit public final O transform() { - // Call startTransformation() + beforeTransformation(); graphTraverser.traverse(graph); - // Call finishTransformation() + afterTransformation(); return getTransformation(); } - protected abstract void mapVertex(Vertex vertex); + protected abstract void beforeTransformation(); - protected abstract void mapEdge(Edge edge); + protected abstract void afterTransformation(); + + protected abstract void transformVertex(Vertex vertex); + + protected abstract void transformEdge(Edge edge); protected abstract O getTransformation(); @Override public void visitVertex(final Vertex vertex) { - mapVertex(vertex); + transformVertex(vertex); } @Override public void visitEdge(final Edge edge) { - mapEdge(edge); + transformEdge(edge); } } diff --git a/src/main/java/kieker/analysis/graph/export/AbstractWriter.java b/src/main/java/kieker/analysis/graph/export/AbstractWriter.java deleted file mode 100644 index 05a16a63168372ee2d17b1a09836fadfa36f7965..0000000000000000000000000000000000000000 --- a/src/main/java/kieker/analysis/graph/export/AbstractWriter.java +++ /dev/null @@ -1,37 +0,0 @@ -package kieker.analysis.graph.export; - -import kieker.analysis.graph.Edge; -import kieker.analysis.graph.Graph; -import kieker.analysis.graph.Vertex; - -public abstract class AbstractWriter extends AbstractTransformer<Void> { - - protected AbstractWriter(final Graph graph) { - super(graph); - } - - @Override - protected final void mapVertex(final Vertex vertex) { - writeVertex(vertex); - } - - @Override - protected final void mapEdge(final Edge edge) { - writeEdge(edge); - } - - @Override - protected final Void getTransformation() { - finish(); - return null; - } - - protected abstract void start(); - - protected abstract void finish(); - - protected abstract void writeVertex(Vertex vertex); - - protected abstract void writeEdge(Edge edge); - -} diff --git a/src/main/java/kieker/analysis/graph/export/blueprints/BlueprintsTransformer.java b/src/main/java/kieker/analysis/graph/export/blueprints/BlueprintsTransformer.java index 2a1071f31b720aa93096f233b89390ac56f09edb..3f474754ccbbe8b3e66935ef9a350ccadbc44334 100644 --- a/src/main/java/kieker/analysis/graph/export/blueprints/BlueprintsTransformer.java +++ b/src/main/java/kieker/analysis/graph/export/blueprints/BlueprintsTransformer.java @@ -23,7 +23,7 @@ public class BlueprintsTransformer extends AbstractTransformer<com.tinkerpop.blu } @Override - protected void mapVertex(final Vertex vertex) { + protected void transformVertex(final Vertex vertex) { com.tinkerpop.blueprints.Vertex mappedVertex = transformedGraph.addVertex(vertex.getId()); mappedVertices.put(vertex, mappedVertex); for (final String propertyKey : vertex.getPropertyKeys()) { @@ -33,7 +33,7 @@ public class BlueprintsTransformer extends AbstractTransformer<com.tinkerpop.blu } @Override - protected void mapEdge(final Edge edge) { + protected void transformEdge(final Edge edge) { 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_PROPERTY); @@ -51,4 +51,14 @@ public class BlueprintsTransformer extends AbstractTransformer<com.tinkerpop.blu return transformedGraph; } + @Override + protected void beforeTransformation() { + // Do nothing + } + + @Override + protected void afterTransformation() { + // Do nothing + } + } diff --git a/src/main/java/kieker/analysis/graph/export/dot/AbstractDotWriter.java b/src/main/java/kieker/analysis/graph/export/dot/DotElementWriter.java similarity index 66% rename from src/main/java/kieker/analysis/graph/export/dot/AbstractDotWriter.java rename to src/main/java/kieker/analysis/graph/export/dot/DotElementWriter.java index 67859b98eb76a6adbf8f5b57e1b38879cf9c59ba..f64fa1f170ecbd03dc16adb38bd596f7ff3c3756 100644 --- a/src/main/java/kieker/analysis/graph/export/dot/AbstractDotWriter.java +++ b/src/main/java/kieker/analysis/graph/export/dot/DotElementWriter.java @@ -6,21 +6,21 @@ import kieker.analysis.graph.Direction; import kieker.analysis.graph.Edge; import kieker.analysis.graph.Graph; import kieker.analysis.graph.Vertex; -import kieker.analysis.graph.export.AbstractWriter; +import kieker.analysis.graph.export.AbstractTransformer; import kieker.analysis.graph.util.dot.DotGraphWriter; //TODo rename, extends AbstractWriter -class AbstractDotWriter extends AbstractWriter { +class DotElementWriter extends AbstractTransformer<Void> { protected final DotGraphWriter dotWriter; - protected AbstractDotWriter(final Graph graph, final DotGraphWriter dotWriter) { + protected DotElementWriter(final Graph graph, final DotGraphWriter dotWriter) { super(graph); this.dotWriter = dotWriter; } @Override - protected void writeVertex(final Vertex vertex) { + protected void transformVertex(final Vertex vertex) { try { if (vertex.hasChildGraph()) { Graph childGraph = vertex.getChildGraph(); @@ -28,7 +28,7 @@ class AbstractDotWriter extends AbstractWriter { dotWriter.addClusterStart(childGraph.getName()); // TODO more stuff - AbstractDotWriter dotWriter2 = new AbstractDotWriter(childGraph, dotWriter); + DotElementWriter dotWriter2 = new DotElementWriter(childGraph, dotWriter); dotWriter2.transform(); dotWriter.addClusterStop(); @@ -43,7 +43,7 @@ class AbstractDotWriter extends AbstractWriter { } @Override - protected void writeEdge(final Edge edge) { + protected void transformEdge(final Edge edge) { try { String sourceId = edge.getVertex(Direction.OUT).getId().toString(); String targetId = edge.getVertex(Direction.IN).getId().toString(); @@ -54,18 +54,24 @@ class AbstractDotWriter extends AbstractWriter { } + protected void handleIOException(final IOException ioException) { + // TODO Handle IO Exception + } + @Override - protected void start() { + protected void beforeTransformation() { // Do nothing + } @Override - protected void finish() { + protected void afterTransformation() { // Do nothing } - protected void handleIOException(final IOException ioException) { - // TODO Handle IO Exception + @Override + protected Void getTransformation() { + return null; } } diff --git a/src/main/java/kieker/analysis/graph/export/dot/DotSubgraphWriter.java b/src/main/java/kieker/analysis/graph/export/dot/DotSubgraphWriter.java deleted file mode 100644 index fa8b2a2af901ad742fdf991fea137f446b236593..0000000000000000000000000000000000000000 --- a/src/main/java/kieker/analysis/graph/export/dot/DotSubgraphWriter.java +++ /dev/null @@ -1,65 +0,0 @@ -package kieker.analysis.graph.export.dot; - -import java.io.IOException; - -import kieker.analysis.graph.Direction; -import kieker.analysis.graph.Edge; -import kieker.analysis.graph.Graph; -import kieker.analysis.graph.Vertex; -import kieker.analysis.graph.export.AbstractTransformer; -import kieker.analysis.graph.util.dot.DotGraphWriter; - -//TODO not used -class DotSubgraphWriter extends AbstractTransformer<Void> { - - private final DotGraphWriter dotWriter; - - protected DotSubgraphWriter(final Graph graph, final DotGraphWriter dotWriter) { - super(graph); - this.dotWriter = dotWriter; - } - - @Override - protected void mapVertex(final Vertex vertex) { - try { - if (vertex.hasChildGraph()) { - Graph childGraph = vertex.getChildGraph(); - - dotWriter.addClusterStart(childGraph.getName()); - // TODO more stuff - - DotSubgraphWriter dotWriter2 = new DotSubgraphWriter(childGraph, dotWriter); - dotWriter2.transform(); - - dotWriter.addClusterStop(); - } else { - - dotWriter.addNode(vertex.getId().toString(), null); // TODO - - } - } catch (IOException e) { - // TODO Handle IO Exception - } - } - - @Override - protected void mapEdge(final Edge edge) { - // TODO Auto-generated method stub - - try { - - String sourceId = edge.getVertex(Direction.OUT).getId().toString(); - String targetId = edge.getVertex(Direction.IN).getId().toString(); - dotWriter.addEdge(sourceId, targetId); // TODO - } catch (IOException e) { - // TODO Handle IO Exception - } - - } - - @Override - protected Void getTransformation() { - return null; - } - -} diff --git a/src/main/java/kieker/analysis/graph/export/dot/DotWriter2.java b/src/main/java/kieker/analysis/graph/export/dot/DotWriter.java similarity index 68% rename from src/main/java/kieker/analysis/graph/export/dot/DotWriter2.java rename to src/main/java/kieker/analysis/graph/export/dot/DotWriter.java index c1ba90a7f94ec45413dbb33fa8f2be0575e3867d..9f0abb172c7135de03ff5428c82b9a5c2c9f44bf 100644 --- a/src/main/java/kieker/analysis/graph/export/dot/DotWriter2.java +++ b/src/main/java/kieker/analysis/graph/export/dot/DotWriter.java @@ -7,15 +7,14 @@ import kieker.analysis.graph.Graph; import kieker.analysis.graph.util.dot.DotGraphWriter; //TODO rename -public class DotWriter2 extends AbstractDotWriter { +public class DotWriter extends DotElementWriter { - public DotWriter2(final Graph graph, final Writer writer) { + public DotWriter(final Graph graph, final Writer writer) { super(graph, new DotGraphWriter(writer)); } - // TODO does not work so far @Override - protected void start() { + protected void beforeTransformation() { try { dotWriter.start(graph.getName()); // TODO more stuff @@ -25,7 +24,7 @@ public class DotWriter2 extends AbstractDotWriter { } @Override - protected void finish() { + protected void afterTransformation() { try { dotWriter.finish(); } catch (IOException e) { diff --git a/src/main/java/kieker/analysis/graph/export/dot/GraphTransformer.java b/src/main/java/kieker/analysis/graph/export/dot/GraphTransformer.java index 15aaff8130c5af3b83c9bf5405055b4db9a2b1df..2e08c20b899df5ee699686bf60248320f597cbe0 100644 --- a/src/main/java/kieker/analysis/graph/export/dot/GraphTransformer.java +++ b/src/main/java/kieker/analysis/graph/export/dot/GraphTransformer.java @@ -7,6 +7,7 @@ import kieker.analysis.graph.Vertex; import kieker.analysis.graph.export.AbstractTransformer; import kieker.analysis.util.DotBuilder; +//TODO remove public class GraphTransformer extends AbstractTransformer<String> { private final DotBuilder dotBuilder; @@ -22,7 +23,7 @@ public class GraphTransformer extends AbstractTransformer<String> { } @Override - protected void mapVertex(final Vertex vertex) { + protected void transformVertex(final Vertex vertex) { if (vertex.hasChildGraph()) { Graph childGraph = vertex.getChildGraph(); GraphTransformer graphTransformer = new GraphTransformer(childGraph, false); @@ -37,7 +38,7 @@ public class GraphTransformer extends AbstractTransformer<String> { } @Override - protected void mapEdge(final Edge edge) { + protected void transformEdge(final Edge edge) { String sourceId = edge.getVertex(Direction.OUT).getId().toString(); String targetId = edge.getVertex(Direction.IN).getId().toString(); dotBuilder.addEdge(sourceId, targetId); @@ -50,4 +51,16 @@ public class GraphTransformer extends AbstractTransformer<String> { return dotBuilder.get(); } + @Override + protected void beforeTransformation() { + // TODO Auto-generated method stub + + } + + @Override + protected void afterTransformation() { + // TODO Auto-generated method stub + + } + } 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 02420b50aa02b0e0a76be151d6ab6a63995fd41c..1ee3cfe916f67b4c5450ce601d5c5b67c931bf06 100644 --- a/src/main/java/kieker/analysis/graph/export/graphml/GraphTypeTransformer.java +++ b/src/main/java/kieker/analysis/graph/export/graphml/GraphTypeTransformer.java @@ -26,7 +26,7 @@ public class GraphTypeTransformer extends AbstractTransformer<GraphType> { } @Override - protected void mapVertex(final Vertex vertex) { + protected void transformVertex(final Vertex vertex) { NodeType nodeType = new NodeType(); nodeType.setId(vertex.getId().toString()); @@ -49,7 +49,7 @@ public class GraphTypeTransformer extends AbstractTransformer<GraphType> { } @Override - protected void mapEdge(final Edge edge) { + protected void transformEdge(final Edge edge) { EdgeType edgeType = new EdgeType(); edgeType.setId(edge.getId().toString()); edgeType.setSource(edge.getVertex(Direction.OUT).getId().toString()); @@ -70,4 +70,14 @@ public class GraphTypeTransformer extends AbstractTransformer<GraphType> { return graphType; } + @Override + protected void beforeTransformation() { + // Do nothing + } + + @Override + protected void afterTransformation() { + // Do nothing + } + }