From acb9f1c0a2dde0a735d4721fcfea1809ca39cf07 Mon Sep 17 00:00:00 2001 From: Stephen Kitt Date: Mon, 24 Oct 2016 12:21:17 +0200 Subject: [PATCH] Use Java declarations instead of Google Collections Where appropriate, replace: * Maps.newHashMap() with new HashMap<>() * Lists.newArrayList() with new ArrayList<>() or Collections.singletonList() * Sets.newHashSet() with new HashSet<>() * Sets.difference() with explicit .removeAll() constructs (usually avoiding some collection instantiation too) * Lists.newLinkedList() with new LinkedList<>() * Maps.newConcurrentMap() with new ConcurrentHashMap<>() Also * replace some Guava filters/transforms with Java 8 streams * replace some Guava predicates with Java 8 predicates * remove unnecessary generic type qualifiers in affected classes * clean up some Optional uses (.orNull(), direct Optional returns where appropriate) * remove some String() constructors Change-Id: Ie9a9ba5127120f8f72f60e662cc1b75c11a406a0 Signed-off-by: Stephen Kitt --- .../openstack/netvirt/it/NetvirtIT.java | 12 +- .../openflow13/AbstractServiceInstance.java | 10 +- .../providers/openflow13/OF13Provider.java | 42 +- .../openflow13/PipelineOrchestratorImpl.java | 7 +- .../services/ArpResponderService.java | 16 +- .../services/ClassifierService.java | 22 +- .../services/EgressAclLearnServiceUtil.java | 10 +- .../openflow13/services/EgressAclService.java | 10 +- .../services/IcmpEchoResponderService.java | 17 +- .../services/InboundNatService.java | 16 +- .../services/IngressAclLearnServiceUtil.java | 10 +- .../services/IngressAclService.java | 10 +- .../services/L2ForwardingLearnService.java | 5 +- .../services/L3ForwardingService.java | 12 +- .../services/LoadBalancerService.java | 24 +- .../services/OutboundNatService.java | 20 +- .../services/ResubmitAclLearnService.java | 4 +- .../openflow13/services/RoutingService.java | 20 +- .../NetvirtSfcStandaloneOF13Provider.java | 14 +- .../standalone/openflow13/SfcClassifier.java | 7 +- .../services/SfcClassifierService.java | 25 +- .../netvirt/sfc/it/NetvirtSfcIT.java | 4 +- .../openstack/netvirt/LBaaSPoolHandler.java | 19 +- .../openstack/netvirt/NodeConfiguration.java | 12 +- .../api/LoadBalancerConfiguration.java | 11 +- .../impl/BridgeConfigurationManagerImpl.java | 30 +- .../impl/ConfigurationServiceImpl.java | 6 +- .../netvirt/impl/HostConfigService.java | 13 +- .../netvirt/impl/NodeCacheManagerImpl.java | 23 +- .../impl/ProviderNetworkManagerImpl.java | 8 +- .../impl/VlanConfigurationCacheImpl.java | 12 +- .../crud/impl/NeutronPortInterface.java | 5 +- .../impl/NeutronPortChangeListener.java | 6 +- .../netvirt/NodeCacheManagerEventTest.java | 2 +- .../impl/NodeCacheManagerImplTest.java | 8 +- .../impl/ProviderNetworkManagerImplTest.java | 7 +- .../utils/mdsal/openflow/ActionUtils.java | 30 +- .../utils/mdsal/openflow/MatchUtils.java | 11 +- .../netvirt/it/utils/NetvirtItUtils.java | 9 +- .../netvirt/it/utils/NeutronNetItUtil.java | 6 +- .../utils/AclServiceOFFlowBuilderTest.java | 54 +-- .../aclservice/utils/AclServiceTestUtils.java | 21 +- .../ElanDpnInterfaceClusteredListener.java | 6 +- .../netvirt/elan/l2gw/ha/HwvtepHAUtil.java | 11 +- .../elan/l2gw/ha/commands/BaseCommand.java | 6 +- .../elan/l2gw/ha/commands/LocalMcastCmd.java | 4 +- .../elan/l2gw/ha/commands/MergeCommand.java | 21 +- .../elan/l2gw/ha/commands/RemoteMcastCmd.java | 4 +- .../l2gw/ha/commands/TerminationPointCmd.java | 20 +- .../ha/handlers/NodeConnectedHandler.java | 4 +- .../ha/merge/MergeCommandsAggregator.java | 4 +- .../jobs/DeleteL2GwDeviceMacsFromElanJob.java | 7 +- .../jobs/HwvtepDeviceMcastMacUpdateJob.java | 4 +- .../elan/l2gw/jobs/LogicalSwitchAddedJob.java | 3 +- .../HwvtepLocalUcastMacListener.java | 4 +- .../HwvtepTerminationPointListener.java | 13 +- .../utils/ElanL2GatewayMulticastUtils.java | 4 +- .../elan/l2gw/utils/ElanL2GatewayUtils.java | 20 +- .../l2gw/utils/L2GatewayConnectionUtils.java | 3 +- .../GlobalAugmentationHelper.java | 18 +- .../nodehandlertest/PhysicalSwitchHelper.java | 3 +- .../l2gw/nodehandlertest/TestBuilders.java | 10 +- .../netvirt/it/AbstractNetOvs.java | 3 +- .../opendaylight/netvirt/it/FlowITUtil.java | 4 +- .../opendaylight/netvirt/it/NetvirtIT.java | 4 +- .../netvirt/it/SouthboundUtils.java | 4 +- .../internal/ExternalRoutersListener.java | 37 +- .../internal/InterfaceStateEventListener.java | 4 +- .../natservice/internal/NaptManager.java | 8 +- .../natservice/internal/NaptSwitchHA.java | 11 +- .../netvirt/natservice/internal/NatUtil.java | 39 +- .../neutronvpn/api/l2gw/L2GatewayDevice.java | 12 +- .../netvirt/neutronvpn/ChangeUtils.java | 64 +-- .../NeutronHostConfigChangeListener.java | 4 +- .../neutronvpn/NeutronPortChangeListener.java | 159 ++++--- .../vpnmanager/VpnInterfaceManager.java | 402 ++++++++---------- 76 files changed, 652 insertions(+), 882 deletions(-) diff --git a/openstack/net-virt-it/src/test/java/org/opendaylight/netvirt/openstack/netvirt/it/NetvirtIT.java b/openstack/net-virt-it/src/test/java/org/opendaylight/netvirt/openstack/netvirt/it/NetvirtIT.java index 553553b36a..ca13bb3f20 100644 --- a/openstack/net-virt-it/src/test/java/org/opendaylight/netvirt/openstack/netvirt/it/NetvirtIT.java +++ b/openstack/net-virt-it/src/test/java/org/opendaylight/netvirt/openstack/netvirt/it/NetvirtIT.java @@ -21,16 +21,14 @@ import static org.ops4j.pax.exam.MavenUtils.asInProject; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.configureConsole; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.keepRuntimeFolder; -import static org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel.DEBUG; import static org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel.ERROR; import static org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel.INFO; import static org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel.TRACE; import static org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel.WARN; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; @@ -353,7 +351,7 @@ public class NetvirtIT extends AbstractMdsalTestBase { assertNotEquals("datapathId was not found", datapathId, 0); List staticPipeline = pipelineOrchestrator.getStaticPipeline(); - List staticPipelineFound = Lists.newArrayList(); + List staticPipelineFound = new ArrayList<>(); for (Service service : pipelineOrchestrator.getServiceRegistry().keySet()) { if (staticPipeline.contains(service)) { staticPipelineFound.add(service); @@ -419,7 +417,7 @@ public class NetvirtIT extends AbstractMdsalTestBase { LOG.info("testNetVirt: should be connected: {}", nodeInfo.ovsdbNode.getNodeId()); List staticPipeline = pipelineOrchestrator.getStaticPipeline(); - List staticPipelineFound = Lists.newArrayList(); + List staticPipelineFound = new ArrayList<>(); String flowId; for (Service service : pipelineOrchestrator.getServiceRegistry().keySet()) { if (staticPipeline.contains(service)) { @@ -493,13 +491,13 @@ public class NetvirtIT extends AbstractMdsalTestBase { "dhcp", "10.0.0.1", "f6:00:00:0f:00:02"); Thread.sleep(1000); - Map externalIds = Maps.newHashMap(); + Map externalIds = new HashMap<>(); externalIds.put("attached-mac", "f6:00:00:0f:00:01"); externalIds.put("iface-id", portId); southboundUtils.addTerminationPoint(nodeInfo.bridgeNode, portName, "internal", null, externalIds, 3L); southboundUtils.addTerminationPoint(nodeInfo.bridgeNode, "vm1", "internal", null, null, 0L); southboundUtils.addTerminationPoint(nodeInfo.bridgeNode, "vm2", "internal", null, null, 0L); - Map options = Maps.newHashMap(); + Map options = new HashMap<>(); options.put("key", "flow"); options.put("remote_ip", "192.168.120.32"); southboundUtils.addTerminationPoint(nodeInfo.bridgeNode, "vx", "vxlan", options, null, 4L); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/AbstractServiceInstance.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/AbstractServiceInstance.java index c88722486b..498a72ad29 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/AbstractServiceInstance.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/AbstractServiceInstance.java @@ -8,9 +8,11 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13; +import com.google.common.base.Optional; +import com.google.common.util.concurrent.CheckedFuture; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; @@ -43,10 +45,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; -import com.google.common.collect.Lists; -import com.google.common.util.concurrent.CheckedFuture; - /** * Any ServiceInstance class that extends AbstractServiceInstance to be a part of the pipeline * have 2 basic requirements :
@@ -253,7 +251,7 @@ public abstract class AbstractServiceInstance { InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); // Call the InstructionBuilder Methods Containing Actions InstructionBuilder ib = this.getMutablePipelineInstructionBuilder(); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/OF13Provider.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/OF13Provider.java index 9caae0f8c0..26ebdfbe15 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/OF13Provider.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/OF13Provider.java @@ -8,23 +8,23 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13; +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.util.concurrent.CheckedFuture; import java.net.InetAddress; +import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ExecutionException; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; -import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork; -import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort; -import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityGroup; -import org.opendaylight.netvirt.openstack.netvirt.translator.Neutron_IPs; import org.opendaylight.netvirt.openstack.netvirt.MdsalHelper; import org.opendaylight.netvirt.openstack.netvirt.NetworkHandler; import org.opendaylight.netvirt.openstack.netvirt.api.BridgeConfigurationManager; @@ -46,7 +46,10 @@ import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; import org.opendaylight.netvirt.openstack.netvirt.api.TenantNetworkManager; import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.providers.NetvirtProvidersProvider; -import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.ResubmitAclLearnService; +import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork; +import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort; +import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityGroup; +import org.opendaylight.netvirt.openstack.netvirt.translator.Neutron_IPs; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.InstructionUtils; import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; @@ -98,13 +101,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.util.concurrent.CheckedFuture; - - /** * Open vSwitch OpenFlow 1.3 Networking Provider for OpenStack Neutron * @@ -197,7 +193,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { return true; } - Map options = Maps.newHashMap(); + Map options = new HashMap<>(); options.put("key", "flow"); options.put("local_ip", src.getHostAddress()); options.put("remote_ip", dst.getHostAddress()); @@ -1443,7 +1439,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); // Call the InstructionBuilder Methods Containing Actions InstructionUtils.createNormalInstructions(FlowUtils.getNodeName(dpidLong), ib); @@ -1801,7 +1797,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { NodeConnectorId ncid = new NodeConnectorId(Constants.OPENFLOW_NODE_PREFIX + dpidLong + ":" + port); LOG.debug("createOutputGroupInstructions() Node Connector ID is - Type=openflow: DPID={} port={} existingInstructions={}", dpidLong, port, instructions); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); ActionBuilder ab = new ActionBuilder(); List existingActions; @@ -1867,7 +1863,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { if (addNew && !buckets.getBucket().isEmpty()) { /* the new output action is not in the bucket, add to bucket */ Bucket bucket = buckets.getBucket().get(0); - List bucketActionList = Lists.newArrayList(); + List bucketActionList = new ArrayList<>(); bucketActionList.addAll(bucket.getAction()); /* set order for new action and add to action list */ ab.setOrder(bucketActionList.size()); @@ -1876,7 +1872,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { /* set bucket and buckets list. Reset groupBuilder with new buckets.*/ BucketsBuilder bucketsBuilder = new BucketsBuilder(); - List bucketList = Lists.newArrayList(); + List bucketList = new ArrayList<>(); BucketBuilder bucketBuilder = new BucketBuilder(); bucketBuilder.setBucketId(new BucketId((long) 1)); bucketBuilder.setKey(new BucketKey(new BucketId((long) 1))); @@ -1896,13 +1892,13 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { groupBuilder.setBarrier(false); BucketsBuilder bucketBuilder = new BucketsBuilder(); - List bucketList = Lists.newArrayList(); + List bucketList = new ArrayList<>(); BucketBuilder bucket = new BucketBuilder(); bucket.setBucketId(new BucketId((long) 1)); bucket.setKey(new BucketKey(new BucketId((long) 1))); /* put output action to the bucket */ - List bucketActionList = Lists.newArrayList(); + List bucketActionList = new ArrayList<>(); /* set order for new action and add to action list */ ab.setOrder(bucketActionList.size()); ab.setKey(new ActionKey(bucketActionList.size())); @@ -1959,7 +1955,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { NodeConnectorId ncid = new NodeConnectorId(Constants.OPENFLOW_NODE_PREFIX + dpidLong + ":" + port); LOG.debug("removeOutputPortFromGroup() Node Connector ID is - Type=openflow: DPID={} port={} existingInstructions={}", dpidLong, port, instructions); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); ActionBuilder ab; List existingActions; @@ -1998,7 +1994,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { /* modify the action bucket in group */ groupBuilder = new GroupBuilder(group); Buckets buckets = groupBuilder.getBuckets(); - List bucketActions = Lists.newArrayList(); + List bucketActions = new ArrayList<>(); for (Bucket bucket : buckets.getBucket()) { int index = 0; boolean isPortDeleted = false; @@ -2040,7 +2036,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider { /* rewrite the group to group table */ /* set bucket and buckets list. Reset groupBuilder with new buckets.*/ BucketsBuilder bucketsBuilder = new BucketsBuilder(); - List bucketList = Lists.newArrayList(); + List bucketList = new ArrayList<>(); BucketBuilder bucketBuilder = new BucketBuilder(); bucketBuilder.setBucketId(new BucketId((long) 1)); bucketBuilder.setKey(new BucketKey(new BucketId((long) 1))); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/PipelineOrchestratorImpl.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/PipelineOrchestratorImpl.java index b4c201e7c9..e910af40bd 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/PipelineOrchestratorImpl.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/PipelineOrchestratorImpl.java @@ -8,10 +8,12 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13; +import com.google.common.collect.Lists; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingQueue; @@ -30,8 +32,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import com.google.common.util.concurrent.ThreadFactoryBuilder; public class PipelineOrchestratorImpl implements ConfigInterface, NodeCacheListener, PipelineOrchestrator { @@ -60,6 +60,7 @@ public class PipelineOrchestratorImpl implements ConfigInterface, NodeCacheListe return staticPipeline; } + // This list is modified, it needs to be a proper ArrayList private List staticPipeline = Lists.newArrayList( Service.CLASSIFIER, Service.ARP_RESPONDER, @@ -81,7 +82,7 @@ public class PipelineOrchestratorImpl implements ConfigInterface, NodeCacheListe return serviceRegistry; } - Map serviceRegistry = Maps.newConcurrentMap(); + Map serviceRegistry = new ConcurrentHashMap<>(); private volatile BlockingQueue queue; private ExecutorService eventHandler; private Southbound southbound; diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ArpResponderService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ArpResponderService.java index 17a83d3384..e0da167af0 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ArpResponderService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ArpResponderService.java @@ -11,16 +11,16 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services import java.math.BigInteger; import java.net.Inet6Address; import java.net.InetAddress; +import java.util.ArrayList; import java.util.List; - import org.opendaylight.netvirt.openstack.netvirt.api.Action; import org.opendaylight.netvirt.openstack.netvirt.api.ArpProvider; +import org.opendaylight.netvirt.openstack.netvirt.api.Constants; import org.opendaylight.netvirt.openstack.netvirt.api.Status; import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; +import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; -import org.opendaylight.netvirt.openstack.netvirt.api.Constants; -import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.utils.mdsal.openflow.ActionUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.MatchUtils; @@ -37,12 +37,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.collect.Lists; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ArpResponderService extends AbstractServiceInstance implements ArpProvider, ConfigInterface { private static final Logger LOG = LoggerFactory.getLogger(ArpResponderService.class); @@ -90,11 +88,11 @@ public class ArpResponderService extends AbstractServiceInstance implements ArpP if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = new InstructionBuilder(); ApplyActionsBuilder aab = new ApplyActionsBuilder(); ActionBuilder ab = new ActionBuilder(); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); // Move Eth Src to Eth Dst ab.setAction(ActionUtils.nxMoveEthSrcToEthDstAction()); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ClassifierService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ClassifierService.java index 0f85750adb..e74a9604d0 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ClassifierService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ClassifierService.java @@ -9,12 +9,12 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services; import java.math.BigInteger; +import java.util.ArrayList; import java.util.List; - import org.opendaylight.netvirt.openstack.netvirt.api.ClassifierProvider; +import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; -import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.utils.mdsal.openflow.ActionUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.InstructionUtils; @@ -39,8 +39,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg0; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCaseBuilder; - -import com.google.common.collect.Lists; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; @@ -85,7 +83,7 @@ public class ClassifierService extends AbstractServiceInstance implements Classi InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionUtils.createSetTunnelIdInstructions(ib, new BigInteger(segmentationId)); ApplyActionsCase aac = (ApplyActionsCase) ib.getInstruction(); @@ -150,7 +148,7 @@ public class ClassifierService extends AbstractServiceInstance implements Classi InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); // Set VLAN ID Instruction InstructionUtils.createSetVlanInstructions(ib, new VlanId(Integer.valueOf(segmentationId))); @@ -200,7 +198,7 @@ public class ClassifierService extends AbstractServiceInstance implements Classi InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); // Call the InstructionBuilder Methods Containing Actions InstructionUtils.createDropInstructions(ib); @@ -244,9 +242,9 @@ public class ClassifierService extends AbstractServiceInstance implements Classi InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); ActionBuilder ab = new ActionBuilder(); ab.setAction(ActionUtils.nxLoadRegAction(new DstNxRegCaseBuilder().setNxReg(REG_FIELD).build(), BigInteger.valueOf(REG_VALUE_FROM_REMOTE))); @@ -305,7 +303,7 @@ public class ClassifierService extends AbstractServiceInstance implements Classi InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); // Append the default pipeline after the first classification InstructionBuilder ib = this.getMutablePipelineInstructionBuilder(); @@ -348,7 +346,7 @@ public class ClassifierService extends AbstractServiceInstance implements Classi InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); // Call the InstructionBuilder Methods Containing Actions InstructionUtils.createSendToControllerInstructions(FlowUtils.getNodeName(dpidLong), ib); @@ -378,7 +376,7 @@ public class ClassifierService extends AbstractServiceInstance implements Classi if (write) { InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = InstructionUtils.createGotoTableInstructions(new InstructionBuilder(), getTable()); ib.setOrder(0); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/EgressAclLearnServiceUtil.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/EgressAclLearnServiceUtil.java index 14e945fca3..aecafd26c4 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/EgressAclLearnServiceUtil.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/EgressAclLearnServiceUtil.java @@ -62,8 +62,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; - public class EgressAclLearnServiceUtil { /* @@ -148,7 +146,7 @@ public class EgressAclLearnServiceUtil { ApplyActions applyActions = new ApplyActionsBuilder().setAction(listAction).build(); ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); if(instructionBuilder == null) { instructionBuilder = new InstructionBuilder(); } @@ -245,7 +243,7 @@ public class EgressAclLearnServiceUtil { ApplyActions applyActions = new ApplyActionsBuilder().setAction(listAction).build(); ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); if(instructionBuilder == null) { instructionBuilder = new InstructionBuilder(); } @@ -327,7 +325,7 @@ public class EgressAclLearnServiceUtil { ApplyActions applyActions = new ApplyActionsBuilder().setAction(listAction).build(); ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); if(instructionBuilder == null) { instructionBuilder = new InstructionBuilder(); @@ -410,7 +408,7 @@ public class EgressAclLearnServiceUtil { ApplyActions applyActions = new ApplyActionsBuilder().setAction(listAction).build(); ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); if(instructionBuilder == null) { instructionBuilder = new InstructionBuilder(); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/EgressAclService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/EgressAclService.java index 6f8491eacf..0a7bc6751b 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/EgressAclService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/EgressAclService.java @@ -15,9 +15,7 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; -import java.util.HashMap; import java.util.Map; - import org.opendaylight.netvirt.openstack.netvirt.api.Constants; import org.opendaylight.netvirt.openstack.netvirt.api.EgressAclProvider; import org.opendaylight.netvirt.openstack.netvirt.api.LearnConstants; @@ -55,8 +53,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; - public class EgressAclService extends AbstractServiceInstance implements EgressAclProvider, ConfigInterface { private static final Logger LOG = LoggerFactory.getLogger(EgressAclService.class); @@ -1090,7 +1086,7 @@ public class EgressAclService extends AbstractServiceInstance implements EgressA instructionBuilder = InstructionUtils .createInstructionBuilder(ActionUtils.conntrackActionBuilder(conntrackAction), 1, false); - List instructionsList = Lists.newArrayList(); + List instructionsList = new ArrayList<>(); instructionsList.add(instructionBuilder.build()); InstructionsBuilder isb = new InstructionsBuilder(); isb.setInstruction(instructionsList); @@ -1102,7 +1098,7 @@ public class EgressAclService extends AbstractServiceInstance implements EgressA private FlowBuilder addPipelineInstruction( FlowBuilder flowBuilder , InstructionBuilder instructionBuilder,boolean isDrop) { InstructionBuilder pipeLineIndstructionBuilder = createPipleLineInstructionBuilder(isDrop); - List instructionsList = Lists.newArrayList(); + List instructionsList = new ArrayList<>(); instructionsList.add(pipeLineIndstructionBuilder.build()); if (null != instructionBuilder) { instructionsList.add(instructionBuilder.build()); @@ -1119,7 +1115,7 @@ public class EgressAclService extends AbstractServiceInstance implements EgressA InstructionUtils.createDropInstructions(ib); } ib.setOrder(0); - List instructionsList = Lists.newArrayList(); + List instructionsList = new ArrayList<>(); ib.setKey(new InstructionKey(0)); instructionsList.add(ib.build()); return ib; diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IcmpEchoResponderService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IcmpEchoResponderService.java index 78304ef30f..d2e58ce6e3 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IcmpEchoResponderService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IcmpEchoResponderService.java @@ -7,14 +7,18 @@ */ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services; -import com.google.common.collect.Lists; +import java.math.BigInteger; +import java.net.Inet6Address; +import java.net.InetAddress; +import java.util.ArrayList; +import java.util.List; import org.opendaylight.netvirt.openstack.netvirt.api.Action; import org.opendaylight.netvirt.openstack.netvirt.api.IcmpEchoProvider; import org.opendaylight.netvirt.openstack.netvirt.api.Status; import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; +import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; -import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.utils.mdsal.openflow.ActionUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.MatchUtils; @@ -42,11 +46,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.math.BigInteger; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.util.List; - /** * @author Josh Hershberg (jhershbe@redhat.com) */ @@ -116,11 +115,11 @@ public class IcmpEchoResponderService extends AbstractServiceInstance implements if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = new InstructionBuilder(); ApplyActionsBuilder aab = new ApplyActionsBuilder(); ActionBuilder ab = new ActionBuilder(); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); if (isRouted) { ab.setAction( diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/InboundNatService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/InboundNatService.java index dcc4ec9517..f7ed360220 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/InboundNatService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/InboundNatService.java @@ -9,18 +9,18 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services; import java.math.BigInteger; -import java.net.InetAddress; import java.net.Inet6Address; +import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayList; import java.util.List; - -import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; -import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; -import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; import org.opendaylight.netvirt.openstack.netvirt.api.Action; import org.opendaylight.netvirt.openstack.netvirt.api.InboundNatProvider; import org.opendaylight.netvirt.openstack.netvirt.api.Status; +import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; +import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; +import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; import org.opendaylight.netvirt.utils.mdsal.openflow.ActionUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.InstructionUtils; @@ -34,8 +34,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; - -import com.google.common.collect.Lists; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg3; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCaseBuilder; @@ -73,7 +71,7 @@ public class InboundNatService extends AbstractServiceInstance implements Config if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = new InstructionBuilder(); // Set register to indicate that rewrite took place @@ -137,7 +135,7 @@ public class InboundNatService extends AbstractServiceInstance implements Config if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib; // Goto Next Table diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IngressAclLearnServiceUtil.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IngressAclLearnServiceUtil.java index ce9be052e7..a7933cf906 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IngressAclLearnServiceUtil.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IngressAclLearnServiceUtil.java @@ -64,8 +64,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; - public class IngressAclLearnServiceUtil { /* @@ -149,7 +147,7 @@ public class IngressAclLearnServiceUtil { ApplyActions applyActions = new ApplyActionsBuilder().setAction(listAction).build(); ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); if(instructionBuilder == null) { instructionBuilder = new InstructionBuilder(); } @@ -249,7 +247,7 @@ public class IngressAclLearnServiceUtil { ApplyActions applyActions = new ApplyActionsBuilder().setAction(listAction).build(); ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); if(instructionBuilder == null) { instructionBuilder = new InstructionBuilder(); } @@ -329,7 +327,7 @@ public class IngressAclLearnServiceUtil { ApplyActions applyActions = new ApplyActionsBuilder().setAction(listAction).build(); ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); if(instructionBuilder == null) { instructionBuilder = new InstructionBuilder(); @@ -413,7 +411,7 @@ public class IngressAclLearnServiceUtil { ApplyActions applyActions = new ApplyActionsBuilder().setAction(listAction).build(); ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); if(instructionBuilder == null) { instructionBuilder = new InstructionBuilder(); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IngressAclService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IngressAclService.java index e3784c80b6..2eb144fe2d 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IngressAclService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/IngressAclService.java @@ -15,9 +15,7 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; -import java.util.HashMap; import java.util.Map; - import org.opendaylight.netvirt.openstack.netvirt.api.Constants; import org.opendaylight.netvirt.openstack.netvirt.api.IngressAclProvider; import org.opendaylight.netvirt.openstack.netvirt.api.SecurityGroupCacheManger; @@ -54,8 +52,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; - public class IngressAclService extends AbstractServiceInstance implements IngressAclProvider, ConfigInterface { private static final Logger LOG = LoggerFactory.getLogger(IngressAclService.class); private volatile SecurityServicesManager securityServicesManager; @@ -991,7 +987,7 @@ public class IngressAclService extends AbstractServiceInstance implements Ingres Action conntrackAction = ActionUtils.nxConntrackAction(0, 0L, 0, (short)0x0); instructionBuilder = InstructionUtils .createInstructionBuilder(ActionUtils.conntrackActionBuilder(conntrackAction), 1, false); - List instructionsList = Lists.newArrayList(); + List instructionsList = new ArrayList<>(); instructionsList.add(instructionBuilder.build()); InstructionsBuilder isb = new InstructionsBuilder(); isb.setInstruction(instructionsList); @@ -1003,7 +999,7 @@ public class IngressAclService extends AbstractServiceInstance implements Ingres private FlowBuilder addPipelineInstruction( FlowBuilder flowBuilder , InstructionBuilder instructionBuilder, boolean isDrop) { InstructionBuilder pipeLineIndstructionBuilder = createPipleLineInstructionBuilder(isDrop); - List instructionsList = Lists.newArrayList(); + List instructionsList = new ArrayList<>(); instructionsList.add(pipeLineIndstructionBuilder.build()); if (null != instructionBuilder) { instructionsList.add(instructionBuilder.build()); @@ -1020,7 +1016,7 @@ public class IngressAclService extends AbstractServiceInstance implements Ingres InstructionUtils.createDropInstructions(ib); } ib.setOrder(0); - List instructionsList = Lists.newArrayList(); + List instructionsList = new ArrayList<>(); ib.setKey(new InstructionKey(0)); instructionsList.add(ib.build()); return ib; diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/L2ForwardingLearnService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/L2ForwardingLearnService.java index 7af66ef36f..20ab07c08e 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/L2ForwardingLearnService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/L2ForwardingLearnService.java @@ -11,7 +11,6 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services import java.math.BigInteger; import java.util.ArrayList; import java.util.List; - import org.opendaylight.netvirt.openstack.netvirt.api.L2ForwardingLearnProvider; import org.opendaylight.netvirt.openstack.netvirt.api.LearnConstants; import org.opendaylight.netvirt.openstack.netvirt.api.LearnConstants.LearnFlowModsType; @@ -53,8 +52,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; - public class L2ForwardingLearnService extends AbstractServiceInstance implements ConfigInterface, L2ForwardingLearnProvider { private static final Logger LOG = LoggerFactory.getLogger(L2ForwardingLearnService.class); @@ -119,7 +116,7 @@ public class L2ForwardingLearnService extends AbstractServiceInstance implement ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); InstructionBuilder instructionBuilder = new InstructionBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); instructionBuilder.setInstruction(applyActionsCase); instructionBuilder.setOrder(0); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/L3ForwardingService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/L3ForwardingService.java index b3adb75cb9..5c745487f4 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/L3ForwardingService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/L3ForwardingService.java @@ -11,14 +11,14 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services import java.math.BigInteger; import java.net.Inet6Address; import java.net.InetAddress; +import java.util.ArrayList; import java.util.List; - -import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; import org.opendaylight.netvirt.openstack.netvirt.api.Action; import org.opendaylight.netvirt.openstack.netvirt.api.L3ForwardingProvider; import org.opendaylight.netvirt.openstack.netvirt.api.Status; import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; +import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.InstructionUtils; @@ -31,12 +31,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.collect.Lists; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class L3ForwardingService extends AbstractServiceInstance implements L3ForwardingProvider, ConfigInterface { private static final Logger LOG = LoggerFactory.getLogger(L3ForwardingService.class); @@ -74,7 +72,7 @@ public class L3ForwardingService extends AbstractServiceInstance implements L3Fo if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = new InstructionBuilder(); // Set Dest Mac address diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/LoadBalancerService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/LoadBalancerService.java index 192b5c6e1e..6ac189ef73 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/LoadBalancerService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/LoadBalancerService.java @@ -8,11 +8,10 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services; import java.math.BigInteger; +import java.util.ArrayList; import java.util.List; import java.util.Map; - import org.opendaylight.netvirt.openstack.netvirt.NetworkHandler; -import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; import org.opendaylight.netvirt.openstack.netvirt.api.Constants; import org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration; import org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration.LoadBalancerPoolMember; @@ -21,6 +20,7 @@ import org.opendaylight.netvirt.openstack.netvirt.api.Southbound; import org.opendaylight.netvirt.openstack.netvirt.api.Status; import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; +import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; import org.opendaylight.netvirt.utils.mdsal.openflow.ActionUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; @@ -40,24 +40,22 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.OfjNxHashFields; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.OfjNxMpAlgorithm; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg1; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg2; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.OfjNxHashFields; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.OfjNxMpAlgorithm; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; - public class LoadBalancerService extends AbstractServiceInstance implements LoadBalancerProvider, ConfigInterface { private static final Logger LOG = LoggerFactory.getLogger(LoadBalancerProvider.class); @@ -194,9 +192,9 @@ public class LoadBalancerService extends AbstractServiceInstance implements Load InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); ActionBuilder ab = new ActionBuilder(); ab.setAction(ActionUtils.nxLoadRegAction(new DstNxRegCaseBuilder().setNxReg(REG_FIELD_A).build(), @@ -289,9 +287,9 @@ public class LoadBalancerService extends AbstractServiceInstance implements Load InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); ActionBuilder ab = new ActionBuilder(); ab.setAction(ActionUtils.setDlDstAction(new MacAddress(member.getMAC()))); ab.setOrder(0); @@ -379,9 +377,9 @@ public class LoadBalancerService extends AbstractServiceInstance implements Load InstructionsBuilder isb = new InstructionsBuilder(); // Instructions List Stores Individual Instructions - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); ActionBuilder ab = new ActionBuilder(); Ipv4Builder ipb = new Ipv4Builder().setIpv4Address(MatchUtils.iPv4PrefixFromIPv4Address(vip)); ab.setAction(ActionUtils.setNwSrcAction(ipb.build())); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/OutboundNatService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/OutboundNatService.java index b87dd6daad..5e154c8955 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/OutboundNatService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/OutboundNatService.java @@ -9,18 +9,18 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services; import java.math.BigInteger; -import java.net.InetAddress; import java.net.Inet6Address; +import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayList; import java.util.List; - +import org.opendaylight.netvirt.openstack.netvirt.api.Action; import org.opendaylight.netvirt.openstack.netvirt.api.OutboundNatProvider; +import org.opendaylight.netvirt.openstack.netvirt.api.Status; import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; +import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; -import org.opendaylight.netvirt.openstack.netvirt.api.Action; -import org.opendaylight.netvirt.openstack.netvirt.api.Status; -import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.utils.mdsal.openflow.ActionUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.InstructionUtils; @@ -39,8 +39,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; - -import com.google.common.collect.Lists; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; import org.slf4j.Logger; @@ -82,14 +80,14 @@ public class OutboundNatService extends AbstractServiceInstance implements Outbo if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); - List instructions_tmp = Lists.newArrayList(); + List instructions = new ArrayList<>(); + List instructions_tmp = new ArrayList<>(); InstructionBuilder ib = new InstructionBuilder(); ApplyActionsBuilder aab = new ApplyActionsBuilder(); ActionBuilder ab = new ActionBuilder(); List actionList = - Lists.newArrayList(); + new ArrayList<>(); // Set source Mac address ab.setAction(ActionUtils.setDlSrcAction(new MacAddress(rewriteSrcMacAddress))); @@ -174,7 +172,7 @@ public class OutboundNatService extends AbstractServiceInstance implements Outbo if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib; // Goto Next Table diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ResubmitAclLearnService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ResubmitAclLearnService.java index f069f1b7a1..8ba4b89e4b 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ResubmitAclLearnService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/ResubmitAclLearnService.java @@ -52,8 +52,6 @@ import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; - public class ResubmitAclLearnService extends AbstractServiceInstance implements ConfigInterface, ResubmitAclLearnProvider { private static final Logger LOG = LoggerFactory.getLogger(ResubmitAclLearnService.class); public static final Class REG_FIELD = NxmNxReg3.class; @@ -94,7 +92,7 @@ public class ResubmitAclLearnService extends AbstractServiceInstance implements ApplyActionsCase applyActionsCase = new ApplyActionsCaseBuilder().setApplyActions(applyActions).build(); InstructionsBuilder instructionsBuilder = new InstructionsBuilder(); InstructionBuilder instructionBuilder = new InstructionBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); instructionBuilder.setInstruction(applyActionsCase); instructionBuilder.setOrder(0); instructionBuilder.setKey(new InstructionKey(0)); diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/RoutingService.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/RoutingService.java index 1b3b997eb2..72707567d3 100644 --- a/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/RoutingService.java +++ b/openstack/net-virt-providers/src/main/java/org/opendaylight/netvirt/openstack/netvirt/providers/openflow13/services/RoutingService.java @@ -11,17 +11,17 @@ package org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services import java.math.BigInteger; import java.net.Inet6Address; import java.net.InetAddress; +import java.util.ArrayList; import java.util.List; - import org.apache.commons.net.util.SubnetUtils; -import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; -import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; -import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; import org.opendaylight.netvirt.openstack.netvirt.api.Action; import org.opendaylight.netvirt.openstack.netvirt.api.Constants; import org.opendaylight.netvirt.openstack.netvirt.api.RoutingProvider; -import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.api.Status; +import org.opendaylight.netvirt.openstack.netvirt.api.StatusCode; +import org.opendaylight.netvirt.openstack.netvirt.providers.ConfigInterface; +import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.AbstractServiceInstance; +import org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service; import org.opendaylight.netvirt.utils.mdsal.openflow.ActionUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.FlowUtils; import org.opendaylight.netvirt.utils.mdsal.openflow.MatchUtils; @@ -38,8 +38,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; - -import com.google.common.collect.Lists; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfEthSrcCaseBuilder; import org.osgi.framework.BundleContext; @@ -92,12 +90,12 @@ public class RoutingService extends AbstractServiceInstance implements RoutingPr if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = new InstructionBuilder(); ApplyActionsBuilder aab = new ApplyActionsBuilder(); ActionBuilder ab = new ActionBuilder(); List actionList - = Lists.newArrayList(); + = new ArrayList<>(); //if this is an east<->west route, save the src mac in case this is an ICMP echo request if(!isExternalNet) { @@ -175,12 +173,12 @@ public class RoutingService extends AbstractServiceInstance implements RoutingPr if (action.equals(Action.ADD)) { // Instructions List Stores Individual Instructions InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = new InstructionBuilder(); ApplyActionsBuilder aab = new ApplyActionsBuilder(); ActionBuilder ab = new ActionBuilder(); List actionList = - Lists.newArrayList(); + new ArrayList<>(); // Set source Mac address ab.setAction(ActionUtils.setDlSrcAction(new MacAddress(macAddress))); diff --git a/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/standalone/openflow13/NetvirtSfcStandaloneOF13Provider.java b/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/standalone/openflow13/NetvirtSfcStandaloneOF13Provider.java index d50f63b412..5903bc7b57 100644 --- a/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/standalone/openflow13/NetvirtSfcStandaloneOF13Provider.java +++ b/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/standalone/openflow13/NetvirtSfcStandaloneOF13Provider.java @@ -102,10 +102,8 @@ public class NetvirtSfcStandaloneOF13Provider implements INetvirtSfcOF13Provider LOG.debug("add: Classifiers: {}", classifiers); for (Classifier classifier : classifiers.getClassifier()) { - if (classifier.getAcl().equals(aclName)) { - if (classifier.getBridges() != null) { - addClassifierRules(classifier.getBridges(), acl); - } + if (classifier.getAcl().equals(aclName) && classifier.getBridges() != null) { + addClassifierRules(classifier.getBridges(), acl); } } } @@ -116,11 +114,9 @@ public class NetvirtSfcStandaloneOF13Provider implements INetvirtSfcOF13Provider Classifiers classifiers = mdsalUtils.read(LogicalDatastoreType.CONFIGURATION, getClassifierIid()); if (classifiers != null) { for (Classifier classifier : classifiers.getClassifier()) { - if (classifier.getAcl().equalsIgnoreCase(aclName)) { - if (classifier.getSffs() != null) { - for (Sff sff : classifier.getSffs().getSff()) { - removeClassifierRules(sff, acl); - } + if (classifier.getAcl().equalsIgnoreCase(aclName) && classifier.getSffs() != null) { + for (Sff sff : classifier.getSffs().getSff()) { + removeClassifierRules(sff, acl); } } } diff --git a/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/standalone/openflow13/SfcClassifier.java b/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/standalone/openflow13/SfcClassifier.java index 0fa1447651..dfb57c77e1 100644 --- a/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/standalone/openflow13/SfcClassifier.java +++ b/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/standalone/openflow13/SfcClassifier.java @@ -8,7 +8,6 @@ package org.opendaylight.netvirt.openstack.netvirt.sfc.standalone.openflow13; -import com.google.common.collect.Lists; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; @@ -94,7 +93,7 @@ public class SfcClassifier { ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build()); ib.setOrder(0); ib.setKey(new InstructionKey(0)); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); instructions.add(ib.build()); InstructionsBuilder isb = new InstructionsBuilder(); @@ -179,7 +178,7 @@ public class SfcClassifier { ActionUtils.nxLoadTunIPv4Action(header.getNshTunIpDst().getValue(), false); int count = 0; - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); actionList.add(new ActionBuilder().setOrder(count++).setAction(pushNsh).build()); actionList.add(new ActionBuilder().setOrder(count++).setAction(nshMdtypeLoad).build()); actionList.add(new ActionBuilder().setOrder(count++).setAction(nshNpLoad).build()); @@ -206,7 +205,7 @@ public class SfcClassifier { if (write) { InstructionBuilder ib = new InstructionBuilder(); InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionUtils.createSetTunnelIdInstructions(ib, new BigInteger(segmentationId)); ApplyActionsCase aac = (ApplyActionsCase) ib.getInstruction(); diff --git a/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/workaround/services/SfcClassifierService.java b/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/workaround/services/SfcClassifierService.java index 096603c97e..304d73717a 100644 --- a/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/workaround/services/SfcClassifierService.java +++ b/openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/netvirt/openstack/netvirt/sfc/workaround/services/SfcClassifierService.java @@ -8,7 +8,6 @@ package org.opendaylight.netvirt.openstack.netvirt.sfc.workaround.services; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.CheckedFuture; import java.math.BigInteger; import java.util.ArrayList; @@ -165,7 +164,7 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build()); ib.setOrder(0); ib.setKey(new InstructionKey(0)); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); instructions.add(ib.build()); InstructionsBuilder isb = new InstructionsBuilder(); @@ -191,7 +190,7 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con if (write) { InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = InstructionUtils.createGotoTableInstructions(new InstructionBuilder(), goToTableId); ib.setOrder(0); @@ -223,7 +222,7 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con if (write) { InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionBuilder ib = InstructionUtils.createGotoTableInstructions(new InstructionBuilder(), getTable()); ib.setOrder(instructions.size()); @@ -255,8 +254,8 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con if (write) { InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); - List actionList = Lists.newArrayList(); + List instructions = new ArrayList<>(); + List actionList = new ArrayList<>(); ActionBuilder ab = new ActionBuilder(); @@ -337,7 +336,7 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con mutableIb.setOrder(1); mutableIb.setKey(new InstructionKey(1)); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); instructions.add(popNshIb.build()); instructions.add(mutableIb.build()); @@ -368,7 +367,7 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con if (write) { InstructionBuilder ib = new InstructionBuilder(); InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionUtils.createLocalInstructions(ib, dataPathId); ib.setOrder(0); ib.setKey(new InstructionKey(0)); @@ -401,7 +400,7 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con if (write) { InstructionBuilder ib = new InstructionBuilder(); InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); InstructionUtils.createOutputPortInstructions(ib, dataPathId, sfOfPort); ib.setOrder(0); @@ -436,10 +435,10 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con if (write) { InstructionBuilder ib = new InstructionBuilder(); InstructionsBuilder isb = new InstructionsBuilder(); - List instructions = Lists.newArrayList(); + List instructions = new ArrayList<>(); ApplyActionsBuilder aab = new ApplyActionsBuilder(); ActionBuilder ab = new ActionBuilder(); - List actionList = Lists.newArrayList(); + List actionList = new ArrayList<>(); // Move Eth Src to Eth Dst ab.setAction(ActionUtils.nxMoveEthSrcToEthDstAction()); @@ -510,9 +509,9 @@ public class SfcClassifierService extends AbstractServiceInstance implements Con org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action pushNsh = ActionUtils.nxPushNshAction(); org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nshMdtypeLoad = - ActionUtils.nxLoadNshMdtypeAction(Short.valueOf((short)0x1)); + ActionUtils.nxLoadNshMdtypeAction((short) 0x1); org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nshNpLoad = - ActionUtils.nxLoadNshNpAction(Short.valueOf((short)0x3)); + ActionUtils.nxLoadNshNpAction((short) 0x3); org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nshC1Load = ActionUtils.nxLoadNshc1RegAction(header.getNshMetaC1()); org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nspLoad = diff --git a/openstack/net-virt-sfc/it/src/test/java/org/opendaylight/netvirt/openstack/netvirt/sfc/it/NetvirtSfcIT.java b/openstack/net-virt-sfc/it/src/test/java/org/opendaylight/netvirt/openstack/netvirt/sfc/it/NetvirtSfcIT.java index b4baa213eb..c36f284502 100644 --- a/openstack/net-virt-sfc/it/src/test/java/org/opendaylight/netvirt/openstack/netvirt/sfc/it/NetvirtSfcIT.java +++ b/openstack/net-virt-sfc/it/src/test/java/org/opendaylight/netvirt/openstack/netvirt/sfc/it/NetvirtSfcIT.java @@ -25,9 +25,9 @@ import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.configure import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.keepRuntimeFolder; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -644,7 +644,7 @@ public class NetvirtSfcIT extends AbstractMdsalTestBase { String flowId = "DEFAULT_PIPELINE_FLOW_" + pipelineOrchestrator.getTable(Service.SFC_CLASSIFIER); nvItUtils.verifyFlow(nodeInfo.datapathId, flowId, pipelineOrchestrator.getTable(Service.SFC_CLASSIFIER)); - Map externalIds = Maps.newHashMap(); + Map externalIds = new HashMap<>(); externalIds.put("attached-mac", "f6:00:00:0f:00:01"); southboundUtils.addTerminationPoint(nodeInfo.bridgeNode, SF1DPLPORTNAME, "internal", (Map) null, externalIds); externalIds.clear(); diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/LBaaSPoolHandler.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/LBaaSPoolHandler.java index 7a28fc66c8..92e02f4543 100755 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/LBaaSPoolHandler.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/LBaaSPoolHandler.java @@ -8,33 +8,30 @@ package org.opendaylight.netvirt.openstack.netvirt; +import com.google.common.base.Preconditions; import java.net.HttpURLConnection; +import java.util.LinkedList; import java.util.List; import java.util.Map; - import org.opendaylight.netvirt.openstack.netvirt.api.Action; +import org.opendaylight.netvirt.openstack.netvirt.api.EventDispatcher; +import org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration; import org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerProvider; import org.opendaylight.netvirt.openstack.netvirt.api.NodeCacheManager; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancer; +import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPool; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPoolMember; +import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronLoadBalancerCRUD; import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronNetworkCRUD; import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronPortCRUD; -import org.opendaylight.netvirt.openstack.netvirt.translator.iaware.INeutronLoadBalancerPoolAware; -import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPool; -import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronLoadBalancerCRUD; import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronSubnetCRUD; -import org.opendaylight.netvirt.openstack.netvirt.api.EventDispatcher; -import org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration; +import org.opendaylight.netvirt.openstack.netvirt.translator.iaware.INeutronLoadBalancerPoolAware; import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; - import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; - /** * Handle requests for OpenStack Neutron v2.0 LBaaS API calls for * /v2.0/pools . It is possible that each pool spans multiple subnets. @@ -213,7 +210,7 @@ public class LBaaSPoolHandler extends AbstractHandler return null; } - List lbConfigList = Lists.newLinkedList(); + List lbConfigList = new LinkedList<>(); /* Iterate over all the Loadbalancers created so far and identify VIP */ diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/NodeConfiguration.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/NodeConfiguration.java index 3901750c46..b4727bc31d 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/NodeConfiguration.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/NodeConfiguration.java @@ -8,17 +8,15 @@ package org.opendaylight.netvirt.openstack.netvirt; -import org.opendaylight.netvirt.openstack.netvirt.api.Constants; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - +import java.util.LinkedList; import java.util.Queue; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; +import org.opendaylight.netvirt.openstack.netvirt.api.Constants; public class NodeConfiguration { - private java.util.Queue internalVlans = Lists.newLinkedList(); - private ConcurrentMap tenantVlanMap = Maps.newConcurrentMap(); + private java.util.Queue internalVlans = new LinkedList<>(); + private ConcurrentMap tenantVlanMap = new ConcurrentHashMap<>(); public NodeConfiguration() { for (int i = 1; i < Constants.MAX_VLAN; i++) { diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/api/LoadBalancerConfiguration.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/api/LoadBalancerConfiguration.java index 02e503977b..d5e2287dea 100755 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/api/LoadBalancerConfiguration.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/api/LoadBalancerConfiguration.java @@ -8,8 +8,7 @@ package org.opendaylight.netvirt.openstack.netvirt.api; -import com.google.common.collect.Maps; - +import java.util.HashMap; import java.util.Map; /** @@ -133,25 +132,25 @@ public class LoadBalancerConfiguration { private Map members; public LoadBalancerConfiguration() { - this.members = Maps.newHashMap(); + this.members = new HashMap<>(); } public LoadBalancerConfiguration(String name, String vip) { - this.members = Maps.newHashMap(); + this.members = new HashMap<>(); this.name = name; this.vip = vip; this.vmac = null; } public LoadBalancerConfiguration(String name, String vip, String vmac) { - this.members = Maps.newHashMap(); + this.members = new HashMap<>(); this.name = name; this.vip = vip; this.vmac = vmac; } public LoadBalancerConfiguration(LoadBalancerConfiguration lbConfig) { - this.members = Maps.newHashMap(lbConfig.getMembers()); + this.members = new HashMap<>(lbConfig.getMembers()); this.name = lbConfig.getName(); this.vip = lbConfig.getVip(); this.vmac = lbConfig.getVmac(); diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/BridgeConfigurationManagerImpl.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/BridgeConfigurationManagerImpl.java index 3041075644..86655aed1e 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/BridgeConfigurationManagerImpl.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/BridgeConfigurationManagerImpl.java @@ -8,17 +8,26 @@ package org.opendaylight.netvirt.openstack.netvirt.impl; +import com.google.common.base.Preconditions; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; +import java.util.Random; import java.util.stream.Collectors; -import org.opendaylight.netvirt.openstack.netvirt.NetworkHandler; -import org.opendaylight.netvirt.openstack.netvirt.api.OvsdbTables; -import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork; +import org.apache.commons.lang3.tuple.ImmutablePair; import org.opendaylight.netvirt.openstack.netvirt.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.MdsalHelper; +import org.opendaylight.netvirt.openstack.netvirt.NetworkHandler; import org.opendaylight.netvirt.openstack.netvirt.api.BridgeConfigurationManager; import org.opendaylight.netvirt.openstack.netvirt.api.ConfigurationService; import org.opendaylight.netvirt.openstack.netvirt.api.Constants; import org.opendaylight.netvirt.openstack.netvirt.api.NetworkingProviderManager; +import org.opendaylight.netvirt.openstack.netvirt.api.OvsdbTables; import org.opendaylight.netvirt.openstack.netvirt.api.Southbound; +import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork; import org.opendaylight.netvirt.utils.config.ConfigProperties; import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeBase; @@ -27,19 +36,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ConnectionInfo; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagerEntry; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; - -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; - -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.Random; - -import org.apache.commons.lang3.tuple.ImmutablePair; import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -322,7 +318,7 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage @Override public List getAllPhysicalInterfaceNames(Node node) { - List phyIfNames = Lists.newArrayList(); + List phyIfNames = new ArrayList<>(); String providerMaps = southbound.getOtherConfig(node, OvsdbTables.OPENVSWITCH, configurationService.getProviderMappingsKey()); if (providerMaps == null) { diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/ConfigurationServiceImpl.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/ConfigurationServiceImpl.java index ff0bcae788..e9bdb08fec 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/ConfigurationServiceImpl.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/ConfigurationServiceImpl.java @@ -8,11 +8,10 @@ package org.opendaylight.netvirt.openstack.netvirt.impl; -import com.google.common.collect.Maps; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.HashMap; import java.util.Map; - import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; import org.opendaylight.netvirt.openstack.netvirt.ConfigInterface; @@ -23,7 +22,6 @@ import org.opendaylight.netvirt.openstack.netvirt.api.Southbound; import org.opendaylight.netvirt.utils.config.ConfigProperties; import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; - import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,7 +34,7 @@ public class ConfigurationServiceImpl implements ConfigurationService, ConfigInt private String externalBridgeName; private String tunnelEndpointKey; - private Map, String> patchPortNames = Maps.newHashMap(); + private Map, String> patchPortNames = new HashMap<>(); private String providerMappingsKey; private String providerMapping; private Southbound southbound; diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/HostConfigService.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/HostConfigService.java index 3a1f73836f..6baa3aa5ee 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/HostConfigService.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/HostConfigService.java @@ -8,7 +8,9 @@ package org.opendaylight.netvirt.openstack.netvirt.impl; -import com.google.common.collect.Maps; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.netvirt.openstack.netvirt.ClusterAwareMdsalUtils; @@ -16,25 +18,22 @@ import org.opendaylight.netvirt.openstack.netvirt.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.api.Action; import org.opendaylight.netvirt.openstack.netvirt.api.OvsdbInventoryListener; import org.opendaylight.netvirt.openstack.netvirt.api.OvsdbInventoryService; -import org.opendaylight.netvirt.openstack.netvirt.api.Southbound; import org.opendaylight.netvirt.openstack.netvirt.api.OvsdbTables; +import org.opendaylight.netvirt.openstack.netvirt.api.Southbound; import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.hostconfig.rev150712.hostconfig.attributes.Hostconfigs; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.hostconfig.rev150712.hostconfig.attributes.hostconfigs.Hostconfig; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.hostconfig.rev150712.hostconfig.attributes.hostconfigs.HostconfigBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.OpenvswitchExternalIds; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; -import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.hostconfig.rev150712.hostconfig.attributes.hostconfigs.HostconfigBuilder; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.List; -import java.util.Map; - public class HostConfigService implements OvsdbInventoryListener, ConfigInterface { private static final Logger LOG = LoggerFactory.getLogger(HostConfigService.class); @@ -79,7 +78,7 @@ public class HostConfigService implements OvsdbInventoryListener, ConfigInterfac private Map extractHostConfig(Node node) { OvsdbNodeAugmentation ovsdbNode = southbound.extractNodeAugmentation(node); - Map config = Maps.newHashMap(); + Map config = new HashMap<>(); if (ovsdbNode == null) { Node nodeFromReadOvsdbNode = southbound.readOvsdbNode(node); if (nodeFromReadOvsdbNode != null) { diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/NodeCacheManagerImpl.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/NodeCacheManagerImpl.java index 3ddf7499d1..3e4d1c4ee2 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/NodeCacheManagerImpl.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/NodeCacheManagerImpl.java @@ -7,30 +7,27 @@ */ package org.opendaylight.netvirt.openstack.netvirt.impl; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; - -import org.opendaylight.netvirt.openstack.netvirt.NodeCacheManagerEvent; -import org.opendaylight.netvirt.openstack.netvirt.api.NodeCacheManager; import org.opendaylight.netvirt.openstack.netvirt.AbstractEvent; import org.opendaylight.netvirt.openstack.netvirt.AbstractHandler; import org.opendaylight.netvirt.openstack.netvirt.ConfigInterface; +import org.opendaylight.netvirt.openstack.netvirt.NodeCacheManagerEvent; import org.opendaylight.netvirt.openstack.netvirt.api.Action; import org.opendaylight.netvirt.openstack.netvirt.api.EventDispatcher; import org.opendaylight.netvirt.openstack.netvirt.api.NodeCacheListener; +import org.opendaylight.netvirt.openstack.netvirt.api.NodeCacheManager; import org.opendaylight.netvirt.openstack.netvirt.api.Southbound; import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; - import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - /** * @author Flavio Fernandes (ffernand@redhat.com) * @author Sam Hague (shague@redhat.com) @@ -38,7 +35,7 @@ import com.google.common.collect.Maps; public class NodeCacheManagerImpl extends AbstractHandler implements NodeCacheManager, ConfigInterface { private static final Logger LOG = LoggerFactory.getLogger(NodeCacheManagerImpl.class); private Map nodeCache = new ConcurrentHashMap<>(); - private Map handlers = Maps.newHashMap(); + private Map handlers = new HashMap<>(); private volatile Southbound southbound; @Override @@ -161,7 +158,7 @@ public class NodeCacheManagerImpl extends AbstractHandler implements NodeCacheMa @Override public List getBridgeNodes() { - List nodes = Lists.newArrayList(); + List nodes = new ArrayList<>(); for (Node node : nodeCache.values()) { if (southbound.getBridge(node) != null) { nodes.add(node); @@ -172,7 +169,7 @@ public class NodeCacheManagerImpl extends AbstractHandler implements NodeCacheMa @Override public List getBridgeDpids(final String bridgeName) { - List dpids = Lists.newArrayList(); + List dpids = new ArrayList<>(); for (Node node : nodeCache.values()) { if (bridgeName == null || southbound.getBridge(node, bridgeName) != null) { long dpid = southbound.getDataPathId(node); @@ -186,11 +183,7 @@ public class NodeCacheManagerImpl extends AbstractHandler implements NodeCacheMa @Override public List getNodes() { - List nodes = Lists.newArrayList(); - for (Node node : nodeCache.values()) { - nodes.add(node); - } - return nodes; + return new ArrayList<>(nodeCache.values()); } private void populateNodeCache() { diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/ProviderNetworkManagerImpl.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/ProviderNetworkManagerImpl.java index 9e2770a7a5..6a9bad2663 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/ProviderNetworkManagerImpl.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/ProviderNetworkManagerImpl.java @@ -8,7 +8,7 @@ package org.opendaylight.netvirt.openstack.netvirt.impl; -import com.google.common.collect.Maps; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Predicate; @@ -26,8 +26,8 @@ import org.slf4j.LoggerFactory; public class ProviderNetworkManagerImpl implements ConfigInterface, NetworkingProviderManager { private static final Logger LOG = LoggerFactory.getLogger(ProviderNetworkManagerImpl.class); - private Map providers = Maps.newHashMap(); - private Map nodeToProviderMapping = Maps.newHashMap(); + private Map providers = new HashMap<>(); + private Map nodeToProviderMapping = new HashMap<>(); private volatile OvsdbInventoryService ovsdbInventoryService; @Override @@ -56,7 +56,7 @@ public class ProviderNetworkManagerImpl implements ConfigInterface, NetworkingPr } public void providerAdded(final ServiceReference ref, final NetworkingProvider provider){ - Map properties = Maps.newHashMap(); + Map properties = new HashMap<>(); Long pid = (Long) ref.getProperty(org.osgi.framework.Constants.SERVICE_ID); properties.put(Constants.SOUTHBOUND_PROTOCOL_PROPERTY, (String) ref.getProperty(Constants.SOUTHBOUND_PROTOCOL_PROPERTY)); diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/VlanConfigurationCacheImpl.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/VlanConfigurationCacheImpl.java index d0b53f16af..450c1f5d41 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/VlanConfigurationCacheImpl.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/impl/VlanConfigurationCacheImpl.java @@ -8,19 +8,17 @@ package org.opendaylight.netvirt.openstack.netvirt.impl; -import org.opendaylight.netvirt.openstack.netvirt.api.TenantNetworkManager; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.opendaylight.netvirt.openstack.netvirt.ConfigInterface; import org.opendaylight.netvirt.openstack.netvirt.NodeConfiguration; import org.opendaylight.netvirt.openstack.netvirt.api.Southbound; +import org.opendaylight.netvirt.openstack.netvirt.api.TenantNetworkManager; import org.opendaylight.netvirt.openstack.netvirt.api.VlanConfigurationCache; import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; - -import com.google.common.collect.Maps; -import java.util.List; -import java.util.Map; - import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,7 +29,7 @@ import org.slf4j.LoggerFactory; */ public class VlanConfigurationCacheImpl implements ConfigInterface, VlanConfigurationCache { private static final Logger LOG = LoggerFactory.getLogger(VlanConfigurationCacheImpl.class); - private Map configurationCache = Maps.newConcurrentMap(); + private Map configurationCache = new ConcurrentHashMap<>(); private volatile TenantNetworkManager tenantNetworkManager; private volatile Southbound southbound; diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/crud/impl/NeutronPortInterface.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/crud/impl/NeutronPortInterface.java index 88aa377733..e2fe6c90c9 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/crud/impl/NeutronPortInterface.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/crud/impl/NeutronPortInterface.java @@ -18,7 +18,6 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort_AllowedAddressPairs; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort_ExtraDHCPOption; -import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort_VIFDetail; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityGroup; import org.opendaylight.netvirt.openstack.netvirt.translator.Neutron_IPs; import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronPortCRUD; @@ -143,7 +142,7 @@ public class NeutronPortInterface extends AbstractNeutronInterface details = new HashMap(binding.getVifDetails().size()); + final Map details = new HashMap<>(binding.getVifDetails().size()); for (final VifDetails vifDetail : binding.getVifDetails()) { details.put(vifDetail.getDetailsKey(), vifDetail.getValue()); } @@ -230,7 +229,7 @@ public class NeutronPortInterface extends AbstractNeutronInterface vifDetails = neutronPort.getVIFDetails(); - final List listVifDetail = new ArrayList(vifDetails.size()); + final List listVifDetail = new ArrayList<>(vifDetails.size()); for (final Map.Entry vifDetail : vifDetails.entrySet()) { final VifDetailsBuilder vifDetailsBuilder = new VifDetailsBuilder(); if (vifDetail.getKey() != null) { diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/iaware/impl/NeutronPortChangeListener.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/iaware/impl/NeutronPortChangeListener.java index 2f9d578546..001119b78b 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/iaware/impl/NeutronPortChangeListener.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/iaware/impl/NeutronPortChangeListener.java @@ -14,17 +14,15 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; - import org.opendaylight.controller.md.sal.binding.api.ClusteredDataChangeListener; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.DataChangeListener; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort_AllowedAddressPairs; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort_ExtraDHCPOption; -import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort_VIFDetail; -import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityGroup; import org.opendaylight.netvirt.openstack.netvirt.translator.Neutron_IPs; import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronSecurityGroupCRUD; @@ -194,7 +192,7 @@ public class NeutronPortChangeListener implements ClusteredDataChangeListener, A PortBindingExtension binding = port.getAugmentation(PortBindingExtension.class); result.setBindinghostID(binding.getHostId()); if (binding.getVifDetails() != null) { - final Map details = new HashMap(binding.getVifDetails().size()); + final Map details = new HashMap<>(binding.getVifDetails().size()); for (final VifDetails vifDetail : binding.getVifDetails()) { details.put(vifDetail.getDetailsKey(), vifDetail.getValue()); } diff --git a/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/NodeCacheManagerEventTest.java b/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/NodeCacheManagerEventTest.java index 2b7fd4efe4..df0a07d82f 100644 --- a/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/NodeCacheManagerEventTest.java +++ b/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/NodeCacheManagerEventTest.java @@ -44,6 +44,6 @@ public class NodeCacheManagerEventTest { @Test public void testEquals() { assertTrue("Error, the two object should be equal", nodeCacheManagerEvent.equals(nodeCacheManagerEvent)); - assertFalse("Error, the two object should not be equal", nodeCacheManagerEvent.equals(new String("dummy"))); + assertFalse("Error, the two object should not be equal", nodeCacheManagerEvent.equals("dummy")); } } diff --git a/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/impl/NodeCacheManagerImplTest.java b/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/impl/NodeCacheManagerImplTest.java index 0832db1cf2..61510965fb 100644 --- a/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/impl/NodeCacheManagerImplTest.java +++ b/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/impl/NodeCacheManagerImplTest.java @@ -14,9 +14,8 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.lang.reflect.Field; +import java.util.HashMap; import java.util.Map; - -import com.google.common.collect.Maps; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; @@ -32,8 +31,7 @@ import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology - .Node; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.osgi.framework.ServiceReference; /** @@ -43,7 +41,7 @@ import org.osgi.framework.ServiceReference; public class NodeCacheManagerImplTest { @InjectMocks private NodeCacheManagerImpl nodeCacheManagerImpl; - @Spy private Map handlers = Maps.newHashMap(); + @Spy private Map handlers = new HashMap<>(); @Mock private Southbound southbound; diff --git a/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/impl/ProviderNetworkManagerImplTest.java b/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/impl/ProviderNetworkManagerImplTest.java index 46174b489e..eef890aa1c 100644 --- a/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/impl/ProviderNetworkManagerImplTest.java +++ b/openstack/net-virt/src/test/java/org/opendaylight/netvirt/openstack/netvirt/impl/ProviderNetworkManagerImplTest.java @@ -14,8 +14,6 @@ import static org.mockito.Mockito.when; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; - -import com.google.common.collect.Maps; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; @@ -25,8 +23,7 @@ import org.mockito.runners.MockitoJUnitRunner; import org.opendaylight.netvirt.openstack.netvirt.api.NetworkingProvider; import org.opendaylight.netvirt.openstack.netvirt.api.OvsdbInventoryService; import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology - .Node; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.osgi.framework.ServiceReference; /** @@ -39,7 +36,7 @@ public class ProviderNetworkManagerImplTest { @Mock private OvsdbInventoryService ovsdbInventoryService; - @Spy private Map nodeToProviderMapping = Maps.newHashMap(); + @Spy private Map nodeToProviderMapping = new HashMap<>(); /** * Test method {@link ProviderNetworkManagerImpl#getProvider(Node)} diff --git a/openstack/utils/mdsal-openflow/src/main/java/org/opendaylight/netvirt/utils/mdsal/openflow/ActionUtils.java b/openstack/utils/mdsal-openflow/src/main/java/org/opendaylight/netvirt/utils/mdsal/openflow/ActionUtils.java index fc00b2e916..4930b0d2bb 100644 --- a/openstack/utils/mdsal-openflow/src/main/java/org/opendaylight/netvirt/utils/mdsal/openflow/ActionUtils.java +++ b/openstack/utils/mdsal-openflow/src/main/java/org/opendaylight/netvirt/utils/mdsal/openflow/ActionUtils.java @@ -8,9 +8,10 @@ package org.opendaylight.netvirt.utils.mdsal.openflow; -import com.google.common.collect.Lists; import com.google.common.net.InetAddresses; - +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action; @@ -47,14 +48,14 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.DstChoice; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxArpShaCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxArpThaCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNspCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNsiCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshMdtypeCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshNpCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshc1CaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshc2CaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshc3CaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshc4CaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshMdtypeCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshNpCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNspCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNsiCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxTunIdCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxTunIpv4DstCaseBuilder; @@ -68,17 +69,21 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionConntrackNodesNodeTableFlowApplyActionsCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionMultipathNodesNodeTableFlowApplyActionsCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionOutputRegNodesNodeTableFlowApplyActionsCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPopNshNodesNodeTableFlowApplyActionsCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPushNshNodesNodeTableFlowApplyActionsCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegMoveNodesNodeTableFlowApplyActionsCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionResubmitNodesNodeTableFlowApplyActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPushNshNodesNodeTableFlowApplyActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPopNshNodesNodeTableFlowApplyActionsCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.NxConntrack; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.NxConntrackBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.multipath.grouping.NxMultipath; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.multipath.grouping.NxMultipathBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.output.reg.grouping.NxOutputReg; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.output.reg.grouping.NxOutputRegBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.pop.nsh.grouping.NxPopNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.pop.nsh.grouping.NxPopNshBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.push.nsh.grouping.NxPushNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.push.nsh.grouping.NxPushNshBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoad; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoadBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.DstBuilder; @@ -87,10 +92,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.SrcBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.resubmit.grouping.NxResubmit; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.resubmit.grouping.NxResubmitBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.push.nsh.grouping.NxPushNsh; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.push.nsh.grouping.NxPushNshBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.pop.nsh.grouping.NxPopNsh; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.pop.nsh.grouping.NxPopNshBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.SrcChoice; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxArpShaCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxNshc1CaseBuilder; @@ -102,9 +103,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfEthSrcCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfIpSrcCaseBuilder; -import java.math.BigInteger; -import java.util.List; - public final class ActionUtils { public static Action dropAction() { return new DropActionCaseBuilder() @@ -525,7 +523,7 @@ public final class ActionUtils { ab.setOrder(0); ab.setKey(new ActionKey(0)); List actionList = - Lists.newArrayList(); + new ArrayList<>(); actionList.add(ab.build()); ApplyActionsBuilder aab = new ApplyActionsBuilder(); aab.setAction(actionList); diff --git a/openstack/utils/mdsal-openflow/src/main/java/org/opendaylight/netvirt/utils/mdsal/openflow/MatchUtils.java b/openstack/utils/mdsal-openflow/src/main/java/org/opendaylight/netvirt/utils/mdsal/openflow/MatchUtils.java index 3a4d62676f..c02abb0581 100644 --- a/openstack/utils/mdsal-openflow/src/main/java/org/opendaylight/netvirt/utils/mdsal/openflow/MatchUtils.java +++ b/openstack/utils/mdsal-openflow/src/main/java/org/opendaylight/netvirt/utils/mdsal/openflow/MatchUtils.java @@ -8,12 +8,12 @@ package org.opendaylight.netvirt.utils.mdsal.openflow; +import com.google.common.collect.ImmutableList; import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; - import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix; @@ -62,6 +62,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlowBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtStateKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtZoneKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNsiKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg0Key; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg1Key; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg2Key; @@ -79,9 +81,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.zone.grouping.NxmNxCtZoneBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.reg.grouping.NxmNxRegBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.tun.id.grouping.NxmNxTunIdBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsp.grouping.NxmNxNspBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNsiKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsi.grouping.NxmNxNsiBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.tcp.src.grouping.NxmOfTcpSrcBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.tcp.dst.grouping.NxmOfTcpDstBuilder; @@ -90,9 +90,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; - public class MatchUtils { private static final Logger LOG = LoggerFactory.getLogger(MatchUtils.class); public static final short ICMP_SHORT = 1; @@ -1693,7 +1690,7 @@ public class MatchUtils { extensions = existingAugmentations.getExtensionList(); } if (extensions == null) { - extensions = Lists.newArrayList(); + extensions = new ArrayList<>(); } extensions.add(new ExtensionListBuilder() diff --git a/openstack/utils/netvirt-it-utils/src/main/java/org/opendaylight/netvirt/utils/netvirt/it/utils/NetvirtItUtils.java b/openstack/utils/netvirt-it-utils/src/main/java/org/opendaylight/netvirt/utils/netvirt/it/utils/NetvirtItUtils.java index 6a0ad26913..c8c9ee02aa 100644 --- a/openstack/utils/netvirt-it-utils/src/main/java/org/opendaylight/netvirt/utils/netvirt/it/utils/NetvirtItUtils.java +++ b/openstack/utils/netvirt-it-utils/src/main/java/org/opendaylight/netvirt/utils/netvirt/it/utils/NetvirtItUtils.java @@ -10,7 +10,9 @@ package org.opendaylight.netvirt.utils.netvirt.it.utils; import static org.junit.Assert.assertNotNull; -import com.google.common.collect.Lists; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import org.junit.Assert; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -52,9 +54,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.List; -import java.util.Objects; - /** * This class contains various utility methods used in netvirt integration tests (IT). */ @@ -267,7 +266,7 @@ public class NetvirtItUtils { if (!Objects.equals(m1.getTcpFlagsMatch(), m2.getTcpFlagsMatch())) { return false; } MatchAugmentationIterator it = new MatchAugmentationIterator(m1); - List side1Matches = Lists.newArrayList(); + List side1Matches = new ArrayList<>(); AllMatchesGrouping aug; while (null != (aug = it.next())) { side1Matches.add(aug); diff --git a/openstack/utils/netvirt-it-utils/src/main/java/org/opendaylight/netvirt/utils/netvirt/it/utils/NeutronNetItUtil.java b/openstack/utils/netvirt-it-utils/src/main/java/org/opendaylight/netvirt/utils/netvirt/it/utils/NeutronNetItUtil.java index 93844d0a69..c1d6208989 100644 --- a/openstack/utils/netvirt-it-utils/src/main/java/org/opendaylight/netvirt/utils/netvirt/it/utils/NeutronNetItUtil.java +++ b/openstack/utils/netvirt-it-utils/src/main/java/org/opendaylight/netvirt/utils/netvirt/it/utils/NeutronNetItUtil.java @@ -12,8 +12,6 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.UUID; - -import com.google.common.collect.Maps; import org.junit.Assert; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork; import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort; @@ -63,7 +61,7 @@ public class NeutronNetItUtil { /** * Maps port names (the ones you pass in to createPort() to their PortInfo objects */ - public Map portInfoByName = new HashMap(); + public Map portInfoByName = new HashMap<>(); /** * Construct a new NeutronNetItUtil. @@ -173,7 +171,7 @@ public class NeutronNetItUtil { //TBD: Use NotifyingDataChangeListener Thread.sleep(1000); - Map externalIds = Maps.newHashMap(); + Map externalIds = new HashMap<>(); externalIds.put("attached-mac", portInfo.mac); externalIds.put("iface-id", portId); southboundUtils.addTerminationPoint(bridge, portInfo.name, portType, null, externalIds, portInfo.ofPort); diff --git a/vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceOFFlowBuilderTest.java b/vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceOFFlowBuilderTest.java index 8e82704b36..a65bf08378 100644 --- a/vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceOFFlowBuilderTest.java +++ b/vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceOFFlowBuilderTest.java @@ -8,17 +8,14 @@ package org.opendaylight.netvirt.aclservice.utils; -import static com.google.common.collect.Iterables.filter; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -import com.google.common.collect.Iterables; - import java.util.ArrayList; import java.util.List; import java.util.Map; - +import java.util.stream.Collectors; import org.junit.Test; import org.opendaylight.genius.mdsalutil.MatchInfoBase; import org.opendaylight.genius.mdsalutil.NxMatchFieldType; @@ -27,7 +24,6 @@ import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType; import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv4; import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Destination; import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Source; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.Matches; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.matches.ace.type.AceIpBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.matches.ace.type.ace.ip.ace.ip.version.AceIpv4Builder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; @@ -37,9 +33,7 @@ public class AclServiceOFFlowBuilderTest { @Test public void testProgramIpFlow_NullMatches() { - Matches matches = null; - Map> flowMap = AclServiceOFFlowBuilder.programIpFlow(matches); - assertNull(flowMap); + assertNull(AclServiceOFFlowBuilder.programIpFlow(null)); } @Test @@ -91,8 +85,8 @@ public class AclServiceOFFlowBuilderTest { Map> flowMatchesMap = AclServiceOFFlowBuilder.programTcpFlow(builder.build()); - List srcFlowMatches = new ArrayList(); - List dstFlowMatches = new ArrayList(); + List srcFlowMatches = new ArrayList<>(); + List dstFlowMatches = new ArrayList<>(); for (String flowId : flowMatchesMap.keySet()) { if (flowId.startsWith("TCP_SOURCE_")) { @@ -104,20 +98,18 @@ public class AclServiceOFFlowBuilderTest { } AclServiceTestUtils.verifyGeneralFlows(srcFlowMatches, "1", "10.1.1.1", "20.1.1.1", "24"); - Iterable nxSrcMatches = filter(srcFlowMatches, - (item -> item instanceof NxMatchInfo) ); - Iterable tcpSrcMatches = filter(nxSrcMatches, - (item -> ((NxMatchInfo) item).getMatchField().equals(NxMatchFieldType.nx_tcp_src_with_mask))); + List tcpSrcMatches = srcFlowMatches.stream().filter( + item -> item instanceof NxMatchInfo && ((NxMatchInfo) item).getMatchField().equals( + NxMatchFieldType.nx_tcp_src_with_mask)).collect(Collectors.toList()); - AclServiceTestUtils.verifyMatchValues((NxMatchInfo) Iterables.getFirst(tcpSrcMatches, null), "1024", "65535"); + AclServiceTestUtils.verifyMatchValues((NxMatchInfo) tcpSrcMatches.get(0), "1024", "65535"); AclServiceTestUtils.verifyGeneralFlows(dstFlowMatches, "1", "10.1.1.1", "20.1.1.1", "24"); - Iterable nxDstMatches = filter(dstFlowMatches, - (item -> item instanceof NxMatchInfo) ); - Iterable tcpDstMatches = filter(nxDstMatches, - (item -> ((NxMatchInfo) item).getMatchField().equals(NxMatchFieldType.nx_tcp_dst_with_mask))); + List tcpDstMatches = dstFlowMatches.stream().filter( + item -> item instanceof NxMatchInfo && ((NxMatchInfo) item).getMatchField().equals( + NxMatchFieldType.nx_tcp_dst_with_mask)).collect(Collectors.toList()); - AclServiceTestUtils.verifyMatchValues((NxMatchInfo) Iterables.getFirst(tcpDstMatches, null), "1024", "65535"); + AclServiceTestUtils.verifyMatchValues((NxMatchInfo) tcpDstMatches.get(0), "1024", "65535"); } @Test @@ -147,8 +139,8 @@ public class AclServiceOFFlowBuilderTest { (short) 1); Map> flowMatchesMap = AclServiceOFFlowBuilder.programUdpFlow(builder.build()); - List srcFlowMatches = new ArrayList(); - List dstFlowMatches = new ArrayList(); + List srcFlowMatches = new ArrayList<>(); + List dstFlowMatches = new ArrayList<>(); for (String flowId : flowMatchesMap.keySet()) { if (flowId.startsWith("UDP_SOURCE_")) { @@ -161,19 +153,17 @@ public class AclServiceOFFlowBuilderTest { AclServiceTestUtils.verifyGeneralFlows(srcFlowMatches, "1", "10.1.1.1", "20.1.1.1", "24"); - Iterable nxSrcMatches = filter(srcFlowMatches, - (item -> item instanceof NxMatchInfo) ); - Iterable udpSrcMatches = filter(nxSrcMatches, - (item -> ((NxMatchInfo) item).getMatchField().equals(NxMatchFieldType.nx_udp_src_with_mask))); - AclServiceTestUtils.verifyMatchValues((NxMatchInfo) Iterables.getFirst(udpSrcMatches, null), "1024", "65535"); + List udpSrcMatches = srcFlowMatches.stream().filter( + item -> item instanceof NxMatchInfo && ((NxMatchInfo) item).getMatchField().equals( + NxMatchFieldType.nx_udp_src_with_mask)).collect(Collectors.toList()); + AclServiceTestUtils.verifyMatchValues((NxMatchInfo) udpSrcMatches.get(0), "1024", "65535"); AclServiceTestUtils.verifyGeneralFlows(dstFlowMatches, "1", "10.1.1.1", "20.1.1.1", "24"); - Iterable nxDstMatches = filter(dstFlowMatches, - (item -> item instanceof NxMatchInfo) ); - Iterable udpDstMatches = filter(nxDstMatches, - (item -> ((NxMatchInfo) item).getMatchField().equals(NxMatchFieldType.nx_udp_dst_with_mask))); - AclServiceTestUtils.verifyMatchValues((NxMatchInfo) Iterables.getFirst(udpDstMatches, null), "1024", "65535"); + List udpDstMatches = dstFlowMatches.stream().filter( + item -> item instanceof NxMatchInfo && ((NxMatchInfo) item).getMatchField().equals( + NxMatchFieldType.nx_udp_dst_with_mask)).collect(Collectors.toList()); + AclServiceTestUtils.verifyMatchValues((NxMatchInfo) udpDstMatches.get(0), "1024", "65535"); } @Test diff --git a/vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceTestUtils.java b/vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceTestUtils.java index cb57d0298a..58842d0c0b 100644 --- a/vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceTestUtils.java +++ b/vpnservice/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceTestUtils.java @@ -8,22 +8,18 @@ package org.opendaylight.netvirt.aclservice.utils; -import static com.google.common.collect.Iterables.filter; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import com.google.common.collect.Iterables; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.concurrent.ConcurrentMap; import java.util.stream.Collectors; import java.util.stream.Stream; - import org.junit.Assert; import org.opendaylight.genius.mdsalutil.ActionInfo; import org.opendaylight.genius.mdsalutil.InstructionInfo; @@ -92,9 +88,10 @@ public class AclServiceTestUtils { } public static void verifyMatchInfo(List flowMatches, NxMatchFieldType matchType, String... params) { - Iterable matches = filter(flowMatches, - item -> item instanceof NxMatchInfo && ((NxMatchInfo) item).getMatchField().equals(matchType)); - assertFalse(Iterables.isEmpty(matches)); + List matches = flowMatches.stream().filter( + item -> item instanceof NxMatchInfo && ((NxMatchInfo) item).getMatchField().equals(matchType)).collect( + Collectors.toList()); + assertFalse(matches.isEmpty()); for (MatchInfoBase baseMatch : matches) { verifyMatchValues((NxMatchInfo)baseMatch, params); } @@ -118,15 +115,13 @@ public class AclServiceTestUtils { public static void verifyMatchFieldTypeDontExist(List flowMatches, Class matchType) { - Iterable matches = filter(flowMatches, - item -> matchType.isAssignableFrom(item.getClass())); - Assert.assertTrue("unexpected match type " + matchType.getSimpleName(), Iterables.isEmpty(matches)); + Assert.assertFalse("unexpected match type " + matchType.getSimpleName(), flowMatches.stream().anyMatch( + item -> matchType.isAssignableFrom(item.getClass()))); } public static void verifyMatchFieldTypeDontExist(List flowMatches, NxMatchFieldType matchType) { - Iterable matches = filter(flowMatches, - item -> item instanceof NxMatchInfo && ((NxMatchInfo) item).getMatchField().equals(matchType)); - Assert.assertTrue("unexpected match type " + matchType.name(), Iterables.isEmpty(matches)); + Assert.assertFalse("unexpected match type " + matchType.name(), flowMatches.stream().anyMatch( + item -> item instanceof NxMatchInfo && ((NxMatchInfo) item).getMatchField().equals(matchType))); } public static void prepareAclDataUtil(AclDataUtil aclDataUtil, AclInterface inter, String... updatedAclNames) { diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanDpnInterfaceClusteredListener.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanDpnInterfaceClusteredListener.java index 8a715022a6..8694c1a215 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanDpnInterfaceClusteredListener.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanDpnInterfaceClusteredListener.java @@ -7,7 +7,7 @@ */ package org.opendaylight.netvirt.elan.internal; -import com.google.common.collect.Lists; +import java.util.Collections; import org.opendaylight.controller.md.sal.binding.api.ClusteredDataChangeListener; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService; @@ -74,7 +74,7 @@ public class ElanDpnInterfaceClusteredListener return; } ElanClusterUtils.runOnlyInLeaderNode(entityOwnershipService, elanName, "updating mcast mac upon tunnel event", - () -> Lists.newArrayList( + () -> Collections.singletonList( elanL2GatewayMulticastUtils.updateRemoteMcastMacOnElanL2GwDevices(elanName))); } @@ -96,7 +96,7 @@ public class ElanDpnInterfaceClusteredListener elanL2GatewayUtils.deleteElanL2GwDevicesUcastLocalMacsFromDpn(elanName, dpnInterfaces.getDpId()); // updating remote mcast mac on l2gw devices - return Lists.newArrayList( + return Collections.singletonList( elanL2GatewayMulticastUtils.updateRemoteMcastMacOnElanL2GwDevices(elanName)); }); } diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/HwvtepHAUtil.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/HwvtepHAUtil.java index 0cedd21871..69cfae232f 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/HwvtepHAUtil.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/HwvtepHAUtil.java @@ -11,8 +11,6 @@ import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastor import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL; import com.google.common.base.Optional; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -332,7 +330,7 @@ public class HwvtepHAUtil { * @return ha Child ids */ public static List getChildNodeIdsFromManagerOtherConfig(Optional haGlobalConfigNodeOptional) { - List childNodeIds = Lists.newArrayList(); + List childNodeIds = new ArrayList<>(); if (!haGlobalConfigNodeOptional.isPresent()) { return childNodeIds; } @@ -416,14 +414,15 @@ public class HwvtepHAUtil { */ public static List buildManagersForHANode(Node childNode, Optional haGlobalCfg) { - Set nodeIds = Sets.newHashSet(childNode.getNodeId()); + Set nodeIds = new HashSet<>(); + nodeIds.add(childNode.getNodeId()); List childNodeIds = getChildNodeIdsFromManagerOtherConfig(haGlobalCfg); nodeIds.addAll(childNodeIds); ManagersBuilder builder1 = new ManagersBuilder(); builder1.setKey(new ManagersKey(new Uri(MANAGER_KEY))); - List otherConfigses = Lists.newArrayList(); + List otherConfigses = new ArrayList<>(); StringBuffer stringBuffer = new StringBuffer(); for (NodeId nodeId : nodeIds) { stringBuffer.append(nodeId.getValue()); @@ -434,7 +433,7 @@ public class HwvtepHAUtil { otherConfigses.add(getOtherConfigBuilder(HA_CHILDREN, children).build()); builder1.setManagerOtherConfigs(otherConfigses); - List managers = Lists.newArrayList(); + List managers = new ArrayList<>(); managers.add(builder1.build()); return managers; } diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/BaseCommand.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/BaseCommand.java index 5eb6b92344..61f381b33a 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/BaseCommand.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/BaseCommand.java @@ -7,8 +7,6 @@ */ package org.opendaylight.netvirt.elan.l2gw.ha.commands; -import com.google.common.collect.Lists; - import java.util.ArrayList; import java.util.Comparator; import java.util.List; @@ -24,7 +22,7 @@ public abstract class BaseCommand { */ public List diffOf(List updated, final List original, final Comparator comparator) { if (updated == null) { - return Lists.newArrayList(); + return new ArrayList<>(); } if (original == null) { return new ArrayList<>(updated); @@ -54,7 +52,7 @@ public abstract class BaseCommand { */ public List diffOf(List updated, final List original) { if (updated == null) { - return Lists.newArrayList(); + return new ArrayList<>(); } if (original == null) { return new ArrayList<>(updated); diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/LocalMcastCmd.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/LocalMcastCmd.java index a82b22172c..51a1dba367 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/LocalMcastCmd.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/LocalMcastCmd.java @@ -7,7 +7,7 @@ */ package org.opendaylight.netvirt.elan.l2gw.ha.commands; -import com.google.common.collect.Lists; +import java.util.ArrayList; import java.util.List; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation; @@ -56,7 +56,7 @@ public class LocalMcastCmd @Override public LocalMcastMacs transform(InstanceIdentifier nodePath, LocalMcastMacs src) { LocalMcastMacsBuilder ucmlBuilder = new LocalMcastMacsBuilder(src); - List locatorSet = Lists.newArrayList(); + List locatorSet = new ArrayList<>(); for (LocatorSet locator : src.getLocatorSet()) { locatorSet.add(new LocatorSetBuilder().setLocatorRef(HwvtepHAUtil.buildLocatorRef(nodePath, HwvtepHAUtil.getTepIpVal(locator.getLocatorRef()))).build()); diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/MergeCommand.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/MergeCommand.java index 37daa2c2b7..9529d317fd 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/MergeCommand.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/MergeCommand.java @@ -11,12 +11,11 @@ import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastor import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL; import static org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil.isEmptyList; -import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Objects; - +import java.util.stream.Collectors; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; @@ -40,24 +39,22 @@ public abstract class MergeCommand transformOpData(List existingData, List src, InstanceIdentifier nodePath) { if (isEmptyList(src)) { - return Lists.newArrayList(); + return new ArrayList<>(); } List added = diffOf(src, existingData);//do not add existing data again - List transformed = transform(nodePath, added); - return transformed; + return transform(nodePath, added); } public List transformConfigData(List updatedSrc, InstanceIdentifier nodePath) { if (isEmptyList(updatedSrc)) { - return Lists.newArrayList();//what difference returning null makes ? + return new ArrayList<>();//what difference returning null makes ? } - List transformed = transform(nodePath, updatedSrc);//set the whole data - return transformed; + return transform(nodePath, updatedSrc); } public List diffByKey(List updated, final List original) { if (updated == null) { - return Lists.newArrayList(); + return new ArrayList<>(); } if (original == null) { return new ArrayList<>(updated); @@ -127,11 +124,7 @@ public abstract class MergeCommand transform(InstanceIdentifier nodePath, List list) { - List result = Lists.newArrayList(); - for (T t : list) { - result.add(transform(nodePath, t)); - } - return result; + return list.stream().map(t -> transform(nodePath, t)).collect(Collectors.toList()); } public abstract T transform(InstanceIdentifier nodePath, T objT); diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/RemoteMcastCmd.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/RemoteMcastCmd.java index 50e2aa236b..477f954248 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/RemoteMcastCmd.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/RemoteMcastCmd.java @@ -7,7 +7,7 @@ */ package org.opendaylight.netvirt.elan.l2gw.ha.commands; -import com.google.common.collect.Lists; +import java.util.ArrayList; import java.util.List; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation; @@ -54,7 +54,7 @@ public class RemoteMcastCmd extends public RemoteMcastMacs transform(InstanceIdentifier nodePath, RemoteMcastMacs src) { RemoteMcastMacsBuilder ucmlBuilder = new RemoteMcastMacsBuilder(src); - List locatorSet = Lists.newArrayList(); + List locatorSet = new ArrayList<>(); for (LocatorSet locator : src.getLocatorSet()) { locatorSet.add(new LocatorSetBuilder().setLocatorRef(HwvtepHAUtil.buildLocatorRef(nodePath, HwvtepHAUtil.getTepIpVal(locator.getLocatorRef()))).build()); diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/TerminationPointCmd.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/TerminationPointCmd.java index 14b8ada246..7d126c0185 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/TerminationPointCmd.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/TerminationPointCmd.java @@ -7,10 +7,9 @@ */ package org.opendaylight.netvirt.elan.l2gw.ha.commands; -import com.google.common.base.Function; -import com.google.common.collect.Lists; import java.util.Comparator; import java.util.List; +import java.util.stream.Collectors; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalPortAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalPortAugmentationBuilder; @@ -66,16 +65,13 @@ public class TerminationPointCmd extends MergeCommand 0) { - tpAugmentationBuilder.setVlanBindings(Lists.transform(augmentation.getVlanBindings(), - new Function() { - public VlanBindings apply(VlanBindings vlanBindings) { - - VlanBindingsBuilder vlanBindingsBuilder = new VlanBindingsBuilder(vlanBindings); - vlanBindingsBuilder.setLogicalSwitchRef( - HwvtepHAUtil.convertLogicalSwitchRef(vlanBindings.getLogicalSwitchRef(), path)); - return vlanBindingsBuilder.build(); - } - })); + tpAugmentationBuilder.setVlanBindings(augmentation.getVlanBindings().stream().map( + vlanBindings -> { + VlanBindingsBuilder vlanBindingsBuilder = new VlanBindingsBuilder(vlanBindings); + vlanBindingsBuilder.setLogicalSwitchRef( + HwvtepHAUtil.convertLogicalSwitchRef(vlanBindings.getLogicalSwitchRef(), path)); + return vlanBindingsBuilder.build(); + }).collect(Collectors.toList())); } tpBuilder.addAugmentation(HwvtepPhysicalPortAugmentation.class, tpAugmentationBuilder.build()); diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java index afaef38865..9cd1d96eaf 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java @@ -11,7 +11,7 @@ import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastor import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL; import com.google.common.base.Optional; -import com.google.common.collect.Sets; +import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.concurrent.ExecutionException; @@ -201,7 +201,7 @@ public class NodeConnectedHandler { HwvtepGlobalAugmentationBuilder dstBuilder = new HwvtepGlobalAugmentationBuilder(); NodeId nodeId = srcNode.getNodeId(); - Set nodeIds = Sets.newHashSet(); + Set nodeIds = new HashSet<>(); nodeIds.add(nodeId); globalAugmentationMerger.mergeConfigData(dstBuilder, src, childPath); diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/merge/MergeCommandsAggregator.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/merge/MergeCommandsAggregator.java index 7886cbd98c..78d89848ba 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/merge/MergeCommandsAggregator.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/merge/MergeCommandsAggregator.java @@ -7,7 +7,7 @@ */ package org.opendaylight.netvirt.elan.l2gw.ha.merge; -import com.google.common.collect.Lists; +import java.util.ArrayList; import java.util.List; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; import org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand; @@ -21,7 +21,7 @@ public abstract class MergeCommandsAggregator commands = Lists.newArrayList(); + List commands = new ArrayList<>(); public void mergeOperationalData(BuilderTypeT builder, AugTypeT existingData, diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/jobs/DeleteL2GwDeviceMacsFromElanJob.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/jobs/DeleteL2GwDeviceMacsFromElanJob.java index fbb80e6997..97b2128552 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/jobs/DeleteL2GwDeviceMacsFromElanJob.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/jobs/DeleteL2GwDeviceMacsFromElanJob.java @@ -8,10 +8,10 @@ package org.opendaylight.netvirt.elan.l2gw.jobs; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentMap; @@ -95,7 +95,7 @@ public class DeleteL2GwDeviceMacsFromElanJob implements Callable elanL2GwDevices = ElanL2GwCacheUtils .getInvolvedL2GwDevices(this.elanName); - List> futures = Lists.newArrayList(); + List> futures = new ArrayList<>(); for (L2GatewayDevice otherDevice : elanL2GwDevices.values()) { if (!otherDevice.getHwvtepNodeId().equals(this.l2GwDevice.getHwvtepNodeId()) && !ElanL2GatewayUtils.areMLAGDevices(this.l2GwDevice, otherDevice)) { @@ -116,8 +116,7 @@ public class DeleteL2GwDeviceMacsFromElanJob implements Callable> call() throws Exception { LOG.info("running update mcast mac entry job for {} {}", elanName, l2GatewayDevice.getHwvtepNodeId()); - return Lists.newArrayList( + return Collections.singletonList( elanL2GatewayMulticastUtils.updateRemoteMcastMacOnElanL2GwDevice(elanName, l2GatewayDevice)); } diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/jobs/LogicalSwitchAddedJob.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/jobs/LogicalSwitchAddedJob.java index 5a7ccc8140..2f895858b6 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/jobs/LogicalSwitchAddedJob.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/jobs/LogicalSwitchAddedJob.java @@ -7,7 +7,6 @@ */ package org.opendaylight.netvirt.elan.l2gw.jobs; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.List; @@ -79,7 +78,7 @@ public class LogicalSwitchAddedJob implements Callable expectedPhyLocatorIps = Lists.newArrayList(); + List expectedPhyLocatorIps = new ArrayList<>(); HwvtepRemoteMcastMacListener list = new HwvtepRemoteMcastMacListener(broker, elanUtils, logicalSwitchName, elanL2GwDevice, expectedPhyLocatorIps, () -> { diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepLocalUcastMacListener.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepLocalUcastMacListener.java index d45ae453b4..4a2197e4f7 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepLocalUcastMacListener.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepLocalUcastMacListener.java @@ -7,7 +7,7 @@ */ package org.opendaylight.netvirt.elan.l2gw.listeners; -import com.google.common.collect.Lists; +import java.util.Collections; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.genius.datastoreutils.hwvtep.HwvtepClusteredDataTreeChangeListener; @@ -75,7 +75,7 @@ public class HwvtepLocalUcastMacListener extends elanL2GwDevice.removeUcastLocalMac(macRemoved); elanL2GatewayUtils.unInstallL2GwUcastMacFromElan(elan, elanL2GwDevice, - Lists.newArrayList(macRemoved.getMacEntryKey())); + Collections.singletonList(macRemoved.getMacEntryKey())); } @Override diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepTerminationPointListener.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepTerminationPointListener.java index d3eb73d8c1..2e5b9e759b 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepTerminationPointListener.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepTerminationPointListener.java @@ -7,7 +7,6 @@ */ package org.opendaylight.netvirt.elan.l2gw.listeners; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.Collections; @@ -84,10 +83,10 @@ public class HwvtepTerminationPointListener synchronized (HwvtepTerminationPointListener.class) { List list = waitingJobsList.get(key); if (list == null) { - waitingJobsList.put(key, Lists.newArrayList(runnable)); - } else { - list.add(runnable); + list = new ArrayList<>(); + waitingJobsList.put(key, list); } + list.add(runnable); LOG.debug("added the job to wait list of physical locator {}", key); } } @@ -131,16 +130,14 @@ public class HwvtepTerminationPointListener LOG.trace("physical locator available {}", identifier); teps.put(identifier, true); - List runnableList = null; + List runnableList; synchronized (HwvtepTerminationPointListener.class) { runnableList = waitingJobsList.get(identifier); waitingJobsList.remove(identifier); } if (runnableList != null) { LOG.debug("physical locator available {} running jobs ", identifier); - for (Runnable r : runnableList) { - r.run(); - } + runnableList.forEach(Runnable::run); } else { LOG.debug("no jobs are waiting for physical locator {}", identifier); } diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java index 06c38da4a9..a86401bfca 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java @@ -7,13 +7,13 @@ */ package org.opendaylight.netvirt.elan.l2gw.utils; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.SettableFuture; import java.math.BigInteger; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.concurrent.ConcurrentMap; import org.opendaylight.controller.md.sal.binding.api.DataBroker; @@ -333,7 +333,7 @@ public class ElanL2GatewayMulticastUtils { elanName, l2GatewayDevice, false/* updateThisDevice */); ListenableFuture deleteRemoteMcastMacFuture = deleteRemoteMcastMac( new NodeId(l2GatewayDevice.getHwvtepNodeId()), elanName); - return Lists.newArrayList(updateMcastMacsFuture, deleteRemoteMcastMacFuture); + return Arrays.asList(updateMcastMacsFuture, deleteRemoteMcastMacFuture); } /** diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java index c7f96bd9f9..39c1ece7e5 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java @@ -8,7 +8,6 @@ package org.opendaylight.netvirt.elan.l2gw.utils; import com.google.common.base.Optional; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; @@ -68,6 +67,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.forw import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.attributes.Devices; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepLogicalSwitchRef; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepMacTableGenericAttributes; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepNodeName; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalLocatorAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalLocatorRef; @@ -273,8 +273,8 @@ public class ElanL2GatewayUtils { NodeId nodeId = new NodeId(deviceNodeId); // TODO (eperefr) - List lstMac = Lists.transform(macAddresses, - physAddress -> physAddress != null ? new MacAddress(physAddress.getValue()) : null); + List lstMac = macAddresses.stream().filter(physAddress -> physAddress != null).map( + physAddress -> new MacAddress(physAddress.getValue())).collect(Collectors.toList()); return HwvtepUtils.deleteRemoteUcastMacs(broker, nodeId, logicalSwitchName, lstMac); } @@ -387,7 +387,7 @@ public class ElanL2GatewayUtils { String jobKey = elan.getElanInstanceName() + ":" + macToBeAdded; ElanClusterUtils.runOnlyInLeaderNode(entityOwnershipService, jobKey, "install l2gw macs in dmac table", () -> { - List> fts = Lists.newArrayList(); + List> fts = new ArrayList<>(); if (doesLocalUcastMacExistsInCache(extL2GwDevice, macToBeAdded)) { for (DpnInterfaces elanDpn : elanDpns) { // TODO batch the below call @@ -409,7 +409,7 @@ public class ElanL2GatewayUtils { String jobKey = "hwvtep:" + elan.getElanInstanceName() + ":" + macToBeAdded; ElanClusterUtils.runOnlyInLeaderNode(entityOwnershipService, jobKey, "install remote ucast macs in l2gw device", () -> { - List> fts = Lists.newArrayList(); + List> fts = new ArrayList<>(); if (!doesLocalUcastMacExistsInCache(extL2GwDevice, macToBeAdded)) { LOG.trace( "Skipping install of remote ucast macs {} in l2gw device as it is not found in cache", @@ -490,7 +490,7 @@ public class ElanL2GatewayUtils { String jobKey = elanName + ":" + mac.getValue(); ElanClusterUtils.runOnlyInLeaderNode(entityOwnershipService, jobKey, "delete l2gw macs from dmac table", () -> { - List> fts = Lists.newArrayList(); + List> fts = new ArrayList<>(); for (DpnInterfaces elanDpn : elanDpns) { BigInteger dpnId = elanDpn.getDpId(); // never batch deletes @@ -537,7 +537,7 @@ public class ElanL2GatewayUtils { String jobKey = elanName + ":" + mac.getValue(); ElanClusterUtils.runOnlyInLeaderNode(entityOwnershipService, jobKey, "delete l2gw macs from dmac table", () -> { - List> futures = Lists.newArrayList(); + List> futures = new ArrayList<>(); futures.addAll(elanUtils.deleteDmacFlowsToExternalMac(elanTag, dpnId, l2GwDevice.getHwvtepNodeId(), mac.getValue())); @@ -562,8 +562,8 @@ public class ElanL2GatewayUtils { } List lstUcastLocalMacs = l2gwDevice.getUcastLocalMacs(); if (lstUcastLocalMacs != null && !lstUcastLocalMacs.isEmpty()) { - macs = Lists.transform(lstUcastLocalMacs, - localUcastMac -> localUcastMac != null ? localUcastMac.getMacEntryKey() : null); + macs = lstUcastLocalMacs.stream().filter(localUcastMac -> localUcastMac != null).map( + HwvtepMacTableGenericAttributes::getMacEntryKey).collect(Collectors.toList()); } return macs; } @@ -640,7 +640,7 @@ public class ElanL2GatewayUtils { lstMacs = remoteUcastMacs.stream() .filter(mac -> logicalSwitch.equals(mac.getLogicalSwitchRef().getValue() .firstKeyOf(LogicalSwitches.class).getHwvtepNodeName().getValue())) - .map(mac -> mac.getMacEntryKey()).collect(Collectors.toList()); + .map(HwvtepMacTableGenericAttributes::getMacEntryKey).collect(Collectors.toList()); } } return lstMacs; diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/L2GatewayConnectionUtils.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/L2GatewayConnectionUtils.java index cb5587c7bd..ca5528721a 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/L2GatewayConnectionUtils.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/L2GatewayConnectionUtils.java @@ -8,7 +8,6 @@ package org.opendaylight.netvirt.elan.l2gw.utils; -import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -121,7 +120,7 @@ public class L2GatewayConnectionUtils { */ public static List getL2GwConnectionsByElanName(DataBroker broker, String elanName) { List allL2GwConns = getAllL2gatewayConnections(broker); - List elanL2GateWayConnections = Lists.newArrayList(); + List elanL2GateWayConnections = new ArrayList<>(); if (allL2GwConns != null) { for (L2gatewayConnection l2GwConn : allL2GwConns) { if (l2GwConn.getNetworkId().getValue().equalsIgnoreCase(elanName)) { diff --git a/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/GlobalAugmentationHelper.java b/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/GlobalAugmentationHelper.java index 7326bf6b23..f9920a9578 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/GlobalAugmentationHelper.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/GlobalAugmentationHelper.java @@ -7,7 +7,7 @@ */ package org.opendaylight.netvirt.elan.l2gw.nodehandlertest; -import com.google.common.collect.Lists; +import java.util.ArrayList; import java.util.List; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentationBuilder; @@ -31,7 +31,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class GlobalAugmentationHelper { public static void addLogicalSwitches(HwvtepGlobalAugmentationBuilder augmentationBuilder, List logicalSwitchData) { - List logicalSwitches = Lists.newArrayList(); + List logicalSwitches = new ArrayList<>(); for (int i = 0; i < logicalSwitchData.size(); i += 2) { logicalSwitches.add(TestBuilders.buildLogicalSwitch(logicalSwitchData.get(i), logicalSwitchData.get(i + 1))); @@ -41,7 +41,7 @@ public class GlobalAugmentationHelper { public static Node updateLogicalSwitches(Node node, List logicalSwitchData) { HwvtepGlobalAugmentationBuilder hwvtepGlobalAugmentationBuilder = new HwvtepGlobalAugmentationBuilder(); - List logicalSwitches = Lists.newArrayList(); + List logicalSwitches = new ArrayList<>(); for (int i = 0; i < logicalSwitchData.size(); i += 2) { logicalSwitches.add(TestBuilders.buildLogicalSwitch(logicalSwitchData.get(i), logicalSwitchData.get(i + 1))); @@ -56,7 +56,7 @@ public class GlobalAugmentationHelper { public static void addLocalMcastMacs(InstanceIdentifier iid, HwvtepGlobalAugmentationBuilder augmentationBuilder, List localMcastData) { - List localMcastMacses = Lists.newArrayList(); + List localMcastMacses = new ArrayList<>(); for (int i = 0; i < localMcastData.size(); i += 3) { localMcastMacses.add(TestBuilders.buildLocalMcastMacs(iid, localMcastData.get(i), localMcastData.get(i + 1), localMcastData.get(i + 2))); @@ -67,7 +67,7 @@ public class GlobalAugmentationHelper { public static void addRemoteMcastMacs(InstanceIdentifier iid, HwvtepGlobalAugmentationBuilder augmentationBuilder, List remoteMcastData) { - List remoteMcastMacses = Lists.newArrayList(); + List remoteMcastMacses = new ArrayList<>(); for (int i = 0; i < remoteMcastData.size(); i += 4) { remoteMcastMacses.add(TestBuilders.buildRemoteMcastMacs(iid, remoteMcastData.get(i), remoteMcastData.get(i + 1), new String[]{remoteMcastData.get(i + 2), @@ -79,7 +79,7 @@ public class GlobalAugmentationHelper { public static void addLocalUcastMacs(InstanceIdentifier iid, HwvtepGlobalAugmentationBuilder augmentationBuilder, List localUcastData) { - List localUcastMacses = Lists.newArrayList(); + List localUcastMacses = new ArrayList<>(); for (int i = 0; i < localUcastData.size(); i += 4) { localUcastMacses.add(TestBuilders.buildLocalUcastMacs(iid, localUcastData.get(i), localUcastData.get(i + 1), localUcastData.get(i + 2), localUcastData.get(i + 3))); @@ -90,7 +90,7 @@ public class GlobalAugmentationHelper { public static void addRemoteUcastMacs(InstanceIdentifier iid, HwvtepGlobalAugmentationBuilder augmentationBuilder, List remoteUcastMacdata) { - List remoteUcastMacses = Lists.newArrayList(); + List remoteUcastMacses = new ArrayList<>(); for (int i = 0; i < remoteUcastMacdata.size(); i += 4) { remoteUcastMacses.add(TestBuilders.buildRemoteUcastMacs(iid, remoteUcastMacdata.get(i), remoteUcastMacdata.get(i + 1), @@ -102,7 +102,7 @@ public class GlobalAugmentationHelper { //physicallocators public static void addGlobalTerminationPoints(NodeBuilder nodeBuilder, InstanceIdentifier nodeIid, List globalTerminationPointIp) { - List terminationPoints = Lists.newArrayList(); + List terminationPoints = new ArrayList<>(); for (int i = 0; i < globalTerminationPointIp.size(); i++) { terminationPoints.add(TestBuilders.buildTerminationPoint(nodeIid, globalTerminationPointIp.get(i))); } @@ -110,7 +110,7 @@ public class GlobalAugmentationHelper { } public static void addSwitches(HwvtepGlobalAugmentationBuilder augmentationBuilder, InstanceIdentifier psId) { - List switches = Lists.newArrayList(); + List switches = new ArrayList<>(); SwitchesBuilder switchesBuilder = new SwitchesBuilder(); switchesBuilder.setKey(new SwitchesKey(new HwvtepPhysicalSwitchRef(psId))); diff --git a/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/PhysicalSwitchHelper.java b/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/PhysicalSwitchHelper.java index 30f3680717..c88a710e60 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/PhysicalSwitchHelper.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/PhysicalSwitchHelper.java @@ -7,7 +7,6 @@ */ package org.opendaylight.netvirt.elan.l2gw.nodehandlertest; -import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -66,7 +65,7 @@ public class PhysicalSwitchHelper { public static List addPhysicalSwitchTerminationPoints(InstanceIdentifier switchIid, WriteTransaction transaction, List portNames) { - List tps = Lists.newArrayList(); + List tps = new ArrayList<>(); for (String portName : portNames) { tps.add(buildTerminationPointForPhysicalSwitch(switchIid, portName, transaction, getVlanBindingData(1))); } diff --git a/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java b/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java index 044310cd58..7ce0432b7f 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java @@ -9,7 +9,7 @@ package org.opendaylight.netvirt.elan.l2gw.nodehandlertest; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableBiMap; -import com.google.common.collect.Lists; +import java.util.ArrayList; import java.util.List; import java.util.UUID; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; @@ -123,7 +123,7 @@ public class TestBuilders { localMcastMacsBuilder.setMacEntryUuid(getUUid(mac)); //mMacLocalBuilder.setIpaddr(new IpAddress(ip.toCharArray())); localMcastMacsBuilder.setLogicalSwitchRef(buildLogicalSwitchesRef(iid, logicalSwitchName)); - List locatorSets = Lists.newArrayList(); + List locatorSets = new ArrayList<>(); locatorSets.add(new LocatorSetBuilder().setLocatorRef( buildLocatorRef(iid, tepIp)).build()); localMcastMacsBuilder.setLocatorSet(locatorSets); @@ -143,7 +143,7 @@ public class TestBuilders { remoteMcastMacsBuilder.setMacEntryUuid(getUUid(mac)); //mMacLocalBuilder.setIpaddr(new IpAddress(ip.toCharArray())); remoteMcastMacsBuilder.setLogicalSwitchRef(buildLogicalSwitchesRef(iid, logicalSwitchName)); - List locatorSets = Lists.newArrayList(); + List locatorSets = new ArrayList<>(); for (String tepIp : tepIps) { locatorSets.add(new LocatorSetBuilder().setLocatorRef( buildLocatorRef(iid, tepIp)).build()); @@ -156,12 +156,12 @@ public class TestBuilders { ManagersBuilder builder1 = new ManagersBuilder(); builder1.setKey(new ManagersKey(new Uri("test"))); - List otherConfigses = Lists.newArrayList(); + List otherConfigses = new ArrayList<>(); otherConfigses.add(buildOtherConfig("ha_enabled", "true")); otherConfigses.add(buildOtherConfig("ha_id", "switchxyz")); builder1.setManagerOtherConfigs(otherConfigses); - List managers = Lists.newArrayList(); + List managers = new ArrayList<>(); managers.add(builder1.build()); return managers; } diff --git a/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/AbstractNetOvs.java b/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/AbstractNetOvs.java index 34386cd0f8..ccde0e2fe7 100644 --- a/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/AbstractNetOvs.java +++ b/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/AbstractNetOvs.java @@ -7,7 +7,6 @@ */ package org.opendaylight.netvirt.it; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Collection; import java.util.HashMap; @@ -220,7 +219,7 @@ public class AbstractNetOvs implements NetOvs { } protected void addTerminationPoint(PortInfo portInfo, Node bridge, String portType) { - Map externalIds = Maps.newHashMap(); + Map externalIds = new HashMap<>(); externalIds.put("attached-mac", portInfo.mac); externalIds.put("iface-id", portInfo.id); southboundUtils.addTerminationPoint(bridge, portInfo.name, portType, null, externalIds, portInfo.ofPort); diff --git a/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/FlowITUtil.java b/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/FlowITUtil.java index 504cf9ff09..f33315997f 100644 --- a/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/FlowITUtil.java +++ b/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/FlowITUtil.java @@ -10,7 +10,7 @@ package org.opendaylight.netvirt.it; import static org.junit.Assert.assertNotNull; import com.google.common.base.Optional; -import com.google.common.collect.Lists; +import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.concurrent.ExecutionException; @@ -327,7 +327,7 @@ public class FlowITUtil { } MatchAugmentationIterator it = new MatchAugmentationIterator(m1); - List side1Matches = Lists.newArrayList(); + List side1Matches = new ArrayList<>(); AllMatchesGrouping aug; while (null != (aug = it.next())) { side1Matches.add(aug); diff --git a/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/NetvirtIT.java b/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/NetvirtIT.java index c50484d0b9..fb9da95fc8 100644 --- a/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/NetvirtIT.java +++ b/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/NetvirtIT.java @@ -26,9 +26,9 @@ import static org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel.INFO; import static org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel.TRACE; import static org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel.WARN; -import com.google.common.collect.Maps; import java.io.File; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; @@ -269,7 +269,7 @@ public class NetvirtIT extends AbstractMdsalTestBase { private void addLocalIp(NodeInfo nodeInfo, String ip) { LOG.info("addlocalIp: nodeinfo: {}, local_ip: {}", nodeInfo.ovsdbNode.getNodeId(), ip); - Map otherConfigs = Maps.newHashMap(); + Map otherConfigs = new HashMap<>(); otherConfigs.put("local_ip", ip); assertTrue(nvSouthboundUtils.addOpenVSwitchOtherConfig(nodeInfo.ovsdbNode, otherConfigs)); } diff --git a/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/SouthboundUtils.java b/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/SouthboundUtils.java index f4369ffda5..1ba134d84a 100644 --- a/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/SouthboundUtils.java +++ b/vpnservice/it/impl/src/test/java/org/opendaylight/netvirt/it/SouthboundUtils.java @@ -7,8 +7,8 @@ */ package org.opendaylight.netvirt.it; -import com.google.common.collect.Maps; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -50,7 +50,7 @@ public class SouthboundUtils { // Create a single map of both the existing otherConfig and the new otherConfig // and then write that to the final otherConfig builder - Map allOtherConfigs = Maps.newHashMap(); + Map allOtherConfigs = new HashMap<>(); OvsdbNodeAugmentation ovsdbNodeAugmentation = ovsdbNode.getAugmentation(OvsdbNodeAugmentation.class); if (ovsdbNodeAugmentation != null && ovsdbNodeAugmentation.getOpenvswitchOtherConfigs() != null) { for (OpenvswitchOtherConfigs ovsOtherConfigs : ovsdbNodeAugmentation.getOpenvswitchOtherConfigs()) { diff --git a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ExternalRoutersListener.java b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ExternalRoutersListener.java index 0dd1d85014..2c2873d4b9 100644 --- a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ExternalRoutersListener.java +++ b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ExternalRoutersListener.java @@ -8,8 +8,6 @@ package org.opendaylight.netvirt.natservice.internal; import com.google.common.base.Optional; -import com.google.common.collect.Sets; -import com.google.common.collect.Sets.SetView; import com.google.common.util.concurrent.AsyncFunction; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; @@ -18,6 +16,7 @@ import com.google.common.util.concurrent.ListenableFuture; import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; @@ -489,14 +488,11 @@ public class ExternalRoutersListener extends AsyncDataTreeChangeListenerBase path) { ReadOnlyTransaction tx = broker.newReadOnlyTransaction(); - Optional result = Optional.absent(); try { - result = tx.read(datastoreType, path).get(); + return tx.read(datastoreType, path).get(); } catch (Exception e) { throw new RuntimeException(e); } - - return result; } // TODO Clean up the exception handling @@ -725,8 +721,7 @@ public class ExternalRoutersListener extends AsyncDataTreeChangeListenerBase originalExternalIpsList = original.getExternalIps(); - List updatedExternalIpsList = update.getExternalIps(); - Set originalExternalIps = Sets.newHashSet(originalExternalIpsList); - Set updatedExternalIps = Sets.newHashSet(updatedExternalIpsList); + List originalExternalIps = original.getExternalIps(); + List updatedExternalIps = update.getExternalIps(); //Check if the External IPs are added during the update. - SetView addedExternalIps = Sets.difference(updatedExternalIps, originalExternalIps); + Set addedExternalIps = new HashSet<>(updatedExternalIps); + addedExternalIps.removeAll(originalExternalIps); if (addedExternalIps.size() != 0) { LOG.debug("NAT Service : Start processing of the External IPs addition during the update operation"); vpnManager.setupArpResponderFlowsToExternalNetworkIps(routerName, addedExternalIps, @@ -1110,14 +1104,14 @@ public class ExternalRoutersListener extends AsyncDataTreeChangeListenerBase removedExternalIps = Sets.difference(originalExternalIps, updatedExternalIps); + Set removedExternalIps = new HashSet<>(originalExternalIps); + removedExternalIps.removeAll(updatedExternalIps); if (removedExternalIps.size() > 0) { LOG.debug("NAT Service : Start processing of the External IPs removal during the update operation"); vpnManager.setupArpResponderFlowsToExternalNetworkIps(routerName, removedExternalIps, original.getExtGwMacAddress(), dpnId, networkId, null, NwConstants.DEL_FLOW); - List removedExternalIpsAsList = new ArrayList<>(); for (String removedExternalIp : removedExternalIps) { /* 1) Remove the mappings in the IntExt IP model which has external IP. @@ -1169,7 +1163,6 @@ public class ExternalRoutersListener extends AsyncDataTreeChangeListenerBase originalSubnetIdsList = original.getSubnetIds(); - List updatedSubnetIdsList = update.getSubnetIds(); - Set originalSubnetIds = Sets.newHashSet(originalSubnetIdsList); - Set updatedSubnetIds = Sets.newHashSet(updatedSubnetIdsList); - SetView addedSubnetIds = Sets.difference(updatedSubnetIds, originalSubnetIds); + List originalSubnetIds = original.getSubnetIds(); + List updatedSubnetIds = update.getSubnetIds(); + Set addedSubnetIds = new HashSet<>(updatedSubnetIds); + addedSubnetIds.removeAll(originalSubnetIds); //Check if the Subnet IDs are added during the update. if (addedSubnetIds.size() != 0) { @@ -1301,7 +1293,8 @@ public class ExternalRoutersListener extends AsyncDataTreeChangeListenerBase removedSubnetIds = Sets.difference(originalSubnetIds, updatedSubnetIds); + Set removedSubnetIds = new HashSet<>(originalSubnetIds); + removedSubnetIds.removeAll(updatedSubnetIds); if (removedSubnetIds.size() != 0) { LOG.debug("NAT Service : Start processing of the Subnet IDs removal during the update operation"); for (Uuid removedSubnetId : removedSubnetIds) { diff --git a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/InterfaceStateEventListener.java b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/InterfaceStateEventListener.java index 8a18d89786..98af2fed09 100644 --- a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/InterfaceStateEventListener.java +++ b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/InterfaceStateEventListener.java @@ -8,8 +8,8 @@ package org.opendaylight.netvirt.natservice.internal; import com.google.common.base.Optional; -import com.google.common.collect.Lists; import java.math.BigInteger; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; @@ -302,7 +302,7 @@ public class InterfaceStateEventListener } private List getPortocolList() { - List protocollist = Lists.newArrayList(); + List protocollist = new ArrayList<>(); protocollist.add(ProtocolTypes.TCP); protocollist.add(ProtocolTypes.UDP); return protocollist; diff --git a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptManager.java b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptManager.java index ec6ffd8b2c..0f27438bdc 100644 --- a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptManager.java +++ b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptManager.java @@ -12,7 +12,6 @@ package org.opendaylight.netvirt.natservice.internal; import com.google.common.base.Optional; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.UncheckedExecutionException; import java.util.ArrayList; import java.util.Arrays; @@ -269,9 +268,8 @@ public class NaptManager { } else { LOG.debug("NAPT Service : getExternalAddress single ip case"); if (externalIp.contains(subnetPrefix)) { - String[] externalIpSplit = externalIp.split("/"); - String extIp = externalIpSplit[0]; - externalIp = extIp; //remove /32 what we got from checkIpMap + //remove /32 what we got from checkIpMap + externalIp = externalIp.substring(0, externalIp.indexOf(subnetPrefix)); } allIps.add(externalIp); } @@ -328,7 +326,7 @@ public class NaptManager { List portList = NatUtil.getInternalIpPortListInfo(dataBroker, segmentId, internalIpAddress, protocolType); if (portList == null) { - portList = Lists.newArrayList(); + portList = new ArrayList<>(); } portList.add(ipPort); diff --git a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptSwitchHA.java b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptSwitchHA.java index f2f08431ec..71f8bf83cf 100644 --- a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptSwitchHA.java +++ b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptSwitchHA.java @@ -8,10 +8,10 @@ package org.opendaylight.netvirt.natservice.internal; import com.google.common.base.Optional; -import com.google.common.collect.Sets; import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.concurrent.ExecutionException; @@ -876,10 +876,9 @@ public class NaptSwitchHA { protected void bestEffortDeletion(long routerId, String routerName, HashMap externalIpLabel) { List newExternalIps = NatUtil.getExternalIpsForRouter(dataBroker, routerId); if (newExternalIps != null && externalIpsCache != null) { - Set originalSubnetIds = Sets.newHashSet(externalIpsCache); - Set updatedSubnetIds = Sets.newHashSet(newExternalIps); - Sets.SetView removeExternalIp = Sets.difference(originalSubnetIds, updatedSubnetIds); - if (removeExternalIp.isEmpty()) { + Set removedExternalIps = new HashSet<>(externalIpsCache); + removedExternalIps.removeAll(newExternalIps); + if (removedExternalIps.isEmpty()) { LOG.debug("No external Ip needed to be removed in bestEffortDeletion method for router {}", routerName); return; } @@ -898,7 +897,7 @@ public class NaptSwitchHA { return; } Long label; - for (String externalIp : removeExternalIp) { + for (String externalIp : removedExternalIps) { if (externalIpLabel.containsKey(externalIp)) { label = externalIpLabel.get(externalIp); LOG.debug("Label {} for ExternalIp {} for router {}", label, externalIp, routerName); diff --git a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java index 9a65160a58..e6f83e66e7 100644 --- a/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java +++ b/vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java @@ -9,8 +9,6 @@ package org.opendaylight.netvirt.natservice.internal; import com.google.common.base.Optional; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import java.math.BigInteger; @@ -19,9 +17,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Objects; -import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import org.opendaylight.controller.md.sal.binding.api.DataBroker; @@ -475,14 +473,11 @@ public class NatUtil { ReadOnlyTransaction tx = broker.newReadOnlyTransaction(); - Optional result = Optional.absent(); try { - result = tx.read(datastoreType, path).get(); + return tx.read(datastoreType, path).get(); } catch (Exception e) { throw new RuntimeException(e); } - - return result; } static InstanceIdentifier getVpnInstanceOpDataIdentifier(String vrfId) { @@ -637,12 +632,7 @@ public class NatUtil { static boolean isVpnInterfaceConfigured(DataBroker broker, String interfaceName) { InstanceIdentifier interfaceId = getVpnInterfaceIdentifier(interfaceName); - Optional configuredVpnInterface = read(broker, LogicalDatastoreType.CONFIGURATION, interfaceId); - - if (configuredVpnInterface.isPresent()) { - return true; - } - return false; + return read(broker, LogicalDatastoreType.CONFIGURATION, interfaceId).isPresent(); } static InstanceIdentifier getVpnInterfaceIdentifier(String vpnInterfaceName) { @@ -652,12 +642,7 @@ public class NatUtil { static VpnInterface getConfiguredVpnInterface(DataBroker broker, String interfaceName) { InstanceIdentifier interfaceId = getVpnInterfaceIdentifier(interfaceName); - Optional configuredVpnInterface = read(broker, LogicalDatastoreType.CONFIGURATION, interfaceId); - - if (configuredVpnInterface.isPresent()) { - return configuredVpnInterface.get(); - } - return null; + return read(broker, LogicalDatastoreType.CONFIGURATION, interfaceId).orNull(); } public static String getDpnFromNodeConnectorId(NodeConnectorId portId) { @@ -854,7 +839,7 @@ public class NatUtil { } public static String getGroupIdKey(String routerName) { - return new String("snatmiss." + routerName); + return "snatmiss." + routerName; } public static long createGroupId(String groupIdKey, IdManagerService idManager) { @@ -886,12 +871,7 @@ public class NatUtil { } public static IpPortMapping getIportMapping(DataBroker broker, long routerId) { - Optional getIportMappingData = - read(broker, LogicalDatastoreType.CONFIGURATION, getIportMappingIdentifier(routerId)); - if (getIportMappingData.isPresent()) { - return getIportMappingData.get(); - } - return null; + return read(broker, LogicalDatastoreType.CONFIGURATION, getIportMappingIdentifier(routerId)).orNull(); } public static InstanceIdentifier getIportMappingIdentifier(long routerId) { @@ -920,9 +900,7 @@ public class NatUtil { externalIps.add(ipMap.getExternalIp()); } //remove duplicates - Set uniqueExternalIps = Sets.newHashSet(externalIps); - externalIps = Lists.newArrayList(uniqueExternalIps); - return externalIps; + return new ArrayList<>(new HashSet<>(externalIps)); } return null; } @@ -1497,8 +1475,7 @@ public class NatUtil { public static Subnetmap getSubnetMap(DataBroker broker, Uuid subnetId) { InstanceIdentifier subnetmapId = InstanceIdentifier.builder(Subnetmaps.class) .child(Subnetmap.class, new SubnetmapKey(subnetId)).build(); - Optional subnetOpt = read(broker, LogicalDatastoreType.CONFIGURATION, subnetmapId); - return subnetOpt.isPresent() ? subnetOpt.get() : null; + return read(broker, LogicalDatastoreType.CONFIGURATION, subnetmapId).orNull(); } public static List getSubnetIdsFromNetworkId(DataBroker broker, Uuid networkId) { diff --git a/vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java b/vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java index 57d20e1666..684567045e 100644 --- a/vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java +++ b/vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java @@ -8,8 +8,6 @@ package org.opendaylight.netvirt.neutronvpn.api.l2gw; -import com.google.common.base.Function; -import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -18,6 +16,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collectors; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.attributes.Devices; @@ -283,12 +282,9 @@ public class L2GatewayDevice { } } - List lstMacs = Lists.transform(this.ucastLocalMacs, new Function() { - @Override - public String apply(LocalUcastMacs localUcastMac) { - return localUcastMac.getMacEntryKey().getValue(); - } - }); + List lstMacs = + this.ucastLocalMacs.stream().map(localUcastMac -> localUcastMac.getMacEntryKey().getValue()).collect( + Collectors.toList()); StringBuilder builder = new StringBuilder(); builder.append("L2GatewayDevice [deviceName=").append(deviceName).append(", hwvtepNodeId=").append(hwvtepNodeId) diff --git a/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/ChangeUtils.java b/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/ChangeUtils.java index ce0149ca2c..f42c530ebb 100644 --- a/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/ChangeUtils.java +++ b/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/ChangeUtils.java @@ -7,7 +7,6 @@ */ package org.opendaylight.netvirt.neutronvpn; -import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Maps; import java.util.ArrayList; @@ -20,7 +19,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Queue; import java.util.Set; -import javax.annotation.Nullable; +import java.util.function.Predicate; import org.opendaylight.controller.md.sal.binding.api.DataObjectModification; import org.opendaylight.controller.md.sal.binding.api.DataTreeModification; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; @@ -36,70 +35,35 @@ public class ChangeUtils { private ChangeUtils() { } private static Predicate> hasDataBefore() { - return new Predicate>() { - @Override - public boolean apply(@Nullable DataObjectModification input) { - return input != null && input.getDataBefore() != null; - } - }; + return input -> input != null && input.getDataBefore() != null; } private static Predicate> hasDataBeforeAndDataAfter() { - return new Predicate>() { - @Override - public boolean apply(@Nullable DataObjectModification input) { - return input != null && input.getDataBefore() != null && input.getDataAfter() != null; - } - }; + return input -> input != null && input.getDataBefore() != null && input.getDataAfter() != null; } private static Predicate> hasNoDataBefore() { - return new Predicate>() { - @Override - public boolean apply(@Nullable DataObjectModification input) { - return input != null && input.getDataBefore() == null; - } - }; + return input -> input != null && input.getDataBefore() == null; } private static Predicate> hasDataAfterAndMatchesFilter( final Predicate> filter) { - return new Predicate>() { - @Override - public boolean apply(@Nullable DataObjectModification input) { - return input != null && input.getDataAfter() != null && filter.apply(input); - } - }; + return input -> input != null && input.getDataAfter() != null && filter.test(input); } private static Predicate> matchesEverything() { - return new Predicate>() { - @Override - public boolean apply(@Nullable DataObjectModification input) { - return true; - } - }; + return input -> true; } private static Predicate> modificationIsDeletion() { - return new Predicate>() { - @Override - public boolean apply(@Nullable DataObjectModification input) { - return input != null && input.getModificationType() == DataObjectModification - .ModificationType.DELETE; - } - }; + return input -> input != null && input.getModificationType() == DataObjectModification + .ModificationType.DELETE; } private static Predicate> modificationIsDeletionAndHasDataBefore() { - return new Predicate>() { - @Override - public boolean apply(@Nullable DataObjectModification input) { - return input != null && input.getModificationType() == DataObjectModification - .ModificationType.DELETE && input.getDataBefore() != null; - } - }; + return input -> input != null && input.getModificationType() == DataObjectModification + .ModificationType.DELETE && input.getDataBefore() != null; } public static Map,T> extractCreated( @@ -155,7 +119,7 @@ public class ChangeUtils { Collection> changes, Class clazz, Predicate> filter) { Map, T> result = new HashMap<>(); - for (Map.Entry, DataObjectModification> entry : extractDataObjectModifications(changes, + for (Entry, DataObjectModification> entry : extractDataObjectModifications(changes, clazz, hasDataAfterAndMatchesFilter(filter)).entrySet()) { result.put(entry.getKey(), entry.getValue().getDataAfter()); } @@ -227,7 +191,7 @@ public class ChangeUtils { public static Map, T> extractOriginal( Collection> changes, Class clazz) { Map, T> result = new HashMap<>(); - for (Map.Entry, DataObjectModification> entry : + for (Entry, DataObjectModification> entry : extractDataObjectModifications(changes, clazz, hasDataBefore()).entrySet()) { result.put(entry.getKey(), entry.getValue().getDataBefore()); } @@ -312,7 +276,7 @@ public class ChangeUtils { DataObjectModification change = remainingChanges.remove(); InstanceIdentifier path = remainingPaths.remove(); // Is the change relevant? - if (clazz.isAssignableFrom(change.getDataType()) && filter.apply((DataObjectModification) change)) { + if (clazz.isAssignableFrom(change.getDataType()) && filter.test((DataObjectModification) change)) { result.put((InstanceIdentifier) path, (DataObjectModification) change); } // Add any children to the queue @@ -366,7 +330,7 @@ public class ChangeUtils { public static Map, T> extractRemovedObjects( Collection> changes, Class clazz) { Map, T> result = new HashMap<>(); - for (Map.Entry, DataObjectModification> entry : + for (Entry, DataObjectModification> entry : extractDataObjectModifications(changes, clazz, modificationIsDeletionAndHasDataBefore()).entrySet()) { result.put(entry.getKey(), entry.getValue().getDataBefore()); } diff --git a/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronHostConfigChangeListener.java b/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronHostConfigChangeListener.java index 3569a05e4b..3f262c4bae 100644 --- a/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronHostConfigChangeListener.java +++ b/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronHostConfigChangeListener.java @@ -7,7 +7,7 @@ */ package org.opendaylight.netvirt.neutronvpn; -import com.google.common.collect.Maps; +import java.util.HashMap; import java.util.Map; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -97,7 +97,7 @@ public class NeutronHostConfigChangeListener extends AsyncDataTreeChangeListener } private Map extractHostConfig(Node node) { - Map config = Maps.newHashMap(); + Map config = new HashMap<>(); OvsdbNodeAugmentation ovsdbNode = getOvsdbNodeAugmentation(node); if (ovsdbNode != null && ovsdbNode.getOpenvswitchExternalIds() != null) { for (OpenvswitchExternalIds openvswitchExternalIds : ovsdbNode.getOpenvswitchExternalIds()) { diff --git a/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java b/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java index fa486eaab6..8ff6d7021c 100644 --- a/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java +++ b/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java @@ -10,12 +10,10 @@ package org.opendaylight.netvirt.neutronvpn; import static org.opendaylight.netvirt.neutronvpn.NeutronvpnUtils.buildfloatingIpIdToPortMappingIdentifier; import com.google.common.base.Optional; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.concurrent.Callable; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; @@ -201,38 +199,35 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase

>>() { - @Override - public List> call() throws Exception { - WriteTransaction wrtConfigTxn = dataBroker.newWriteOnlyTransaction(); - try { - Optional optionalInf = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType - .CONFIGURATION, interfaceIdentifier); - if (optionalInf.isPresent()) { - InterfaceBuilder interfaceBuilder = new InterfaceBuilder(optionalInf.get()); - if (isPortVifTypeUpdated && getParentRefsBuilder(update) != null) { - interfaceBuilder.addAugmentation(ParentRefs.class, - getParentRefsBuilder(update).build()); - } - if (origSecurityEnabled || updatedSecurityEnabled) { - InterfaceAcl infAcl = handlePortSecurityUpdated(original, update, - origSecurityEnabled, updatedSecurityEnabled, interfaceBuilder).build(); - interfaceBuilder.addAugmentation(InterfaceAcl.class, infAcl); - } - LOG.info("Of-port-interface updation for port {}", portName); - // Update OFPort interface for this neutron port - wrtConfigTxn.put(LogicalDatastoreType.CONFIGURATION, interfaceIdentifier, - interfaceBuilder.build()); - } else { - LOG.error("Interface {} is not present", portName); + portDataStoreCoordinator.enqueueJob("PORT- " + portName, () -> { + WriteTransaction wrtConfigTxn = dataBroker.newWriteOnlyTransaction(); + try { + Optional optionalInf = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType + .CONFIGURATION, interfaceIdentifier); + if (optionalInf.isPresent()) { + InterfaceBuilder interfaceBuilder = new InterfaceBuilder(optionalInf.get()); + if (isPortVifTypeUpdated && getParentRefsBuilder(update) != null) { + interfaceBuilder.addAugmentation(ParentRefs.class, + getParentRefsBuilder(update).build()); + } + if (origSecurityEnabled || updatedSecurityEnabled) { + InterfaceAcl infAcl = handlePortSecurityUpdated(original, update, + origSecurityEnabled, updatedSecurityEnabled, interfaceBuilder).build(); + interfaceBuilder.addAugmentation(InterfaceAcl.class, infAcl); } - } catch (Exception e) { - LOG.error("Failed to update interface {} due to the exception {}", portName, e); + LOG.info("Of-port-interface updation for port {}", portName); + // Update OFPort interface for this neutron port + wrtConfigTxn.put(LogicalDatastoreType.CONFIGURATION, interfaceIdentifier, + interfaceBuilder.build()); + } else { + LOG.error("Interface {} is not present", portName); } - List> futures = new ArrayList<>(); - futures.add(wrtConfigTxn.submit()); - return futures; + } catch (Exception e) { + LOG.error("Failed to update interface {} due to the exception {}", portName, e); } + List> futures = new ArrayList<>(); + futures.add(wrtConfigTxn.submit()); + return futures; }); } List oldIPs = (original.getFixedIps() != null) ? original.getFixedIps() : new ArrayList(); @@ -358,36 +353,33 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase

>>() { - @Override - public List> call() throws Exception { - WriteTransaction wrtConfigTxn = dataBroker.newWriteOnlyTransaction(); - List> futures = new ArrayList<>(); + portDataStoreCoordinator.enqueueJob("PORT- " + portName, () -> { + WriteTransaction wrtConfigTxn = dataBroker.newWriteOnlyTransaction(); + List> futures = new ArrayList<>(); - // add direct port to subnetMaps config DS - if (!NeutronUtils.isPortVnicTypeNormal(port)) { - nvpnManager.updateSubnetmapNodeWithPorts(subnetId, null, portId); - LOG.info("Port {} is not a NORMAL VNIC Type port; OF Port interfaces are not created", portName); - futures.add(wrtConfigTxn.submit()); - return futures; - } - LOG.info("Of-port-interface creation for port {}", portName); - // Create of-port interface for this neutron port - String portInterfaceName = createOfPortInterface(port, wrtConfigTxn); - LOG.debug("Creating ELAN Interface for port {}", portName); - createElanInterface(port, portInterfaceName, wrtConfigTxn); - - Subnetmap subnetMap = nvpnManager.updateSubnetmapNodeWithPorts(subnetId, portId, null); - Uuid vpnId = (subnetMap != null) ? subnetMap.getVpnId() : null; - Uuid routerId = (subnetMap != null) ? subnetMap.getRouterId() : null; - if (vpnId != null) { - // create vpn-interface on this neutron port - LOG.debug("Adding VPN Interface for port {}", portName); - nvpnManager.createVpnInterface(vpnId, routerId, port, wrtConfigTxn); - } + // add direct port to subnetMaps config DS + if (!NeutronUtils.isPortVnicTypeNormal(port)) { + nvpnManager.updateSubnetmapNodeWithPorts(subnetId, null, portId); + LOG.info("Port {} is not a NORMAL VNIC Type port; OF Port interfaces are not created", portName); futures.add(wrtConfigTxn.submit()); return futures; } + LOG.info("Of-port-interface creation for port {}", portName); + // Create of-port interface for this neutron port + String portInterfaceName = createOfPortInterface(port, wrtConfigTxn); + LOG.debug("Creating ELAN Interface for port {}", portName); + createElanInterface(port, portInterfaceName, wrtConfigTxn); + + Subnetmap subnetMap = nvpnManager.updateSubnetmapNodeWithPorts(subnetId, portId, null); + Uuid vpnId = (subnetMap != null) ? subnetMap.getVpnId() : null; + Uuid routerId = (subnetMap != null) ? subnetMap.getRouterId() : null; + if (vpnId != null) { + // create vpn-interface on this neutron port + LOG.debug("Adding VPN Interface for port {}", portName); + nvpnManager.createVpnInterface(vpnId, routerId, port, wrtConfigTxn); + } + futures.add(wrtConfigTxn.submit()); + return futures; }); } @@ -396,36 +388,33 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase

>>() { - @Override - public List> call() throws Exception { - WriteTransaction wrtConfigTxn = dataBroker.newWriteOnlyTransaction(); - List> futures = new ArrayList<>(); + portDataStoreCoordinator.enqueueJob("PORT- " + portName, () -> { + WriteTransaction wrtConfigTxn = dataBroker.newWriteOnlyTransaction(); + List> futures = new ArrayList<>(); - // remove direct port from subnetMaps config DS - if (!NeutronUtils.isPortVnicTypeNormal(port)) { - nvpnManager.removePortsFromSubnetmapNode(subnetId, null, portId); - LOG.info("Port {} is not a NORMAL VNIC Type port; OF Port interfaces are not created", portName); - futures.add(wrtConfigTxn.submit()); - return futures; - } - Subnetmap subnetMap = nvpnManager.removePortsFromSubnetmapNode(subnetId, portId, null); - Uuid vpnId = (subnetMap != null) ? subnetMap.getVpnId() : null; - Uuid routerId = (subnetMap != null) ? subnetMap.getRouterId() : null; - if (vpnId != null) { - // remove vpn-interface for this neutron port - LOG.debug("removing VPN Interface for port {}", portName); - nvpnManager.deleteVpnInterface(vpnId, routerId, port, wrtConfigTxn); - } - // Remove of-port interface for this neutron port - // ELAN interface is also implicitly deleted as part of this operation - LOG.debug("Of-port-interface removal for port {}", portName); - deleteOfPortInterface(port, wrtConfigTxn); - //dissociate fixedIP from floatingIP if associated - nvpnManager.dissociatefixedIPFromFloatingIP(port.getUuid().getValue()); + // remove direct port from subnetMaps config DS + if (!NeutronUtils.isPortVnicTypeNormal(port)) { + nvpnManager.removePortsFromSubnetmapNode(subnetId, null, portId); + LOG.info("Port {} is not a NORMAL VNIC Type port; OF Port interfaces are not created", portName); futures.add(wrtConfigTxn.submit()); return futures; } + Subnetmap subnetMap = nvpnManager.removePortsFromSubnetmapNode(subnetId, portId, null); + Uuid vpnId = (subnetMap != null) ? subnetMap.getVpnId() : null; + Uuid routerId = (subnetMap != null) ? subnetMap.getRouterId() : null; + if (vpnId != null) { + // remove vpn-interface for this neutron port + LOG.debug("removing VPN Interface for port {}", portName); + nvpnManager.deleteVpnInterface(vpnId, routerId, port, wrtConfigTxn); + } + // Remove of-port interface for this neutron port + // ELAN interface is also implicitly deleted as part of this operation + LOG.debug("Of-port-interface removal for port {}", portName); + deleteOfPortInterface(port, wrtConfigTxn); + //dissociate fixedIP from floatingIP if associated + nvpnManager.dissociatefixedIPFromFloatingIP(port.getUuid().getValue()); + futures.add(wrtConfigTxn.submit()); + return futures; }); } @@ -488,8 +477,8 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase

()); + interfaceAclBuilder.setAllowedAddressPairs(new ArrayList<>()); } } else { if (updatedSecurityEnabled) { diff --git a/vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java b/vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java index a049f4e793..b117f99715 100755 --- a/vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java +++ b/vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java @@ -9,9 +9,6 @@ package org.opendaylight.netvirt.vpnmanager; import com.google.common.base.Optional; import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import com.google.common.collect.FluentIterable; import com.google.common.collect.Iterators; import com.google.common.util.concurrent.ListenableFuture; import java.math.BigInteger; @@ -19,19 +16,22 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.TimerTask; import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.function.Predicate; +import java.util.stream.Collectors; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -50,6 +50,7 @@ import org.opendaylight.netvirt.vpnmanager.api.IVpnManager; import org.opendaylight.netvirt.vpnmanager.arp.responder.ArpResponderUtil; import org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkUtil; import org.opendaylight.netvirt.vpnmanager.utilities.InterfaceUtils; +import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.VpnAfConfig; import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.VpnInstances; import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.VpnInterfaces; import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.instances.VpnInstance; @@ -98,6 +99,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.neu import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.neutron.router.dpns.router.dpn.list.dpn.vpninterfaces.list.RouterInterfacesBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.neutron.router.dpns.router.dpn.list.dpn.vpninterfaces.list.RouterInterfacesKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.VpnInstanceOpDataEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.VpnTargets; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.vpntargets.VpnTarget; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.Routers; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.neutron.vpn.portip.port.data.VpnPortipToPort; @@ -126,7 +128,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase vpnIntfMap = new ConcurrentHashMap(); + private ConcurrentHashMap vpnIntfMap = new ConcurrentHashMap<>(); private BlockingQueue vpnInterfacesUpdateQueue = new LinkedBlockingQueue<>(); private ScheduledThreadPoolExecutor vpnInfUpdateTaskExecutor = (ScheduledThreadPoolExecutor) Executors @@ -180,12 +182,8 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase getInterfaceListenerPath() { - return InstanceIdentifier.create(InterfacesState.class) - .child( - org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state - .Interface.class); + private InstanceIdentifier getInterfaceListenerPath() { + return InstanceIdentifier.create(InterfacesState.class).child(Interface.class); } @Override @@ -221,62 +219,56 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase>>() { - @Override - public List> call() throws Exception { - WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); - WriteTransaction writeOperTxn = dataBroker.newWriteOnlyTransaction(); - WriteTransaction writeInvTxn = dataBroker.newWriteOnlyTransaction(); - processVpnInterfaceUp(dpnId, vpnInterface, ifIndex, false, writeConfigTxn, writeOperTxn, - writeInvTxn); - if (oldAdjs != null && !oldAdjs.equals(newAdjs)) { - LOG.trace("Adjacency changed upon VPNInterface {} Update for swapping VPN case", - interfaceName); - if (newAdjs != null) { - for (Adjacency adj : newAdjs) { - if (oldAdjs.contains(adj)) { - oldAdjs.remove(adj); - } else { - addNewAdjToVpnInterface(identifier, adj, dpnId, writeOperTxn, - writeConfigTxn); - } - } - } - for (Adjacency adj : oldAdjs) { - delAdjFromVpnInterface(identifier, adj, dpnId, writeOperTxn, writeConfigTxn); + () -> { + WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); + WriteTransaction writeOperTxn = dataBroker.newWriteOnlyTransaction(); + WriteTransaction writeInvTxn = dataBroker.newWriteOnlyTransaction(); + processVpnInterfaceUp(dpnId, vpnInterface, ifIndex, false, writeConfigTxn, writeOperTxn, + writeInvTxn); + if (oldAdjs != null && !oldAdjs.equals(newAdjs)) { + LOG.trace("Adjacency changed upon VPNInterface {} Update for swapping VPN case", + interfaceName); + if (newAdjs != null) { + for (Adjacency adj : newAdjs) { + if (oldAdjs.contains(adj)) { + oldAdjs.remove(adj); + } else { + addNewAdjToVpnInterface(identifier, adj, dpnId, writeOperTxn, + writeConfigTxn); } } - List> futures = new ArrayList>(); - futures.add(writeOperTxn.submit()); - futures.add(writeConfigTxn.submit()); - futures.add(writeInvTxn.submit()); - return futures; } - }); + for (Adjacency adj : oldAdjs) { + delAdjFromVpnInterface(identifier, adj, dpnId, writeOperTxn, writeConfigTxn); + } + } + List> futures = new ArrayList>(); + futures.add(writeOperTxn.submit()); + futures.add(writeConfigTxn.submit()); + futures.add(writeInvTxn.submit()); + return futures; + }); } else if (Boolean.TRUE.equals(vpnInterface.isIsRouterInterface())) { DataStoreJobCoordinator dataStoreCoordinator = DataStoreJobCoordinator.getInstance(); dataStoreCoordinator.enqueueJob("VPNINTERFACE-" + vpnInterface.getName(), - new Callable>>() { - @Override - public List> call() throws Exception { - WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); - createFibEntryForRouterInterface(vpnInterface, interfaceName, writeConfigTxn); - List> futures = new ArrayList>(); - futures.add(writeConfigTxn.submit()); - return futures; - } - }); + () -> { + WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); + createFibEntryForRouterInterface(vpnInterface, interfaceName, writeConfigTxn); + List> futures = new ArrayList>(); + futures.add(writeConfigTxn.submit()); + return futures; + }); } else { LOG.error("Handling addition of VPN interface {} skipped as interfaceState is not available", - interfaceName); + interfaceName); } } protected void processVpnInterfaceUp(final BigInteger dpId, VpnInterface vpnInterface, - final int lportTag, boolean isInterfaceUp, - WriteTransaction writeConfigTxn, - WriteTransaction writeOperTxn, - WriteTransaction writeInvTxn) { + final int lportTag, boolean isInterfaceUp, + WriteTransaction writeConfigTxn, + WriteTransaction writeOperTxn, + WriteTransaction writeInvTxn) { final String interfaceName = vpnInterface.getName(); if (!isInterfaceUp) { @@ -285,7 +277,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase adjs = VpnUtil.getAdjacenciesForVpnInterfaceFromConfig(dataBroker, interfaceName); if (adjs == null) { LOG.info( - "VPN Interface {} addition failed as adjacencies for this vpn interface could not be " - + "obtained", interfaceName); + "VPN Interface {} addition failed as adjacencies for this vpn interface could not be " + + "obtained", interfaceName); return; } for (Adjacency adj : adjs) { @@ -314,7 +306,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase identifier, - VpnInterface intf) { + VpnInterface intf) { String rd = VpnUtil.getVpnRd(dataBroker, intf.getVpnInstanceName()); if (rd == null) { LOG.error("advertiseAdjacenciesForVpnFromBgp: Unable to recover rd for interface {} in vpn {}", - intf.getName(), intf.getVpnInstanceName()); + intf.getName(), intf.getVpnInstanceName()); return; } else { if (rd.equals(intf.getVpnInstanceName())) { LOG.info( - "advertiseAdjacenciesForVpnFromBgp: Ignoring BGP advertisement for interface {} as it is in " - + "internal vpn{} with rd {}", - intf.getName(), intf.getVpnInstanceName(), rd); + "advertiseAdjacenciesForVpnFromBgp: Ignoring BGP advertisement for interface {} as it is in " + + "internal vpn{} with rd {}", + intf.getName(), intf.getVpnInstanceName(), rd); return; } } LOG.info("advertiseAdjacenciesForVpnToBgp: Advertising interface {} in vpn {} with rd {} ", intf.getName(), - intf.getVpnInstanceName(), rd); + intf.getVpnInstanceName(), rd); String nextHopIp = InterfaceUtils.getEndpointIpAddressForDPN(dataBroker, dpnId); if (nextHopIp == null) { @@ -457,13 +449,13 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase identifier, - VpnInterface intf) { + VpnInterface intf) { //Read NextHops InstanceIdentifier path = identifier.augmentation(Adjacencies.class); Optional adjacencies = VpnUtil.read(dataBroker, LogicalDatastoreType.OPERATIONAL, path); @@ -481,19 +473,19 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase nextHops = adjacencies.get().getAdjacency(); @@ -506,7 +498,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase>>() { - @Override - public List> call() throws Exception { - WriteTransaction writeTxn = dataBroker.newWriteOnlyTransaction(); - int instructionKey = 0; - List instructions = new ArrayList(); - - instructions.add( - MDSALUtil.buildAndGetWriteMetadaInstruction(MetaDataUtil.getVpnIdMetadata(vpnId), - MetaDataUtil.METADATA_MASK_VRFID, ++instructionKey)); - instructions.add(MDSALUtil.buildAndGetGotoTableInstruction(NwConstants.L3_GW_MAC_TABLE, - ++instructionKey)); - - BoundServices serviceInfo = InterfaceUtils.getBoundServices( - String.format("%s.%s.%s", "vpn", vpnInstanceName, vpnInterfaceName), - ServiceIndex.getIndex(NwConstants.L3VPN_SERVICE_NAME, NwConstants.L3VPN_SERVICE_INDEX), - priority, NwConstants.COOKIE_VM_INGRESS_TABLE, instructions); - writeTxn.put(LogicalDatastoreType.CONFIGURATION, InterfaceUtils.buildServiceId(vpnInterfaceName, - ServiceIndex.getIndex(NwConstants.L3VPN_SERVICE_NAME, NwConstants.L3VPN_SERVICE_INDEX)), - serviceInfo, true); - List> futures = new ArrayList>(); - futures.add(writeTxn.submit()); - return futures; - } - }); + () -> { + WriteTransaction writeTxn = dataBroker.newWriteOnlyTransaction(); + int instructionKey = 0; + List instructions = new ArrayList(); + + instructions.add( + MDSALUtil.buildAndGetWriteMetadaInstruction(MetaDataUtil.getVpnIdMetadata(vpnId), + MetaDataUtil.METADATA_MASK_VRFID, ++instructionKey)); + instructions.add(MDSALUtil.buildAndGetGotoTableInstruction(NwConstants.L3_GW_MAC_TABLE, + ++instructionKey)); + + BoundServices serviceInfo = InterfaceUtils.getBoundServices( + String.format("%s.%s.%s", "vpn", vpnInstanceName, vpnInterfaceName), + ServiceIndex.getIndex(NwConstants.L3VPN_SERVICE_NAME, NwConstants.L3VPN_SERVICE_INDEX), + priority, NwConstants.COOKIE_VM_INGRESS_TABLE, instructions); + writeTxn.put(LogicalDatastoreType.CONFIGURATION, InterfaceUtils.buildServiceId(vpnInterfaceName, + ServiceIndex.getIndex(NwConstants.L3VPN_SERVICE_NAME, NwConstants.L3VPN_SERVICE_INDEX)), + serviceInfo, true); + List> futures = new ArrayList>(); + futures.add(writeTxn.submit()); + return futures; + }); } // TODO Clean up the exception handling @@ -575,7 +564,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase nhList = new ArrayList<>(); + List nhList = new ArrayList<>(); if (nextHopIp != null) { nhList.add(nextHopIp); LOG.trace("NextHop for interface {} is {}", interfaceName, nhList); @@ -828,29 +817,26 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase excludeVpn = new Predicate() { - @Override - public boolean apply(VpnInstanceOpDataEntry input) { - if (input.getVpnInstanceName() == null) { - LOG.error("Received vpn instance without identity"); - return false; - } - return !input.getVpnInstanceName().equals(vpnName); + Predicate excludeVpn = input -> { + if (input.getVpnInstanceName() == null) { + LOG.error("Received vpn instance without identity"); + return false; } + return !input.getVpnInstanceName().equals(vpnName); }; - Predicate matchRTs = new Predicate() { - @Override - public boolean apply(VpnInstanceOpDataEntry input) { - Iterable commonRTs = - intersection(getRts(vpnInstanceOpDataEntry, VpnTarget.VrfRTType.ExportExtcommunity), - getRts(input, VpnTarget.VrfRTType.ImportExtcommunity)); - return Iterators.size(commonRTs.iterator()) > 0; - } + Predicate matchRTs = input -> { + Iterable commonRTs = + intersection(getRts(vpnInstanceOpDataEntry, VpnTarget.VrfRTType.ExportExtcommunity), + getRts(input, VpnTarget.VrfRTType.ImportExtcommunity)); + return Iterators.size(commonRTs.iterator()) > 0; }; - vpnsToImportRoute = FluentIterable.from(VpnUtil.getAllVpnInstanceOpData(dataBroker)).filter(excludeVpn).filter( - matchRTs).toList(); + vpnsToImportRoute = VpnUtil.getAllVpnInstanceOpData(dataBroker) + .stream() + .filter(excludeVpn) + .filter(matchRTs) + .collect(Collectors.toList()); return vpnsToImportRoute; } @@ -879,34 +865,32 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase 0; }; - vpnsToExportRoute = FluentIterable.from(VpnUtil.getAllVpnInstanceOpData(dataBroker)).filter(excludeVpn).filter( - matchRTs).toList(); + vpnsToExportRoute = + VpnUtil.getAllVpnInstanceOpData(dataBroker).stream().filter(excludeVpn).filter(matchRTs).collect( + Collectors.toList()); return vpnsToExportRoute; } private Iterable intersection(final Collection collection1, final Collection collection2) { - final Predicate inPredicate = Predicates.in(collection2); - return () -> Iterators.filter(collection1.iterator(), inPredicate); + Set intersection = new HashSet<>(collection1); + intersection.retainAll(collection2); + return intersection; } private List getRts(VpnInstanceOpDataEntry vpnInstance, VpnTarget.VrfRTType rtType) { String name = vpnInstance.getVpnInstanceName(); List rts = new ArrayList<>(); - org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op - .data.entry.VpnTargets targets = vpnInstance.getVpnTargets(); + VpnTargets targets = vpnInstance.getVpnTargets(); if (targets == null) { LOG.trace("vpn targets not available for {}", name); return rts; } - List - vpnTargets = targets.getVpnTarget(); + List vpnTargets = targets.getVpnTarget(); if (vpnTargets == null) { LOG.trace("vpnTarget values not available for {}", name); return rts; } - for (org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance - .op.data.entry.vpntargets.VpnTarget target : vpnTargets) { + for (VpnTarget target : vpnTargets) { //TODO: Check for RT type is Both if (target.getVrfRTType().equals(rtType) || target.getVrfRTType().equals(VpnTarget.VrfRTType.Both)) { String rtValue = target.getVrfRTValue(); @@ -923,8 +907,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase>>() { - @Override - public List> call() throws Exception { - WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); - WriteTransaction writeOperTxn = dataBroker.newWriteOnlyTransaction(); - WriteTransaction writeInvTxn = dataBroker.newWriteOnlyTransaction(); - processVpnInterfaceDown(dpId, interfaceName, ifIndex, false, true, writeConfigTxn, writeOperTxn, - writeInvTxn); - List> futures = new ArrayList>(); - futures.add(writeOperTxn.submit()); - futures.add(writeConfigTxn.submit()); - futures.add(writeInvTxn.submit()); - return futures; - } + () -> { + WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); + WriteTransaction writeOperTxn = dataBroker.newWriteOnlyTransaction(); + WriteTransaction writeInvTxn = dataBroker.newWriteOnlyTransaction(); + processVpnInterfaceDown(dpId, interfaceName, ifIndex, false, true, writeConfigTxn, writeOperTxn, + writeInvTxn); + List> futures = new ArrayList>(); + futures.add(writeOperTxn.submit()); + futures.add(writeConfigTxn.submit()); + futures.add(writeInvTxn.submit()); + return futures; }); } else if (Boolean.TRUE.equals(vpnInterface.isIsRouterInterface())) { DataStoreJobCoordinator dataStoreCoordinator = DataStoreJobCoordinator.getInstance(); dataStoreCoordinator.enqueueJob("VPNINTERFACE-" + vpnInterface.getName(), - new Callable>>() { - @Override - public List> call() throws Exception { - WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); - deleteFibEntryForRouterInterface(vpnInterface, writeConfigTxn); - List> futures = new ArrayList>(); - futures.add(writeConfigTxn.submit()); - return futures; - } - }); + () -> { + WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); + deleteFibEntryForRouterInterface(vpnInterface, writeConfigTxn); + List> futures = new ArrayList>(); + futures.add(writeConfigTxn.submit()); + return futures; + }); } else { LOG.warn("VPN interface {} was unavailable in operational data store to handle remove event", interfaceName); @@ -1143,7 +1120,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase nhList = new ArrayList(); + List nhList = new ArrayList<>(); if (!nextHop.isPrimaryAdjacency()) { // This is either an extra-route (or) a learned IP via subnet-route String nextHopIp = InterfaceUtils.getEndpointIpAddressForDPN(dataBroker, dpnId); @@ -1151,7 +1128,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase>>() { - @Override - public List> call() throws Exception { - WriteTransaction writeTxn = dataBroker.newWriteOnlyTransaction(); - writeTxn.delete(LogicalDatastoreType.CONFIGURATION, - InterfaceUtils.buildServiceId(vpnInterfaceName, - ServiceIndex.getIndex(NwConstants.L3VPN_SERVICE_NAME, - NwConstants.L3VPN_SERVICE_INDEX))); - - List> futures = new ArrayList>(); - futures.add(writeTxn.submit()); - return futures; - } + () -> { + WriteTransaction writeTxn = dataBroker.newWriteOnlyTransaction(); + writeTxn.delete(LogicalDatastoreType.CONFIGURATION, + InterfaceUtils.buildServiceId(vpnInterfaceName, + ServiceIndex.getIndex(NwConstants.L3VPN_SERVICE_NAME, + NwConstants.L3VPN_SERVICE_INDEX))); + + List> futures = new ArrayList>(); + futures.add(writeTxn.submit()); + return futures; }); } } @@ -1312,31 +1286,28 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase>>() { - @Override - public List> call() throws Exception { - WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); - WriteTransaction writeOperTxn = dataBroker.newWriteOnlyTransaction(); - List> futures = new ArrayList<>(); - //handle both addition and removal of adjacencies - //currently, new adjacency may be an extra route - if (!oldAdjs.equals(newAdjs)) { - for (Adjacency adj : newAdjs) { - if (oldAdjs.contains(adj)) { - oldAdjs.remove(adj); - } else { - // add new adjacency - right now only extra route will hit this path - addNewAdjToVpnInterface(identifier, adj, dpnId, writeOperTxn, writeConfigTxn); - } - } - for (Adjacency adj : oldAdjs) { - delAdjFromVpnInterface(identifier, adj, dpnId, writeOperTxn, writeConfigTxn); + () -> { + WriteTransaction writeConfigTxn = dataBroker.newWriteOnlyTransaction(); + WriteTransaction writeOperTxn = dataBroker.newWriteOnlyTransaction(); + List> futures = new ArrayList<>(); + //handle both addition and removal of adjacencies + //currently, new adjacency may be an extra route + if (!oldAdjs.equals(newAdjs)) { + for (Adjacency adj : newAdjs) { + if (oldAdjs.contains(adj)) { + oldAdjs.remove(adj); + } else { + // add new adjacency - right now only extra route will hit this path + addNewAdjToVpnInterface(identifier, adj, dpnId, writeOperTxn, writeConfigTxn); } } - futures.add(writeOperTxn.submit()); - futures.add(writeConfigTxn.submit()); - return futures; + for (Adjacency adj : oldAdjs) { + delAdjFromVpnInterface(identifier, adj, dpnId, writeOperTxn, writeConfigTxn); + } } + futures.add(writeOperTxn.submit()); + futures.add(writeConfigTxn.submit()); + return futures; }); } @@ -1447,7 +1418,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase vpnInstanceNames = Arrays.asList(vpnInstanceOpDataEntry.getVpnInstanceName()); + List vpnInstanceNames = Collections.singletonList(vpnInstanceOpDataEntry.getVpnInstanceName()); lriBuilder.setVpnInstanceList(vpnInstanceNames); } LabelRouteInfo lri = lriBuilder.build(); @@ -1479,15 +1450,17 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase vrfEntryId = InstanceIdentifier.builder(FibEntries.class) .child(VrfTables.class, new VrfTablesKey(rd)) @@ -1519,11 +1492,11 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase vpnsToImportRoute = getVpnsImportingMyRoute(vpnName); if (vpnsToImportRoute.size() > 0) { - VrfEntry importingVrfEntry = - new VrfEntryBuilder().setDestPrefix(prefix).setNextHopAddressList(Arrays.asList(nextHop)) + VrfEntry importingVrfEntry = new VrfEntryBuilder().setDestPrefix(prefix).setNextHopAddressList( + Collections.singletonList(nextHop)) .setLabel((long) label).setOrigin(RouteOrigin.SELF_IMPORTED.getValue()) .addAugmentation(SubnetRoute.class, route).build(); - List importingVrfEntryList = Arrays.asList(importingVrfEntry); + List importingVrfEntryList = Collections.singletonList(importingVrfEntry); for (VpnInstanceOpDataEntry vpnInstance : vpnsToImportRoute) { LOG.info("Exporting subnet route rd {} prefix {} nexthop {} label {} to vpn {}", rd, prefix, nextHop, label, vpnInstance.getVpnInstanceName()); @@ -1547,12 +1520,13 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase vrfEntryList = Arrays.asList(vrfEntry); + route.getElantag()); + List vrfEntryList = Collections.singletonList(vrfEntry); InstanceIdentifierBuilder idBuilder = InstanceIdentifier.builder(FibEntries.class).child(VrfTables.class, new VrfTablesKey(rd)); InstanceIdentifier vrfTableId = idBuilder.build(); @@ -1688,7 +1662,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase nextHopIpList = Arrays.asList(nextHop); + List nextHopIpList = Collections.singletonList(nextHop); if (rd != null) { /* Label mapper is required only for BGP VPN and not for Internal VPN */ addToLabelMapper((long) label, dpnId, destination, nextHopIpList, VpnUtil.getVpnId(dataBroker, routerID), @@ -1817,7 +1791,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase routerInterfaces = new ArrayList<>(); routerInterfaces.add(routerInterface); - builder.setDpnVpninterfacesList(Arrays.asList(dpnVpnList.build())); + builder.setDpnVpninterfacesList(Collections.singletonList(dpnVpnList.build())); writeOperTxn.merge(LogicalDatastoreType.OPERATIONAL, getRouterId(routerName), builder.build(), true); -- 2.36.6