From 063d49a322c31e5a05cdd7b5d2e5f930ffa94237 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Mon, 20 Jun 2016 17:57:12 +0200
Subject: [PATCH] added getDepth to graph library

---
 src/main/java/kieker/analysis/util/graph/Vertex.java   |  2 ++
 .../kieker/analysis/util/graph/impl/VertexImpl.java    | 10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/src/main/java/kieker/analysis/util/graph/Vertex.java b/src/main/java/kieker/analysis/util/graph/Vertex.java
index 7e12eefd..1ed1bf83 100644
--- a/src/main/java/kieker/analysis/util/graph/Vertex.java
+++ b/src/main/java/kieker/analysis/util/graph/Vertex.java
@@ -10,6 +10,8 @@ public interface Vertex extends GraphElement {
 
 	public void removeChildGraph();
 
+	public int getDepth();
+
 	public Iterable<Edge> getEdges(Direction direction);
 
 	public Iterable<Vertex> getVertices(Direction direction);
diff --git a/src/main/java/kieker/analysis/util/graph/impl/VertexImpl.java b/src/main/java/kieker/analysis/util/graph/impl/VertexImpl.java
index 7dd55e0b..fe7c7ba8 100644
--- a/src/main/java/kieker/analysis/util/graph/impl/VertexImpl.java
+++ b/src/main/java/kieker/analysis/util/graph/impl/VertexImpl.java
@@ -40,6 +40,16 @@ class VertexImpl extends GraphElementImpl implements Vertex {
 		childGraph = null;
 	}
 
+	public int getDepth() {
+		int depth = 0;
+		GraphImpl graph = this.graph;
+		while (graph.parentVertex != null) {
+			graph = graph.parentVertex.graph;
+			depth++;
+		}
+		return depth;
+	}
+
 	@Override
 	public Iterable<Edge> getEdges(final Direction direction) {
 		if (direction.equals(Direction.OUT)) {
-- 
GitLab