Fix disjoint path exceptions when backup not present

Change-Id: Ib8de79700f17a3b06e4b790064dc0c5625c77b38
diff --git a/core/common/src/main/java/org/onosproject/common/DefaultTopology.java b/core/common/src/main/java/org/onosproject/common/DefaultTopology.java
index 72780d3..5321b42 100644
--- a/core/common/src/main/java/org/onosproject/common/DefaultTopology.java
+++ b/core/common/src/main/java/org/onosproject/common/DefaultTopology.java
@@ -390,7 +390,11 @@
                 SUURBALLE.search(graph, srcV, dstV, weight, ALL_PATHS);
         ImmutableSet.Builder<DisjointPath> builder = ImmutableSet.builder();
         for (org.onlab.graph.Path<TopologyVertex, TopologyEdge> path : result.paths()) {
-            builder.add(networkDisjointPath((org.onlab.graph.DisjointPathPair<TopologyVertex, TopologyEdge>) path));
+            DisjointPath disjointPath =
+                    networkDisjointPath((org.onlab.graph.DisjointPathPair<TopologyVertex, TopologyEdge>) path);
+            if (disjointPath.backup() != null) {
+                builder.add(disjointPath);
+            }
         }
         return builder.build();
     }
@@ -421,7 +425,11 @@
                 srlg.search(graph, srcV, dstV, weight, ALL_PATHS);
         ImmutableSet.Builder<DisjointPath> builder = ImmutableSet.builder();
         for (org.onlab.graph.Path<TopologyVertex, TopologyEdge> path : result.paths()) {
-            builder.add(networkDisjointPath((org.onlab.graph.DisjointPathPair<TopologyVertex, TopologyEdge>) path));
+            DisjointPath disjointPath =
+                    networkDisjointPath((org.onlab.graph.DisjointPathPair<TopologyVertex, TopologyEdge>) path);
+            if (disjointPath.backup() != null) {
+                builder.add(disjointPath);
+            }
         }
         return builder.build();
     }