BUG-2994 : added new method to RIBSupport to expose complexity of its route 59/18259/1
authorDana Kutenicsova <dkutenic@cisco.com>
Tue, 14 Apr 2015 11:24:16 +0000 (13:24 +0200)
committerDana Kutenicsova <dkutenic@cisco.com>
Tue, 14 Apr 2015 11:35:50 +0000 (13:35 +0200)
Change-Id: Id781e5499b87e969b5d354eb804f3693cd17dcaa
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
bgp/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/LinkstateRIBSupport.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AbstractIPRIBSupport.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupport.java
bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupportTest.java

index ca8f5533d0ac5dc33ff02a13062339f18ed50fcb..8eba3ee67b9d1c0bb21a1e440afa01b66c6b94ed 100644 (file)
@@ -154,4 +154,9 @@ final class LinkstateRIBSupport extends AbstractRIBSupport {
     protected NodeIdentifier destinationContainerIdentifier() {
         return this.destination;
     }
+
+    @Override
+    public boolean isComplexRoute() {
+        return true;
+    }
 }
index 24be381c6a4590d8c990dea03e91bd347b8cbf54..0fdba51b4a41fd20dee4efa3ee606f5c9f68df9d 100644 (file)
@@ -113,6 +113,11 @@ abstract class AbstractIPRIBSupport extends AbstractRIBSupport {
         return ImmutableSet.of();
     }
 
+    @Override
+    public final boolean isComplexRoute() {
+        return false;
+    }
+
     private final void processDestination(final DOMDataWriteTransaction tx, final YangInstanceIdentifier tablePath,
             final ContainerNode destination, final ContainerNode attributes, final ApplyRoute function) {
         if (destination != null) {
@@ -150,6 +155,4 @@ abstract class AbstractIPRIBSupport extends AbstractRIBSupport {
     protected void deleteDestinationRoutes(final DOMDataWriteTransaction tx, final YangInstanceIdentifier tablePath, final ContainerNode destination) {
         processDestination(tx, tablePath, destination, null, DELETE_ROUTE);
     }
-
-
 }
index 4766a78c4a16e2caeac2f5feb823f28a4ab868f1..449d1ef7fe9a555b93a9c55815a4c08b7102568f 100644 (file)
@@ -105,4 +105,12 @@ public interface RIBSupport {
      * @return YangInstanceIdentifier with routesPath + specific RIB support routes path + routeId
      */
     @Nonnull YangInstanceIdentifier routePath(@Nonnull YangInstanceIdentifier routesPath, @Nonnull PathArgument routeId);
+
+    /**
+     * Indicate whether this AFI/SAFI combination is a complex route. Simple routes are those which
+     * only have their key and attributes, complex routes are those which include more structured data.
+     *
+     * @return True if this is a complex route, false otherwise.
+     */
+    boolean isComplexRoute();
 }
index a36fd0244307dabbf1eaef3d50ea6cd117b78587..8dcde9350ce834a8fca24565f27c2dca4a32fd63 100644 (file)
@@ -74,6 +74,11 @@ public class AbstractRIBSupportTest {
             final ContainerNode destination, final ContainerNode attributes) {
             AbstractRIBSupportTest.dest = destination;
         }
+
+        @Override
+        public boolean isComplexRoute() {
+            return false;
+        }
     };
 
     @Mock