From 0de35fd4a1b9541e3869bbb7006e4cff61dc20de Mon Sep 17 00:00:00 2001
From: Giacomo Bertolazzi <20015159@studenti.uniupo.it>
Date: Sat, 15 Jun 2019 15:15:13 +0200
Subject: [PATCH] Refactoring
* package refactoring
* new matrix implementation (todo)
* new adj list implemetation (todo)
* fixed tests
---
.../{sim/util => lib}/graph/Edge.java | 2 +-
.../{sim/util => lib}/graph/Graph.java | 11 +-
.../{sim/util => lib}/graph/Vertex.java | 8 +-
src/berack96/lib/graph/impl/AdjGraph.java | 313 ++++++++++++++++++
.../graph => lib/graph/impl}/MapGraph.java | 15 +-
src/berack96/lib/graph/impl/MatrixGraph.java | 313 ++++++++++++++++++
.../graph/models/EdgeSaveStructure.java | 2 +-
.../graph/models/GraphSaveStructure.java | 6 +-
.../graph/models/MarkSaveStructure.java | 2 +-
.../util => lib}/graph/view/GraphInfo.java | 10 +-
.../graph/view/GraphListener.java | 2 +-
.../util => lib}/graph/view/GraphPanel.java | 14 +-
.../util => lib}/graph/view/GraphWindow.java | 20 +-
.../graph/view/GraphicalView.java | 2 +-
.../graph/view/VisitListener.java | 10 +-
.../graph/view/edge/EdgeComponent.java | 6 +-
.../graph/view/edge/EdgeIntListener.java | 6 +-
.../graph/view/edge/EdgeListener.java | 10 +-
.../graph/view/edge/EdgeView.java | 8 +-
.../util => lib}/graph/view/stuff/Arrow.java | 2 +-
.../graph/view/vertex/VertexComponent.java | 6 +-
.../graph/view/vertex/VertexIntListener.java | 6 +-
.../graph/view/vertex/VertexListener.java | 8 +-
.../graph/view/vertex/VertexView.java | 6 +-
.../graph/visit/VisitDistSourceDest.java | 8 +-
.../graph/visit/VisitDistance.java | 6 +-
.../util => lib}/graph/visit/VisitSCC.java | 2 +-
.../graph/visit/VisitStrategy.java | 7 +-
.../graph/visit/VisitTopological.java | 2 +-
.../visit => lib/graph/visit/impl}/BFS.java | 7 +-
.../visit => lib/graph/visit/impl}/DFS.java | 7 +-
.../graph/visit/impl}/Dijkstra.java | 9 +-
.../graph/visit/impl}/Tarjan.java | 8 +-
.../graph/visit/impl}/VisitInfo.java | 4 +-
.../berack96/test/{sim => lib}/TestGraph.java | 42 ++-
35 files changed, 772 insertions(+), 118 deletions(-)
rename src/berack96/{sim/util => lib}/graph/Edge.java (98%)
rename src/berack96/{sim/util => lib}/graph/Graph.java (96%)
rename src/berack96/{sim/util => lib}/graph/Vertex.java (98%)
create mode 100644 src/berack96/lib/graph/impl/AdjGraph.java
rename src/berack96/{sim/util/graph => lib/graph/impl}/MapGraph.java (95%)
create mode 100644 src/berack96/lib/graph/impl/MatrixGraph.java
rename src/berack96/{sim/util => lib}/graph/models/EdgeSaveStructure.java (85%)
rename src/berack96/{sim/util => lib}/graph/models/GraphSaveStructure.java (84%)
rename src/berack96/{sim/util => lib}/graph/models/MarkSaveStructure.java (83%)
rename src/berack96/{sim/util => lib}/graph/view/GraphInfo.java (96%)
rename src/berack96/{sim/util => lib}/graph/view/GraphListener.java (94%)
rename src/berack96/{sim/util => lib}/graph/view/GraphPanel.java (96%)
rename src/berack96/{sim/util => lib}/graph/view/GraphWindow.java (77%)
rename src/berack96/{sim/util => lib}/graph/view/GraphicalView.java (95%)
rename src/berack96/{sim/util => lib}/graph/view/VisitListener.java (91%)
rename src/berack96/{sim/util => lib}/graph/view/edge/EdgeComponent.java (80%)
rename src/berack96/{sim/util => lib}/graph/view/edge/EdgeIntListener.java (79%)
rename src/berack96/{sim/util => lib}/graph/view/edge/EdgeListener.java (93%)
rename src/berack96/{sim/util => lib}/graph/view/edge/EdgeView.java (97%)
rename src/berack96/{sim/util => lib}/graph/view/stuff/Arrow.java (98%)
rename src/berack96/{sim/util => lib}/graph/view/vertex/VertexComponent.java (88%)
rename src/berack96/{sim/util => lib}/graph/view/vertex/VertexIntListener.java (82%)
rename src/berack96/{sim/util => lib}/graph/view/vertex/VertexListener.java (92%)
rename src/berack96/{sim/util => lib}/graph/view/vertex/VertexView.java (94%)
rename src/berack96/{sim/util => lib}/graph/visit/VisitDistSourceDest.java (89%)
rename src/berack96/{sim/util => lib}/graph/visit/VisitDistance.java (93%)
rename src/berack96/{sim/util => lib}/graph/visit/VisitSCC.java (92%)
rename src/berack96/{sim/util => lib}/graph/visit/VisitStrategy.java (90%)
rename src/berack96/{sim/util => lib}/graph/visit/VisitTopological.java (94%)
rename src/berack96/{sim/util/graph/visit => lib/graph/visit/impl}/BFS.java (91%)
rename src/berack96/{sim/util/graph/visit => lib/graph/visit/impl}/DFS.java (92%)
rename src/berack96/{sim/util/graph/visit => lib/graph/visit/impl}/Dijkstra.java (95%)
rename src/berack96/{sim/util/graph/visit => lib/graph/visit/impl}/Tarjan.java (95%)
rename src/berack96/{sim/util/graph/visit => lib/graph/visit/impl}/VisitInfo.java (99%)
rename test/berack96/test/{sim => lib}/TestGraph.java (98%)
diff --git a/src/berack96/sim/util/graph/Edge.java b/src/berack96/lib/graph/Edge.java
similarity index 98%
rename from src/berack96/sim/util/graph/Edge.java
rename to src/berack96/lib/graph/Edge.java
index c8f1965..17a3946 100644
--- a/src/berack96/sim/util/graph/Edge.java
+++ b/src/berack96/lib/graph/Edge.java
@@ -1,4 +1,4 @@
-package berack96.sim.util.graph;
+package berack96.lib.graph;
/**
* Class used for retrieving the edges of the graph.
diff --git a/src/berack96/sim/util/graph/Graph.java b/src/berack96/lib/graph/Graph.java
similarity index 96%
rename from src/berack96/sim/util/graph/Graph.java
rename to src/berack96/lib/graph/Graph.java
index 673c026..7b3bc36 100644
--- a/src/berack96/sim/util/graph/Graph.java
+++ b/src/berack96/lib/graph/Graph.java
@@ -1,4 +1,4 @@
-package berack96.sim.util.graph;
+package berack96.lib.graph;
import java.io.File;
import java.io.FileReader;
@@ -12,9 +12,9 @@ import java.util.function.Consumer;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
-import berack96.sim.util.graph.models.GraphSaveStructure;
-import berack96.sim.util.graph.visit.VisitInfo;
-import berack96.sim.util.graph.visit.VisitStrategy;
+import berack96.lib.graph.models.GraphSaveStructure;
+import berack96.lib.graph.visit.VisitStrategy;
+import berack96.lib.graph.visit.impl.VisitInfo;
/**
* An interface for the graphs.
@@ -96,8 +96,9 @@ public interface Graph extends Iterable {
*
* @param vertex the vertex to remove
* @throws NullPointerException if the vertex is null
+ * @throws IllegalArgumentException if the vertex is not contained
*/
- void removeVertex(V vertex) throws IllegalArgumentException;
+ void removeVertex(V vertex) throws NullPointerException, IllegalArgumentException;
/**
* Remove all the vertex contained in the graph.
diff --git a/src/berack96/sim/util/graph/Vertex.java b/src/berack96/lib/graph/Vertex.java
similarity index 98%
rename from src/berack96/sim/util/graph/Vertex.java
rename to src/berack96/lib/graph/Vertex.java
index d369555..79433ac 100644
--- a/src/berack96/sim/util/graph/Vertex.java
+++ b/src/berack96/lib/graph/Vertex.java
@@ -1,12 +1,12 @@
-package berack96.sim.util.graph;
-
-import berack96.sim.util.graph.visit.VisitInfo;
-import berack96.sim.util.graph.visit.VisitStrategy;
+package berack96.lib.graph;
import java.util.Collection;
import java.util.HashSet;
import java.util.function.Consumer;
+import berack96.lib.graph.visit.VisitStrategy;
+import berack96.lib.graph.visit.impl.VisitInfo;
+
/**
* Class used for represent a vertex of the graph.
* The vertex contained is linked with the graph, so if any changes are made to
diff --git a/src/berack96/lib/graph/impl/AdjGraph.java b/src/berack96/lib/graph/impl/AdjGraph.java
new file mode 100644
index 0000000..55caa81
--- /dev/null
+++ b/src/berack96/lib/graph/impl/AdjGraph.java
@@ -0,0 +1,313 @@
+package berack96.lib.graph.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Consumer;
+
+import berack96.lib.graph.Edge;
+import berack96.lib.graph.Graph;
+import berack96.lib.graph.Vertex;
+import berack96.lib.graph.visit.VisitStrategy;
+import berack96.lib.graph.visit.impl.VisitInfo;
+
+public class AdjGraph implements Graph {
+
+ @Override
+ public Iterator iterator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isCyclic() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean isDAG() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public Vertex getVertex(V vertex) throws NullPointerException, IllegalArgumentException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void addVertex(V vertex) throws NullPointerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean addVertexIfAbsent(V vertex) throws NullPointerException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void addAllVertices(Collection vertices) throws NullPointerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void removeVertex(V vertex) throws IllegalArgumentException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void removeAllVertex() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean contains(V vertex) throws NullPointerException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void mark(V vertex, Object mark) throws NullPointerException, IllegalArgumentException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void unMark(V vertex, Object mark) throws NullPointerException, IllegalArgumentException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void unMark(V vertex) throws NullPointerException, IllegalArgumentException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Collection getMarkedWith(Object mark) throws NullPointerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Collection