Merge "Implemented unregister l3-prefix endpoint"
authorMartin Sunal <the.martin.sunal@gmail.com>
Mon, 27 Mar 2017 10:43:35 +0000 (10:43 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Mon, 27 Mar 2017 10:43:35 +0000 (10:43 +0000)
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/endpoint/EndpointRpcRegistry.java
groupbasedpolicy/src/test/java/org/opendaylight/groupbasedpolicy/endpoint/EndpointRpcRegistryTest.java

index b0e1dafa1a208ea1c20510493743cae001b52f79..c2e4662505d95a29e5b4d0cc16e46d594080601f 100644 (file)
@@ -45,6 +45,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.has.endpoint.group.conditions.EndpointGroupConditionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.unregister.endpoint.input.L2;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.unregister.endpoint.input.L3;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.unregister.endpoint.input.L3Prefix;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcError.ErrorType;
@@ -293,7 +294,14 @@ public class EndpointRpcRegistry implements EndpointService, EpRendererAugmentat
                 t.delete(LogicalDatastoreType.OPERATIONAL, iid_l3);
             }
         }
-        // TODO: Implement L3Prefix
+        if (input.getL3Prefix() != null) {
+            for (L3Prefix l3prefix : input.getL3Prefix()) {
+                EndpointL3PrefixKey key = new EndpointL3PrefixKey(l3prefix.getIpPrefix(), l3prefix.getL3Context());
+                InstanceIdentifier<EndpointL3Prefix> iidL3Prefix =
+                        InstanceIdentifier.builder(Endpoints.class).child(EndpointL3Prefix.class, key).build();
+                t.delete(LogicalDatastoreType.OPERATIONAL, iidL3Prefix);
+            }
+        }
 
         ListenableFuture<Void> r = t.submit();
         return Futures.transform(r, futureTrans);
index 4cd1222101202da5d8ddcff26af9cb16c9ad1be1..03d0c63b2016a1f00f12c61fbb037ead2e565a44 100755 (executable)
@@ -207,7 +207,7 @@ public class EndpointRpcRegistryTest {
 
         endpointRpcRegistry.unregisterEndpoint(unregisterEndpointInput);
 
-        verify(wt, times(2)).delete(eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class));
+        verify(wt, times(3)).delete(eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class));
     }
 
     private UnregisterEndpointInput unregisterEndpointInput() {