FDS-242 - Clearing intf ref prior to removing ACL itself
[groupbasedpolicy.git] / renderers / vpp / src / main / java / org / opendaylight / groupbasedpolicy / renderer / vpp / policy / acl / EgressAccessListWrapper.java
index b2209d351162a0f6e371c76ff87ee4f663566254..d78090e61b85f836e7b6ffa62570d4009ecd1584 100644 (file)
@@ -13,9 +13,8 @@ import javax.annotation.Nonnull;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.policy.acl.AccessListUtil.ACE_DIRECTION;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.util.GbpNetconfTransaction;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.VppAclInterfaceAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214._interface.acl.attributes.Acl;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214._interface.acl.attributes.acl.Egress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214._interface.acl.attributes.acl.EgressBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.vpp.acls.base.attributes.VppAcls;
@@ -34,7 +33,7 @@ public class EgressAccessListWrapper extends AccessListWrapper {
 
     @Override
     public void writeAclRefOnIface(@Nonnull DataBroker mountPoint, @Nonnull InstanceIdentifier<Interface> ifaceIid) {
-        InstanceIdentifier<Egress> egressRefIid = outboundIfaceAclRefIid(ifaceIid);
+        InstanceIdentifier<Egress> egressRefIid = VppIidFactory.getAclInterfaceRef(ifaceIid).child(Egress.class);
         VppAcls vppAcl = new VppAclsBuilder().setName(resolveAclName(ifaceIid.firstKeyOf(Interface.class)))
             .setType(VppAcl.class)
             .build();
@@ -42,12 +41,4 @@ public class EgressAccessListWrapper extends AccessListWrapper {
         GbpNetconfTransaction.netconfSyncedWrite(mountPoint, egressRefIid, egressAcl,
             GbpNetconfTransaction.RETRY_COUNT);
     }
-
-    private InstanceIdentifier<Egress> outboundIfaceAclRefIid(InstanceIdentifier<Interface> ifaceIid) {
-        return ifaceIid.builder()
-            .augmentation(VppAclInterfaceAugmentation.class)
-            .child(Acl.class)
-            .child(Egress.class)
-            .build();
-    }
 }