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

organize writers hierarchy

parent 853bea0d
No related branches found
No related tags found
1 merge request!17Get impletemented stages and Java 8
......@@ -14,7 +14,7 @@ public abstract class AbstractTransformer<O> implements VertexVisitor, EdgeVisit
protected Graph graph;
public AbstractTransformer(final Graph graph) {
protected AbstractTransformer(final Graph graph) {
this.graph = graph;
}
......
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);
start();
}
@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);
}
......@@ -6,29 +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.AbstractTransformer;
import kieker.analysis.graph.export.AbstractWriter;
import kieker.analysis.graph.util.dot.DotWriter;
//TODo rename, extends AbstractWriter
class AbstractDotWriter extends AbstractTransformer<Void> {
class AbstractDotWriter extends AbstractWriter {
protected final DotWriter dotWriter;
AbstractDotWriter(final Graph graph, final DotWriter dotWriter) {
protected AbstractDotWriter(final Graph graph, final DotWriter dotWriter) {
super(graph);
this.dotWriter = dotWriter;
// TODO Better put this in own method
try {
dotWriter.start(graph.getName());
// TODO more stuff
} catch (IOException e) {
// TODO Handle IO Exception
}
}
@Override
protected void mapVertex(final Vertex vertex) {
protected void writeVertex(final Vertex vertex) {
try {
if (vertex.hasChildGraph()) {
Graph childGraph = vertex.getChildGraph();
......@@ -46,28 +38,34 @@ class AbstractDotWriter extends AbstractTransformer<Void> {
}
} catch (IOException e) {
// TODO Handle IO Exception
handleIOException(e);
}
}
@Override
protected void mapEdge(final Edge edge) {
// TODO Auto-generated method stub
protected void writeEdge(final Edge edge) {
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
handleIOException(e);
}
}
@Override
protected Void getTransformation() {
return null;
protected void start() {
// Do nothing
}
@Override
protected void finish() {
// Do nothing
}
protected void handleIOException(final IOException ioException) {
// TODO Handle IO Exception
}
}
......@@ -11,25 +11,26 @@ public class DotWriter2 extends AbstractDotWriter {
public DotWriter2(final Graph graph, final Writer writer) {
super(graph, new DotWriter(writer));
}
// TODO Better put this in own method
// TODO does not work so far
@Override
protected void start() {
try {
dotWriter.start(graph.getName());
// TODO more stuff
} catch (IOException e) {
// TODO Handle IO Exception
handleIOException(e);
}
}
@Override
protected Void getTransformation() {
// TODO own method
protected void finish() {
try {
dotWriter.finish();
} catch (IOException e) {
// TODO Handle IO Exception
handleIOException(e);
}
return null;
}
}
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