From 18483856992a127df308667717e81e539e07254f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de> Date: Mon, 4 Apr 2016 09:58:10 +0200 Subject: [PATCH] organize writers hierarchy --- .../kieker/analysis/graph/GraphTester.java | 4 +- .../graph/export/AbstractTransformer.java | 16 +++-- .../analysis/graph/export/AbstractWriter.java | 37 ----------- .../blueprints/BlueprintsTransformer.java | 14 +++- ...ctDotWriter.java => DotElementWriter.java} | 26 +++++--- .../graph/export/dot/DotSubgraphWriter.java | 65 ------------------- .../dot/{DotWriter2.java => DotWriter.java} | 9 ++- .../graph/export/dot/GraphTransformer.java | 17 ++++- .../export/graphml/GraphTypeTransformer.java | 14 +++- 9 files changed, 71 insertions(+), 131 deletions(-) delete mode 100644 src/main/java/kieker/analysis/graph/export/AbstractWriter.java rename src/main/java/kieker/analysis/graph/export/dot/{AbstractDotWriter.java => DotElementWriter.java} (66%) delete mode 100644 src/main/java/kieker/analysis/graph/export/dot/DotSubgraphWriter.java rename src/main/java/kieker/analysis/graph/export/dot/{DotWriter2.java => DotWriter.java} (68%) diff --git a/src/main/java/kieker/analysis/graph/GraphTester.java b/src/main/java/kieker/analysis/graph/GraphTester.java index 99a6ad24..19cbaaed 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 acb567fb..352a1767 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 05a16a63..00000000 --- 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 2a1071f3..3f474754 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 67859b98..f64fa1f1 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 fa8b2a2a..00000000 --- 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 c1ba90a7..9f0abb17 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 15aaff81..2e08c20b 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 02420b50..1ee3cfe9 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 + } + } -- GitLab