From f880d8be91b56a37b786f4533c90fdce48e150fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Mon, 11 Jan 2016 15:48:31 +0100
Subject: [PATCH] Initial model for nested graphs (#20)

---
 .../analysis/dev/nestedgraph/NestedGraph.java | 52 +++++++++++++++++++
 .../dev/nestedgraph/NestedGraphPartition.java | 32 ++++++++++++
 2 files changed, 84 insertions(+)
 create mode 100644 src/main/java/kieker/analysis/dev/nestedgraph/NestedGraph.java
 create mode 100644 src/main/java/kieker/analysis/dev/nestedgraph/NestedGraphPartition.java

diff --git a/src/main/java/kieker/analysis/dev/nestedgraph/NestedGraph.java b/src/main/java/kieker/analysis/dev/nestedgraph/NestedGraph.java
new file mode 100644
index 00000000..f9adb83c
--- /dev/null
+++ b/src/main/java/kieker/analysis/dev/nestedgraph/NestedGraph.java
@@ -0,0 +1,52 @@
+package kieker.analysis.dev.nestedgraph;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.tinkerpop.blueprints.Edge;
+import com.tinkerpop.blueprints.Graph;
+import com.tinkerpop.blueprints.Vertex;
+import com.tinkerpop.blueprints.util.wrappers.partition.PartitionGraph;
+import com.tinkerpop.blueprints.util.wrappers.wrapped.WrappedGraph;
+
+public class NestedGraph extends WrappedGraph<Graph> {
+
+	private static final String PARTITION_KEY = "__nested-graph-partition";
+
+	private final Set<NestedGraphPartition> partitions = new HashSet<>();
+
+	public NestedGraph(final Graph baseGraph) {
+		super(new PartitionGraph<Graph>(baseGraph, PARTITION_KEY, ""));
+	}
+
+	public void addPartition(final NestedGraphPartition partition) {
+		partitions.add(partition);
+	}
+
+	public Iterable<NestedGraphPartition> getPartitions() {
+		return partitions;
+	}
+
+	public Iterable<Vertex> getVerticesForPartition(final NestedGraphPartition partition) {
+
+		// TODO
+
+		return null;
+	}
+
+	public Iterable<Edge> getEdgesForPartition(final NestedGraphPartition partition) {
+
+		// TODO
+
+		return null;
+	}
+
+	public void addVertexToPartition(final Vertex vertex, final NestedGraphPartition partition) {
+		// TODO
+	}
+
+	public void addEdgeToPartition(final Edge edge, final NestedGraphPartition partition) {
+		// TODO
+	}
+
+}
diff --git a/src/main/java/kieker/analysis/dev/nestedgraph/NestedGraphPartition.java b/src/main/java/kieker/analysis/dev/nestedgraph/NestedGraphPartition.java
new file mode 100644
index 00000000..91ec108a
--- /dev/null
+++ b/src/main/java/kieker/analysis/dev/nestedgraph/NestedGraphPartition.java
@@ -0,0 +1,32 @@
+package kieker.analysis.dev.nestedgraph;
+
+import java.util.HashSet;
+import java.util.Set;
+
+public class NestedGraphPartition {
+
+	private String name;
+
+	private final Set<NestedGraphPartition> subPartitions = new HashSet<>();
+
+	public NestedGraphPartition(final String name) {
+		this.name = name;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(final String name) {
+		this.name = name;
+	}
+
+	public Iterable<NestedGraphPartition> getSubPartitions() {
+		return subPartitions;
+	}
+
+	public void addSubPartition(final NestedGraphPartition subPartition) {
+		subPartitions.add(subPartition);
+	}
+
+}
-- 
GitLab