From 612069d7cda5e26d4c6f3905c45c6f15c28b6739 Mon Sep 17 00:00:00 2001 From: Ning Zhang Date: Thu, 7 Nov 2019 16:29:38 +0800 Subject: [PATCH] Optimize the method in AclServiceUtils.java 1.Optimize method getUpdatedAclList(), And the call method. 2.Optimize method getUpdatedAllowedAddressPairs(), return not null collection. Change-Id: I7ca751a76b098289974d842faae3f1b3bd12004f Signed-off-by: Ning Zhang --- .../aclservice/AbstractAclServiceImpl.java | 8 ++++---- .../listeners/AclInterfaceListener.java | 6 +++--- .../aclservice/utils/AclServiceUtils.java | 20 ++++++------------- 3 files changed, 13 insertions(+), 21 deletions(-) diff --git a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/AbstractAclServiceImpl.java b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/AbstractAclServiceImpl.java index 3e1307793f..afeff3f09c 100644 --- a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/AbstractAclServiceImpl.java +++ b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/AbstractAclServiceImpl.java @@ -201,10 +201,10 @@ public abstract class AbstractAclServiceImpl implements AclServiceListener { .getUpdatedAllowedAddressPairs(portAfter.getAllowedAddressPairs(), portBefore.getAllowedAddressPairs()); List deletedAaps = AclServiceUtils .getUpdatedAllowedAddressPairs(portBefore.getAllowedAddressPairs(), portAfter.getAllowedAddressPairs()); - if (deletedAaps != null && !deletedAaps.isEmpty()) { + if (!deletedAaps.isEmpty()) { processDhcpServiceUpdate(deleteFlowEntries, portBefore, deletedAaps, NwConstants.DEL_FLOW); } - if (addedAaps != null && !addedAaps.isEmpty()) { + if (!addedAaps.isEmpty()) { processDhcpServiceUpdate(addFlowEntries, portAfter, addedAaps, NwConstants.ADD_FLOW); } programFlows(AclConstants.ACL_JOB_KEY_PREFIX + portAfter.getInterfaceId(), deleteFlowEntries, @@ -220,13 +220,13 @@ public abstract class AbstractAclServiceImpl implements AclServiceListener { .getUpdatedAllowedAddressPairs(portAfter.getAllowedAddressPairs(), portBefore.getAllowedAddressPairs()); List deletedAaps = AclServiceUtils .getUpdatedAllowedAddressPairs(portBefore.getAllowedAddressPairs(), portAfter.getAllowedAddressPairs()); - if (deletedAaps != null && !deletedAaps.isEmpty()) { + if (!deletedAaps.isEmpty()) { programAclWithAllowedAddress(deleteFlowEntries, portBefore, deletedAaps, Action.UPDATE, NwConstants.DEL_FLOW); updateRemoteAclFilterTable(deleteFlowEntries, portBefore, portBefore.getSecurityGroups(), deletedAaps, NwConstants.DEL_FLOW); } - if (addedAaps != null && !addedAaps.isEmpty()) { + if (!addedAaps.isEmpty()) { programAclWithAllowedAddress(addFlowEntries, portAfter, addedAaps, Action.UPDATE, NwConstants.ADD_FLOW); updateRemoteAclFilterTable(addFlowEntries, portAfter, portAfter.getSecurityGroups(), addedAaps, NwConstants.ADD_FLOW); diff --git a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclInterfaceListener.java b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclInterfaceListener.java index bc0396bb2c..7a033d2dd2 100644 --- a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclInterfaceListener.java +++ b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclInterfaceListener.java @@ -164,17 +164,17 @@ public class AclInterfaceListener extends AsyncDataTreeChangeListenerBase deletedAcls = AclServiceUtils.getUpdatedAclList(aclInterfaceBefore.getSecurityGroups(), aclInterfaceAfter.getSecurityGroups()); - if (deletedAcls != null && !deletedAcls.isEmpty()) { + if (!deletedAcls.isEmpty()) { aclDataUtil.removeAclInterfaceMap(deletedAcls, aclInterfaceAfter); } - if (addedAcls != null && !addedAcls.isEmpty()) { + if (!addedAcls.isEmpty()) { aclDataUtil.addOrUpdateAclInterfaceMap(addedAcls, aclInterfaceAfter); } List addedAap = AclServiceUtils.getUpdatedAllowedAddressPairs(aclInterfaceAfter .getAllowedAddressPairs(), aclInterfaceBefore.getAllowedAddressPairs()); List deletedAap = AclServiceUtils.getUpdatedAllowedAddressPairs(aclInterfaceBefore .getAllowedAddressPairs(), aclInterfaceAfter.getAllowedAddressPairs()); - if (deletedAap != null && !deletedAap.isEmpty() || addedAap != null && !addedAap.isEmpty()) { + if (!deletedAap.isEmpty() || !addedAap.isEmpty()) { LOG.debug("Update cache with new AAP = {}", aclInterfaceAfter.getInterfaceId()); aclDataUtil.addOrUpdateAclInterfaceMap(aclInterfaceAfter.getSecurityGroups(), aclInterfaceAfter); } diff --git a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java index a26b8238d8..2402f25f8e 100644 --- a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java +++ b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java @@ -374,23 +374,15 @@ public final class AclServiceUtils { return newAclList; } List origAclList = new ArrayList<>(currentAclList); - for (Iterator iterator = newAclList.iterator(); iterator.hasNext();) { - Uuid updatedAclUuid = iterator.next(); - for (Uuid currentAclUuid :origAclList) { - if (updatedAclUuid.getValue().equals(currentAclUuid.getValue())) { - iterator.remove(); - } - } - } + newAclList.removeAll(origAclList); return newAclList; } - @Nullable public static List getUpdatedAllowedAddressPairs( @Nullable List updatedAllowedAddressPairs, @Nullable List currentAllowedAddressPairs) { if (updatedAllowedAddressPairs == null) { - return null; + return Collections.emptyList(); } List newAllowedAddressPairs = new ArrayList<>(updatedAllowedAddressPairs); if (currentAllowedAddressPairs == null) { @@ -1103,12 +1095,12 @@ public final class AclServiceUtils { LOG.debug("Processing interface additions for port {}", portAfter.getInterfaceId()); List addedAllowedAddressPairs = getUpdatedAllowedAddressPairs( portAfter.getAllowedAddressPairs(), portBefore.getAllowedAddressPairs()); - if (addedAllowedAddressPairs != null && !addedAllowedAddressPairs.isEmpty()) { + if (!addedAllowedAddressPairs.isEmpty()) { addAclPortsLookup(portAfter, portAfter.getSecurityGroups(), addedAllowedAddressPairs); } List addedAcls = getUpdatedAclList(portAfter.getSecurityGroups(), portBefore.getSecurityGroups()); - if (addedAcls != null && !addedAcls.isEmpty()) { + if (!addedAcls.isEmpty()) { addAclPortsLookup(portAfter, addedAcls, portAfter.getAllowedAddressPairs()); } } @@ -1117,12 +1109,12 @@ public final class AclServiceUtils { LOG.debug("Processing interface removals for port {}", portAfter.getInterfaceId()); List deletedAllowedAddressPairs = getUpdatedAllowedAddressPairs( portBefore.getAllowedAddressPairs(), portAfter.getAllowedAddressPairs()); - if (deletedAllowedAddressPairs != null && !deletedAllowedAddressPairs.isEmpty()) { + if (!deletedAllowedAddressPairs.isEmpty()) { deleteAclPortsLookup(portAfter, portAfter.getSecurityGroups(), deletedAllowedAddressPairs); } List deletedAcls = getUpdatedAclList(portBefore.getSecurityGroups(), portAfter.getSecurityGroups()); - if (deletedAcls != null && !deletedAcls.isEmpty()) { + if (!deletedAcls.isEmpty()) { deleteAclPortsLookup(portAfter, deletedAcls, portAfter.getAllowedAddressPairs()); } } -- 2.36.6