DisjointPath should've been immutable.
Change-Id: I8499bd53acd62425c3aa8b0bce4958d6c0054712
diff --git a/core/api/src/main/java/org/onosproject/net/DefaultDisjointPath.java b/core/api/src/main/java/org/onosproject/net/DefaultDisjointPath.java
index b68110d..b133de0 100644
--- a/core/api/src/main/java/org/onosproject/net/DefaultDisjointPath.java
+++ b/core/api/src/main/java/org/onosproject/net/DefaultDisjointPath.java
@@ -30,8 +30,6 @@
private final DefaultPath path1;
private final DefaultPath path2;
- boolean usingPath1 = true;
-
/**
* Creates a disjoint path pair from two default paths.
*
@@ -58,21 +56,17 @@
@Override
public List<Link> links() {
- if (usingPath1) {
- return path1.links();
- } else {
- return path2.links();
- }
+ return path1.links();
}
@Override
public double cost() {
- return usingPath1 ? path1.cost() : path2.cost();
+ return path1.cost();
}
@Override
public Weight weight() {
- return usingPath1 ? path1.weight() : path2.weight();
+ return path1.weight();
}
@Override
@@ -105,12 +99,9 @@
return false;
}
+ @Deprecated
@Override
public boolean useBackup() {
- if (path2 == null || path2.links() == null) {
- return false;
- }
- usingPath1 = !usingPath1;
- return true;
+ return false;
}
}
diff --git a/core/api/src/main/java/org/onosproject/net/DisjointPath.java b/core/api/src/main/java/org/onosproject/net/DisjointPath.java
index 39237ea..8367067 100644
--- a/core/api/src/main/java/org/onosproject/net/DisjointPath.java
+++ b/core/api/src/main/java/org/onosproject/net/DisjointPath.java
@@ -30,7 +30,10 @@
*
* @return boolean corresponding to whether request to use
* backup was successful.
+ *
+ * @deprecated in 1.11.0
*/
+ @Deprecated
boolean useBackup();
/**
diff --git a/core/api/src/test/java/org/onosproject/net/DefaultDisjointPathTest.java b/core/api/src/test/java/org/onosproject/net/DefaultDisjointPathTest.java
index 2a287a3..d160809 100644
--- a/core/api/src/test/java/org/onosproject/net/DefaultDisjointPathTest.java
+++ b/core/api/src/test/java/org/onosproject/net/DefaultDisjointPathTest.java
@@ -87,28 +87,6 @@
}
/**
- * Tests switching to the backup path.
- */
- @Test
- public void testUseBackup() {
- disjointPath1.useBackup();
- assertThat(disjointPath1.primary(), is(path1));
- assertThat(disjointPath1.backup(), is(path2));
- assertThat(disjointPath1.links(), is(links2));
- assertThat(disjointPath1.cost(), is(2.0));
-
- disjointPath1.useBackup();
- assertThat(disjointPath1.links(), is(links1));
- assertThat(disjointPath1.cost(), is(1.0));
-
- assertThat(disjointPath4.primary(), is(path1));
- assertThat(disjointPath4.backup(), is((DefaultDisjointPath) null));
- disjointPath4.useBackup();
- assertThat(disjointPath4.primary(), is(path1));
- assertThat(disjointPath4.backup(), is((DefaultDisjointPath) null));
- }
-
- /**
* Tests equals(), hashCode(), and toString() methods.
*/
@Test
diff --git a/utils/misc/src/main/java/org/onlab/graph/DisjointPathPair.java b/utils/misc/src/main/java/org/onlab/graph/DisjointPathPair.java
index 6436ad4..1d6768d 100644
--- a/utils/misc/src/main/java/org/onlab/graph/DisjointPathPair.java
+++ b/utils/misc/src/main/java/org/onlab/graph/DisjointPathPair.java
@@ -31,7 +31,6 @@
public class DisjointPathPair<V extends Vertex, E extends Edge<V>> implements Path<V, E> {
private final Path<V, E> primary, secondary;
- private boolean primaryActive = true;
/**
* Creates a disjoint path pair from two paths.
@@ -79,7 +78,7 @@
@Override
public List<E> edges() {
- return primaryActive || !hasBackup() ? primary.edges() : secondary.edges();
+ return primary.edges();
}
/**