Fix Mvpn Model choice container 94/72194/4
authorClaudio D. Gasparini <claudio.gasparini@pantheon.tech>
Wed, 23 May 2018 10:49:37 +0000 (12:49 +0200)
committerClaudio David Gasparini <claudio.gasparini@pantheon.tech>
Thu, 24 May 2018 14:53:46 +0000 (14:53 +0000)
Choice case are not allowed to
share a common container as case;

JIRA: BGPCEP-396
Change-Id: Icb51b2c23d5cf5bc8dbe9ea316e200eb0ecd3596
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
bgp/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/nlri/SharedTreeJoinHandler.java
bgp/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/nlri/SourceTreeJoinHandler.java
bgp/mvpn/src/main/yang/bgp-mvpn.yang
bgp/mvpn/src/test/java/org/opendaylight/protocol/bgp/mvpn/impl/MvpnIpv4RIBSupportTest.java
bgp/mvpn/src/test/java/org/opendaylight/protocol/bgp/mvpn/impl/MvpnIpv6RIBSupportTest.java
bgp/mvpn/src/test/java/org/opendaylight/protocol/bgp/mvpn/impl/nlri/SharedTreeJoinHandlerTest.java
bgp/mvpn/src/test/java/org/opendaylight/protocol/bgp/mvpn/impl/nlri/SourceTreeJoinHandlerTest.java

index 68f095e1e5fa7448d97d6e94cacc3e037c7e02f8..fb99e628914f223a2a71b9121a5ac294dd8fe0ad 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.MvpnChoice;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SharedTreeJoinCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SharedTreeJoinCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.shared.tree.join._case.SharedTreeJoinBuilder;
 
 /**
  * https://tools.ietf.org/html/rfc6514#section-4.6.
@@ -27,12 +28,14 @@ public final class SharedTreeJoinHandler extends AbstractMvpnNlri<SharedTreeJoin
 
     @Override
     public SharedTreeJoinCase parseMvpn(final ByteBuf buffer) {
-        return new SharedTreeJoinCaseBuilder().setCMulticast(CMulticastUtil.parseCMulticastGrouping(buffer)).build();
+        return new SharedTreeJoinCaseBuilder().setSharedTreeJoin(new SharedTreeJoinBuilder()
+                .setCMulticast(CMulticastUtil.parseCMulticastGrouping(buffer))
+                .build()).build();
     }
 
     @Override
     protected ByteBuf serializeBody(final SharedTreeJoinCase mvpn) {
-        return CMulticastUtil.serializeCMulticast(mvpn.getCMulticast());
+        return CMulticastUtil.serializeCMulticast(mvpn.getSharedTreeJoin().getCMulticast());
     }
 
     @Override
index 7e08717b1554c49521224ebda7d1b4d8e034b31b..3f5d6577c24972a90edf0a62f065a9b276c13e3f 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.MvpnChoice;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SourceTreeJoinCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SourceTreeJoinCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.source.tree.join._case.SourceTreeJoinBuilder;
 
 /**
  * https://tools.ietf.org/html/rfc6514#section-4.6.
@@ -28,12 +29,14 @@ public final class SourceTreeJoinHandler extends AbstractMvpnNlri<SourceTreeJoin
     @Override
 
     public SourceTreeJoinCase parseMvpn(final ByteBuf buffer) {
-        return new SourceTreeJoinCaseBuilder().setCMulticast(CMulticastUtil.parseCMulticastGrouping(buffer)).build();
+        return new SourceTreeJoinCaseBuilder().setSourceTreeJoin(
+                new SourceTreeJoinBuilder().setCMulticast(CMulticastUtil.parseCMulticastGrouping(buffer))
+                        .build()).build();
     }
 
     @Override
     protected ByteBuf serializeBody(final SourceTreeJoinCase mvpn) {
-        return CMulticastUtil.serializeCMulticast(mvpn.getCMulticast());
+        return CMulticastUtil.serializeCMulticast(mvpn.getSourceTreeJoin().getCMulticast());
     }
 
     @Override
index 57f12cc551c3e62f9397675dc7e898a97f99ee12..6c3e9b9f2a8911f2909814bd826a1ce5221f8dcf 100644 (file)
@@ -187,10 +187,14 @@ module bgp-mvpn {
                 uses source-active-a-d-grouping;
             }
             case shared-tree-join-case {
-                uses c-multicast-grouping;
+                container shared-tree-join {
+                    uses c-multicast-grouping;
+                }
             }
             case source-tree-join-case {
-                uses c-multicast-grouping;
+                container source-tree-join {
+                    uses c-multicast-grouping;
+                }
             }
             mandatory true;
         }
index 9f5d7ec892af6873a79e32ed76d223fe207fce9b..69cb37c1a71998252eae598a4729c895a64ea4d6 100644 (file)
@@ -145,7 +145,7 @@ public class MvpnIpv4RIBSupportTest extends AbstractRIBSupportTest<MvpnRoute> {
 
     @Test
     public void testCacheableNlriObjects() {
-        assertEquals(ImmutableSet.of(), this.ribSupport.cacheableNlriObjects());
+        assertEquals(ImmutableSet.of(MvpnRoutesIpv4Case.class), this.ribSupport.cacheableNlriObjects());
     }
 
     @Test
index 8cb4e431bb65dfbb74f6487576f1a906f3641cdd..a045d7cbbc307c04648946daa48cb3012a4d78ac 100644 (file)
@@ -149,7 +149,7 @@ public final class MvpnIpv6RIBSupportTest extends AbstractRIBSupportTest<MvpnRou
 
     @Test
     public void testCacheableNlriObjects() {
-        assertEquals(ImmutableSet.of(), this.ribSupport.cacheableNlriObjects());
+        assertEquals(ImmutableSet.of(MvpnRoutesIpv6Case.class), this.ribSupport.cacheableNlriObjects());
     }
 
     @Test
index 98e802ccaf41ba9dd65b8eb39451d16e848f2285..31040f069f50055f22473ebb1f772a6f00d1334e 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.multicast.group.opaque.grouping.multicast.group.c.g.address._case.CGAddressBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SharedTreeJoinCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SharedTreeJoinCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.shared.tree.join._case.SharedTreeJoinBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RdIpv4;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RouteDistinguisher;
 
@@ -43,13 +44,15 @@ public final class SharedTreeJoinHandlerTest {
     };
 
     private final SharedTreeJoinCase expected = new SharedTreeJoinCaseBuilder()
-            .setCMulticast(new CMulticastBuilder()
-                    .setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
-                    .setSourceAs(new AsNumber(10L))
-                    .setMulticastSource(new IpAddress(new Ipv4Address("1.0.0.1")))
-                    .setMulticastGroup(new CGAddressCaseBuilder().setCGAddress(
-                            new CGAddressBuilder().setCGAddress(new IpAddress(new Ipv4Address("2.0.0.2")))
-                                    .build()).build()).build()).build();
+            .setSharedTreeJoin(new SharedTreeJoinBuilder()
+                    .setCMulticast(new CMulticastBuilder()
+                            .setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
+                            .setSourceAs(new AsNumber(10L))
+                            .setMulticastSource(new IpAddress(new Ipv4Address("1.0.0.1")))
+                            .setMulticastGroup(new CGAddressCaseBuilder().setCGAddress(
+                                    new CGAddressBuilder()
+                                            .setCGAddress(new IpAddress(new Ipv4Address("2.0.0.2")))
+                                            .build()).build()).build()).build()).build();
     private SharedTreeJoinHandler handler = new SharedTreeJoinHandler();
 
     @Test
index 99f3440653e6b68c4ead631af0623835b0960a57..fd21c867a4457e5cf557e144e258c460b413bde7 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.multicast.group.opaque.grouping.multicast.group.c.g.address._case.CGAddressBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SourceTreeJoinCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SourceTreeJoinCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.source.tree.join._case.SourceTreeJoinBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RdIpv4;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RouteDistinguisher;
 
@@ -43,13 +44,15 @@ public final class SourceTreeJoinHandlerTest {
     };
 
     private final SourceTreeJoinCase expected = new SourceTreeJoinCaseBuilder()
-            .setCMulticast(new CMulticastBuilder()
-                    .setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
-                    .setSourceAs(new AsNumber(10L))
-                    .setMulticastSource(new IpAddress(new Ipv4Address("1.0.0.1")))
-                    .setMulticastGroup(new CGAddressCaseBuilder().setCGAddress(
-                            new CGAddressBuilder().setCGAddress(new IpAddress(new Ipv4Address("2.0.0.2")))
-                                    .build()).build()).build()).build();
+            .setSourceTreeJoin(new SourceTreeJoinBuilder()
+                    .setCMulticast(new CMulticastBuilder()
+                            .setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
+                            .setSourceAs(new AsNumber(10L))
+                            .setMulticastSource(new IpAddress(new Ipv4Address("1.0.0.1")))
+                            .setMulticastGroup(new CGAddressCaseBuilder().setCGAddress(
+                                    new CGAddressBuilder().setCGAddress(
+                                            new IpAddress(new Ipv4Address("2.0.0.2"))).build()).build()).build())
+                    .build()).build();
     private final SourceTreeJoinHandler handler = new SourceTreeJoinHandler();
 
     @Test