Bump upstreams for Silicon 71/92971/23
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 7 Oct 2020 17:56:46 +0000 (19:56 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 22 Feb 2021 13:04:23 +0000 (14:04 +0100)
Adopt the following upstream versions:
- odlparent-8.1.0
- yangtools-6.0.4
- mdsal-7.0.5
- controller-3.0.6
- infrautils-1.9.5
- aaa-0.13.1
- netconf-1.13.0

Change-Id: Ib80c9974bc95e85000df8a003be3e9efca5f6b7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
90 files changed:
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/recovery/AclInstanceRecoveryHandler.java
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java
aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/IdentifiedAceBuilder.java
aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/IdentifiedInterfaceWithAclBuilder.java
aclservice/pom.xml
alarm/pom.xml
artifacts/pom.xml
bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpManager.java
bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpUtil.java
bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/FibDSWriter.java
bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/VtyshCli.java
bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/oam/BgpCounters.java
bgpmanager/pom.xml
cache/pom.xml
cloud-servicechain/pom.xml
commons/binding-parent/pom.xml
commons/checkstyle/pom.xml
commons/pom.xml
dhcpservice/api/src/main/java/org/opendaylight/netvirt/dhcpservice/api/DHCP.java
dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpServiceUtils.java
dhcpservice/pom.xml
elanmanager/impl/pom.xml
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/cli/l2gw/L2GwValidateCli.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanBridgeManager.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/BatchedTransaction.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/HwvtepHAUtil.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/commands/MergeCommand.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HAOpNodeListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanMacEntryListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/L2GatewayConnectionListener.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanUtils.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/GlobalAugmentationHelper.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/NodeConnectedHandlerUtils.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/PhysicalSwitchHelper.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/DpnNodeBuilders.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/ElanServiceTestBase.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/ExpectedObjects.xtend
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/L2gwBuilders.java
elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/utils/EvpnTestHelper.java
elanmanager/pom.xml
features/netvirt-features/pom.xml
features/odl-netvirt-api/pom.xml
features/odl-netvirt-impl/pom.xml
features/odl-netvirt-impl/src/main/feature/feature.xml
features/odl-netvirt-openstack/pom.xml
features/pom.xml
fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/EvpnVrfEntryHandler.java
fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java
fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java
fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/RouterInterfaceVrfEntryHandler.java
fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java
fibmanager/pom.xml
ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/Ipv6PktHandler.java
ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/utils/Ipv6ServiceUtils.java
ipv6service/impl/src/test/java/org/opendaylight/netvirt/ipv6service/Ipv6PktHandlerTest.java
ipv6service/pom.xml
karaf/pom.xml
natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/EvpnDnatFlowProgrammer.java
natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java
natservice/pom.xml
neutronvpn/api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/utils/NeutronUtils.java
neutronvpn/impl/pom.xml
neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java
neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSecurityGroupListener.java
neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSecurityRuleListener.java
neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronTrunkChangeListener.java
neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java
neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/evpn/utils/NeutronEvpnUtils.java
neutronvpn/impl/src/test/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListenerTest.java
neutronvpn/pom.xml
policyservice/pom.xml
pom.xml
qosservice/impl/src/main/java/org/opendaylight/netvirt/qosservice/QosNeutronUtils.java
qosservice/impl/src/main/java/org/opendaylight/netvirt/qosservice/UuidUtil.java
qosservice/pom.xml
statemanager/pom.xml
statistics/pom.xml
vpnmanager/api/src/main/java/org/opendaylight/netvirt/vpnmanager/api/InterfaceUtils.java
vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnFootprintService.java
vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java
vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnSubnetRouteHandler.java
vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnUtil.java
vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/intervpnlink/InterVpnLinkListener.java
vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/LearntVpnVipToPortEventProcessor.java
vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/populator/impl/L3vpnPopulator.java
vpnmanager/impl/src/test/java/org/opendaylight/netvirt/vpnmanager/test/VpnSubnetRouteHandlerTest.java
vpnmanager/pom.xml

index 1eee998dba735899f22cacf204892a7fd204b611..5d9bbd43ded987bc6b134f5bf15577b1d64a255e 100644 (file)
@@ -67,7 +67,7 @@ public class AclInstanceRecoveryHandler implements ServiceRecoveryInterface {
                 InterfaceAcl interfaceAclAfter = new InterfaceAclBuilder(interfaceAclBefore).setSecurityGroups(sgList)
                         .build();
                 Interface interfaceAfter = new InterfaceBuilder(interfaceBefore)
-                        .addAugmentation(InterfaceAcl.class,interfaceAclAfter).build();
+                        .addAugmentation(interfaceAclAfter).build();
                 aclInterfaceListener.update(null, interfaceBefore, interfaceAfter);
                 aclInterfaceListener.update(null, interfaceAfter, interfaceBefore);
             } else {
index aa24e0e62e52c494ff7e016b61abeeae52df074d..81f9b29304ee5f08994c480b2c7dd45e1276bc25 100644 (file)
@@ -91,7 +91,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.ser
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeEgress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceTypeFlowBased;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflowBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfoKey;
@@ -346,7 +345,7 @@ public final class AclServiceUtils {
                 .setInstruction(instructions);
         return new BoundServicesBuilder().withKey(new BoundServicesKey(servicePriority)).setServiceName(serviceName)
                 .setServicePriority(servicePriority).setServiceType(ServiceTypeFlowBased.class)
-                .addAugmentation(StypeOpenflow.class, augBuilder.build()).build();
+                .addAugmentation(augBuilder.build()).build();
     }
 
     public static List<Uuid> getUpdatedAclList(List<Uuid> updatedAclList, List<Uuid> currentAclList) {
@@ -583,7 +582,7 @@ public final class AclServiceUtils {
             // matching both lportTag and aclTag. Hence performing "or"
             // operation on both lportTag and aclTag metadata.
             Uint64 metaData = Uint64.fromLongBits(MetaDataUtil.getLportTagMetaData(lportTag).longValue()
-                    | (getRemoteAclTagMetadata(BigInteger.valueOf(remoteAclTag)).longValue()));
+                    | getRemoteAclTagMetadata(BigInteger.valueOf(remoteAclTag)).longValue());
             Uint64 metaDataMask = Uint64.fromLongBits(MetaDataUtil.METADATA_MASK_LPORT_TAG.longValue()
                     | MetaDataUtil.METADATA_MASK_REMOTE_ACL_TAG.longValue());
             matches.add(new MatchMetadata(metaData, metaDataMask));
@@ -602,8 +601,8 @@ public final class AclServiceUtils {
             // matching both lportTag and conntrackClassifierType. Hence performing "or"
             // operation on both lportTag and conntrackClassifierType metadata.
             Uint64 metaData = Uint64.fromLongBits(MetaDataUtil.getLportTagMetaData(lportTag).longValue()
-                    | (MetaDataUtil.getAclConntrackClassifierTypeFromMetaData(
-                       Uint64.valueOf(conntrackClassifierType.getValue()))).longValue());
+                    | MetaDataUtil.getAclConntrackClassifierTypeFromMetaData(
+                       Uint64.valueOf(conntrackClassifierType.getValue())).longValue());
             Uint64 metaDataMask = Uint64.fromLongBits(MetaDataUtil.METADATA_MASK_LPORT_TAG.longValue()
                    | MetaDataUtil.METADATA_MASK_ACL_CONNTRACK_CLASSIFIER_TYPE.longValue());
             matches.add(new MatchMetadata(metaData, metaDataMask));
index aac77b38c2de7277109773637fac4c4e1c342469..36fca47c1715e703479ee57d24fc2c6a7e480666 100644 (file)
@@ -25,7 +25,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.cont
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.actions.packet.handling.PermitBuilder;
 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.netvirt.aclservice.rev160608.DirectionBase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.SecurityRuleAttr;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.SecurityRuleAttrBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.Empty;
@@ -67,7 +66,7 @@ public class IdentifiedAceBuilder implements DataTreeIdentifierDataObjectPairBui
                     .setPermit(Empty.getInstance()).build()
                 ).build()
             )
-            .addAugmentation(SecurityRuleAttr.class, new SecurityRuleAttrBuilder()
+            .addAugmentation(new SecurityRuleAttrBuilder()
                 .setDirection(direction)
                 .setRemoteGroupId(optRemoteGroupId.orElse(null)).build()
             ).build();
index 85e5dd691360dc98198021951c2017ba46c705f4..2368f6bebb8a2c3f1a2749ad62133c792ec7bac8 100644 (file)
@@ -19,7 +19,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
 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.netvirt.aclservice.rev160608.InterfaceAcl;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.InterfaceAclBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.SubnetInfo;
@@ -50,7 +49,7 @@ public class IdentifiedInterfaceWithAclBuilder implements DataTreeIdentifierData
     @Override
     public Interface dataObject() {
         return new InterfaceBuilder()
-            .addAugmentation(InterfaceAcl.class, new InterfaceAclBuilder()
+            .addAugmentation(new InterfaceAclBuilder()
                 .setPortSecurityEnabled(portSecurity)
                 .setSecurityGroups(newSecurityGroups)
                 .setAllowedAddressPairs(ifAllowedAddressPairs)
index 0b35927aa4b24dd07de90883589075dfb422dca1..5893c4bb20aa5fa102faf978f979768ccdfd07db 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 871314ce3cb3747205fc01c49e2f0436c68dac36..3fd550935f5654862ee261b66c75ddfc66bd94db 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index a6d757cc8c7c155db55dc73aa220a851cf960fc9..3a6b35a9287928a077696e7a1f039951088ebeeb 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 6271dbd51d549b904909dbde65965cca30c6111c..0969ad3959f07b56485e915e69503e9be5d6d34d 100644 (file)
@@ -219,8 +219,8 @@ public class BgpManager implements AutoCloseable, IBgpManager {
     public void withdrawPrefixIfPresent(String rd, String prefix) {
         InstanceIdentifier<Networks> networksId = InstanceIdentifier.builder(Bgp.class)
                 .child(NetworksContainer.class)
-                .child(Networks.class,
-                new NetworksKey(rd, prefix)).build();
+                .child(Networks.class, new NetworksKey(rd, prefix))
+                .build();
         try (ReadTransaction tx = dataBroker.newReadOnlyTransaction()) {
             Futures.addCallback(tx.read(LogicalDatastoreType.CONFIGURATION, networksId),
                 new FutureCallback<Optional<Networks>>() {
index 3d72b6f4675e9fa07f97fa911a5dd3fe576f2d45..3142687ab5c58fd0e04b2d7614f05b93abdf8ef5 100755 (executable)
@@ -262,7 +262,7 @@ public class BgpUtil implements AutoCloseable {
     private static InstanceIdentifier<ExternalTeps> getExternalTepsIdentifier(String elanInstanceName, String tepIp) {
         IpAddress tepAdress = tepIp == null ? null : new IpAddress(new Ipv4Address(tepIp));
         return InstanceIdentifier.builder(ElanInstances.class).child(ElanInstance.class,
-                new ElanInstanceKey(elanInstanceName)).child(ExternalTeps.class,
+            new ElanInstanceKey(elanInstanceName)).child(ExternalTeps.class,
                 new ExternalTepsKey(tepAdress)).build();
     }
 
index 983de1e056bd1d34d50b5cc81943197fc761b70e..0921be80f446eed19ae42c326d844f0b519d9c01 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.netvirt.bgpmanager;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -58,8 +59,8 @@ public class FibDSWriter {
     }
 
     public synchronized void addEntryToFibMap(String rd, String prefix, String nextHop) {
-        ArrayList<String> temp = new ArrayList<String>();
-        if ((fibMap.get(appendrdtoprefix(rd, prefix)) != null)) {
+        ArrayList<String> temp = new ArrayList<>();
+        if (fibMap.get(appendrdtoprefix(rd, prefix)) != null) {
             temp.addAll(fibMap.get(appendrdtoprefix(rd, prefix)));
         }
         temp.add(nextHop);
@@ -77,7 +78,7 @@ public class FibDSWriter {
             return;
         }
 
-        Preconditions.checkNotNull(nextHopList, "NextHopList can't be null");
+        requireNonNull(nextHopList, "NextHopList can't be null");
         for (String nextHop : nextHopList) {
             if (nextHop == null || nextHop.isEmpty()) {
                 LOG.error("nextHop list contains null element");
@@ -89,8 +90,8 @@ public class FibDSWriter {
         LOG.debug("addFibEntryToDS rd {} prefix {} NH {}",
                 rd, prefix, nextHopList.get(0));
 
-        ArrayList<String> temp = new ArrayList<String>();
-        if ((fibMap.get(appendrdtoprefix(rd, prefix)) != null)) {
+        ArrayList<String> temp = new ArrayList<>();
+        if (fibMap.get(appendrdtoprefix(rd, prefix)) != null) {
             temp.addAll(fibMap.get(appendrdtoprefix(rd, prefix)));
         }
         if (!temp.contains(nextHopList.get(0))) {
@@ -122,7 +123,7 @@ public class FibDSWriter {
             return;
         }
 
-        Preconditions.checkNotNull(nextHopList, "NextHopList can't be null");
+        requireNonNull(nextHopList, "NextHopList can't be null");
         for (String nextHop : nextHopList) {
             if (StringUtils.isEmpty(nextHop)) {
                 LOG.error("nextHop list contains null element for macVrf");
index c32dda3469f80992c6687a51b491547b9ef78af4..08e50cf6d4e50062f84ff3431ad3e4520816dfad 100644 (file)
@@ -245,7 +245,7 @@ public class VtyshCli extends OsgiCommandSupport {
 
         String inputCmd = "show " + command;
         outToSocket.println(inputCmd);
-        StringBuffer output = new StringBuffer();
+        StringBuilder output = new StringBuilder();
         String errorMsg = "";
         while (true) {
             char[] opBuf = new char[100];
index fb39bb40d7795a861d16951af7b8b514a183fdf8..93369fb0cf732ec6edddd2898b0027e01148eef3 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.netvirt.bgpmanager.oam;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@@ -23,6 +22,7 @@ import java.net.InetAddress;
 import java.net.Socket;
 import java.net.SocketTimeoutException;
 import java.net.UnknownHostException;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -97,7 +97,7 @@ public class BgpCounters implements Runnable, AutoCloseable {
         try (Socket socket = new Socket(bgpSdncMip, 2605);
              PrintWriter toRouter = new PrintWriter(socket.getOutputStream(), true);
              BufferedReader fromRouter = new BufferedReader(new InputStreamReader(socket.getInputStream()));
-             BufferedWriter toFile = new BufferedWriter(new FileWriter(filename, true))) {
+             BufferedWriter toFile = new BufferedWriter(new FileWriter(filename, StandardCharsets.UTF_8, true))) {
             socket.setSoTimeout(2 * 1000);
 
             // Wait for the password prompt
index afee6c17bc14b523df335af57cddbb64b46cbd4a..2a555e686ceb6f2b86f0719319cce64b48fecbac 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index be4a4bc1ad8029962aa1821a417a71be994c05f9..1a17df5d6c9e98ca44f5583d3262dc49107b7dad 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 2eab023a53d06cd31858baed07c520e85f55fe0d..2753a5600fc57e911d714b65479e573f0746e276 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 277158ccd7936650c349f40aed4a58eab745334b..86264c620624fc1cb0715363d3bf35b7aec98630 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>6.0.5</version>
+    <version>7.0.5</version>
     <relativePath/>
   </parent>
 
@@ -36,14 +36,14 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <dependency>
         <groupId>org.opendaylight.infrautils</groupId>
         <artifactId>infrautils-artifacts</artifactId>
-        <version>1.8.1</version>
+        <version>1.9.5</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>controller-artifacts</artifactId>
-        <version>2.0.4</version>
+        <version>3.0.6</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 00426acd0f49462958551c20aeef4af9c54d7434..c96aab5894e928d25a1cbf79f46dc7403dec0daa 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 80f264b0d10bfe0fd9d26c58c2941f9325926a8f..f9c5b1b3aa87d3c1e0313e14c3c6fe2b3c397dc4 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 7c34052ab593849ea9d92baa76a351b025090dce..0133eb6383e8b465c9bf83fbf4b834ba32fc6ba5 100644 (file)
@@ -332,13 +332,8 @@ public class DHCP extends Packet {
         int payloadStart = startOffset + numBits;
         int payloadSize = data.length * Byte.SIZE - payloadStart;
 
-        if (payloadClass != null) {
-            try {
-                payload = payloadClass.newInstance();
-            } catch (InstantiationException | IllegalAccessException e) {
-                throw new RuntimeException(
-                        "Error parsing payload for Ethernet packet", e);
-            }
+        if (payloadFactory != null) {
+            payload = payloadFactory.get();
             payload.deserialize(data, payloadStart, payloadSize);
             payload.setParent(this);
         } else {
index 59c3de298eeced739f403da897aee4f5e2d71dc9..b7b02c27887001d914664d3d35f9af2ae82adce0 100644 (file)
@@ -73,7 +73,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceBindings;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeIngress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceTypeFlowBased;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflowBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfoKey;
@@ -239,7 +238,7 @@ public final class DhcpServiceUtils {
     }
 
     private static Map<InstructionKey, Instruction> getDhcpArpInstructions(Long elanTag, int lportTag) {
-        Map<InstructionKey, Instruction> mkInstructions = new HashMap<InstructionKey, Instruction>();
+        Map<InstructionKey, Instruction> mkInstructions = new HashMap<>();
         int instructionKey = 0;
         mkInstructions.put(new InstructionKey(++instructionKey), MDSALUtil.buildAndGetWriteMetadaInstruction(
                 ElanHelper.getElanMetadataLabel(elanTag, lportTag), ElanHelper.getElanMetadataMask(),
@@ -374,7 +373,7 @@ public final class DhcpServiceUtils {
         return new BoundServicesBuilder().withKey(new BoundServicesKey(servicePriority))
                 .setServiceName(serviceName).setServicePriority(servicePriority)
                 .setServiceType(ServiceTypeFlowBased.class)
-                .addAugmentation(StypeOpenflow.class, augBuilder.build()).build();
+                .addAugmentation(augBuilder.build()).build();
     }
 
     @SuppressWarnings("checkstyle:IllegalCatch")
@@ -382,7 +381,7 @@ public final class DhcpServiceUtils {
             BiConsumer<InstanceIdentifier<SubnetToDhcpPort>, SubnetToDhcpPort> consumer) {
         java.util.Optional<String> ip4Address = getIpV4Address(port);
         java.util.Optional<String> subnetId = getNeutronSubnetId(port);
-        if (!(ip4Address.isPresent() && subnetId.isPresent())) {
+        if ((!ip4Address.isPresent() || !subnetId.isPresent())) {
             return;
         }
         LOG.trace("Adding SubnetPortData entry for subnet {}", subnetId.get());
index d75a2fdb6acf9d4809235c91d18e1cb365fbe2aa..befeb14f33464ca1e92e34a7700fb067bfb95fdb 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index a19934d0af190327bb07ef1d3a075e5cab37c7c1..6a8b86e1fd73d16182bd0c7a61358dd84f140d3c 100644 (file)
@@ -20,15 +20,15 @@ this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
     <packaging>bundle</packaging>
     <modelVersion>4.0.0</modelVersion>
 
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>com.google.inject</groupId>
-        <artifactId>guice</artifactId>
-        <version>4.2.2</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>com.google.inject</groupId>
+                <artifactId>guice</artifactId>
+                <version>4.2.2</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
 
     <dependencies>
         <dependency>
@@ -145,6 +145,10 @@ this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
             <scope>provided</scope>
             <optional>true</optional>
         </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi.core</artifactId>
+        </dependency>
 
         <!-- Only for unit-test -->
         <dependency>
@@ -190,7 +194,6 @@ this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
         <dependency>
             <groupId>org.opendaylight.infrautils</groupId>
             <artifactId>metrics-impl-test</artifactId>
-            <version>1.8.1</version>
             <scope>test</scope>
         </dependency>
         <dependency>
index 6e193daecb3f387b34b188a5b9be0a22ff27e1ba..8f4383ba57c5cb900cf042fac015d7c72b560a0c 100644 (file)
@@ -12,7 +12,6 @@ import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 
 import com.google.common.base.Function;
-import com.google.common.collect.Sets;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.io.File;
 import java.io.FileOutputStream;
@@ -20,6 +19,7 @@ import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -315,8 +315,8 @@ public class L2GwValidateCli extends OsgiCommandSupport {
                 data1 = cmd.getData(node1);
                 data2 = cmd.getData(node2);
             }
-            data1 = data1 == null ? Collections.EMPTY_LIST : data1;
-            data2 = data2 == null ? Collections.EMPTY_LIST : data2;
+            data1 = data1 == null ? Collections.emptyList() : data1;
+            data2 = data2 == null ? Collections.emptyList() : data2;
 
             if (parentChildComparison) {
                 data2 = cmd.transform(nodeIid1, data2);
@@ -333,7 +333,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
             for (DataObject dataObject : data2) {
                 map2.put(cmd.getKey(dataObject), dataObject);
             }
-            Set<DataObject> diff = Sets.newHashSet();
+            Set<DataObject> diff = new HashSet<>();
 
             for (Entry<Identifier<?>, DataObject> entry : map1.entrySet()) {
                 DataObject obj1 = entry.getValue();
@@ -359,7 +359,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
                 }
             }
 
-            diff = Sets.newHashSet();
+            diff = new HashSet<>();
             for (Entry<Identifier<?>, DataObject> entry : map2.entrySet()) {
                 DataObject obj1 = entry.getValue();
                 DataObject obj2 = map1.get(entry.getKey());
index 9b9413c52f953a2fb8e9afc1daaa27834f489913..1111137de661c2197ad9d1a01914b902e9501838 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.netvirt.elan.internal;
 
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -352,7 +351,7 @@ public class ElanBridgeManager {
             if (dpId != null) {
                 otherConfigs = new ArrayList<>(bridgeAug.nonnullBridgeOtherConfigs().values());
                 if (otherConfigs == null) {
-                    otherConfigs = Lists.newArrayList();
+                    otherConfigs = new ArrayList<>();
                 }
 
                 if (otherConfigs.stream().noneMatch(otherConfig ->
@@ -363,10 +362,10 @@ public class ElanBridgeManager {
                                     .setBridgeOtherConfigValue(dpIdVal).build());
                 }
             } else {
-                otherConfigs = Lists.newArrayList();
+                otherConfigs = new ArrayList<>();
             }
         } else  {
-            otherConfigs = Lists.newArrayList();
+            otherConfigs = new ArrayList<>();
             if (mac != null) {
                 otherConfigs.add(new BridgeOtherConfigsBuilder()
                                 .setBridgeOtherConfigKey(OTHER_CONFIG_HWADDR)
index e76b4f763c9b877672f7da401dc3318ed6fe69fb..e0d0a49a0dd4683dc5b40e495ee5a22c250595dd 100644 (file)
@@ -8,13 +8,12 @@
 package org.opendaylight.netvirt.elan.internal;
 
 import static java.util.Collections.emptyList;
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.infrautils.utils.concurrent.LoggingFutures.addErrorLogging;
 import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 import static org.opendaylight.netvirt.elan.utils.ElanUtils.isVxlanNetworkOrVxlanSegment;
 
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
 import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.math.BigInteger;
@@ -734,9 +733,9 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
     @SuppressWarnings("checkstyle:ForbidCertainMethod")
     List<ListenableFuture<?>> addElanInterface(ElanInterface elanInterface,
             InterfaceInfo interfaceInfo, ElanInstance elanInstance) {
-        Preconditions.checkNotNull(elanInstance, "elanInstance cannot be null");
-        Preconditions.checkNotNull(interfaceInfo, "interfaceInfo cannot be null");
-        Preconditions.checkNotNull(elanInterface, "elanInterface cannot be null");
+        requireNonNull(elanInstance, "elanInstance cannot be null");
+        requireNonNull(interfaceInfo, "interfaceInfo cannot be null");
+        requireNonNull(elanInterface, "elanInterface cannot be null");
 
         String interfaceName = elanInterface.getName();
         String elanInstanceName = elanInterface.getElanInstanceName();
@@ -867,7 +866,7 @@ public class ElanInterfaceManager extends AbstractAsyncDataTreeChangeListener<El
                     isFirstInterfaceInDpn, confTx);
                 Map<StaticMacEntriesKey, StaticMacEntries> staticMacEntriesMap =
                     elanInterface.nonnullStaticMacEntries();
-                List<PhysAddress> staticMacAddresses = Lists.newArrayList();
+                List<PhysAddress> staticMacAddresses = new ArrayList<>();
                 if (ElanUtils.isNotEmpty(staticMacEntriesMap.values())) {
                     for (StaticMacEntries staticMacEntry : staticMacEntriesMap.values()) {
                         InstanceIdentifier<MacEntry> macId = getMacEntryOperationalDataPath(elanInstanceName,
index 6b4ab00b1dfbfe6e6a0ec0f9a0858f40d7e6ecb1..91588adefdbb092e0c2430d1da142ae5884f94e6 100644 (file)
@@ -19,7 +19,10 @@ import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicInteger;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.genius.utils.batching.ResourceBatchingManager;
+import org.opendaylight.mdsal.binding.api.query.QueryExpression;
+import org.opendaylight.mdsal.binding.api.query.QueryResult;
 import org.opendaylight.mdsal.binding.util.Datastore;
 import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
 import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
@@ -256,4 +259,9 @@ public class BatchedTransaction<D extends Datastore> implements TypedReadWriteTr
     public void updateMetric(Boolean update) {
         this.updateMetric = update;
     }
+
+    @Override
+    public <T extends @NonNull DataObject> FluentFuture<QueryResult<T>> execute(QueryExpression<T> query) {
+        throw new UnsupportedOperationException();
+    }
 }
index 285b790fb475f4c41ce8645f372104040051cf86..6a76171a626f12870eaddc4bf366219f05be362d 100644 (file)
@@ -394,7 +394,7 @@ public final class HwvtepHAUtil {
             }
             return childSwitchIds;
         }
-        return Collections.EMPTY_SET;
+        return Collections.emptySet();
     }
 
     public static HwvtepGlobalAugmentation getGlobalAugmentationOfNode(Node node) {
index 7e62e27deead559de2adff1b0a761765d91c5639..0bbe89b5a1c4c7d92434f164d0fe1f99ca03902d 100644 (file)
@@ -100,11 +100,11 @@ public abstract class MergeCommand<T extends DataObject, Y extends Builder, Z ex
 
     List<T> getDataSafe(Z existingData) {
         if (existingData == null) {
-            return Collections.EMPTY_LIST;
+            return Collections.emptyList();
         }
         List<T> result = getData(existingData);
         if (result == null) {
-            return Collections.EMPTY_LIST;
+            return Collections.emptyList();
         }
         return result;
     }
index d8a89f0634fa056e281b0dcd5916eabfe22cfcf3..7f264fc288d52537dfd9641da1b764cc43258d47 100644 (file)
@@ -60,7 +60,7 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener<Operational> implem
         return psNodeId.startsWith(globalNodeId) && psNodeId.contains("physicalswitch");
     };
 
-    static Predicate<InstanceIdentifier<Node>> IS_NOT_HA_CHILD = (iid) -> hwvtepHACache.getParent(iid) == null;
+    static Predicate<InstanceIdentifier<Node>> IS_NOT_HA_CHILD = iid -> hwvtepHACache.getParent(iid) == null;
 
     private final IHAEventHandler haEventHandler;
     private final HAOpClusteredListener haOpClusteredListener;
@@ -95,6 +95,7 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener<Operational> implem
         }
     }
 
+    @Override
     public void deregisterListener() {
         LOG.info("Deregistering HAOpNodeListener");
         super.close();
@@ -169,7 +170,7 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener<Operational> implem
                 Optional<Node> globalNodeOptional = configTx.read(haNodePath).get();
                 if (globalNodeOptional.isPresent()) {
                     //Also update the manager section in config which helps in cluster reboot scenarios
-                    managers.stream().forEach((manager) -> {
+                    managers.stream().forEach(manager -> {
                         InstanceIdentifier<Managers> managerIid = haNodePath
                             .augmentation(HwvtepGlobalAugmentation.class)
                             .child(Managers.class, manager.key());
@@ -349,8 +350,7 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener<Operational> implem
                 tpAugmentationBuilder.setVlanStats(operPPAugmentation.getVlanStats());
                 tpAugmentationBuilder.setVlanBindings(operPPAugmentation.getVlanBindings());
 
-                tpBuilder.addAugmentation(HwvtepPhysicalPortAugmentation.class,
-                    tpAugmentationBuilder.build());
+                tpBuilder.addAugmentation(tpAugmentationBuilder.build());
                 configTPList.add(tpBuilder.build());
             });
         }
@@ -386,7 +386,7 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener<Operational> implem
         }
         InstanceIdentifier<Node> haGlobalPath = hwvtepHACache.getParent(disconnectedChildGlobalPath);
         Set<InstanceIdentifier<Node>> childPsPaths = hwvtepHACache.getChildrenForHANode(haGlobalPath).stream()
-                .map((childGlobalPath) -> HwvtepHAUtil.convertPsPath(childPsNode, childGlobalPath))
+                .map(childGlobalPath -> HwvtepHAUtil.convertPsPath(childPsNode, childGlobalPath))
                 .collect(Collectors.toSet());
         //TODO validate what if this is null
         if (haOpClusteredListener.getConnected(childPsPaths).isEmpty()) {
@@ -412,16 +412,16 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener<Operational> implem
             || HwvtepHAUtil.isEmpty(hwvtepGlobalAugmentation.nonnullSwitches().values())) {
             haOpClusteredListener.getConnectedNodes()
                     .stream()
-                    .filter((connectedIid) -> IS_PS_CHILD_TO_GLOBAL_NODE.test(childGlobalNodeId, connectedIid))
-                    .forEach((connectedIid) -> childPsIids.add(connectedIid));
+                    .filter(connectedIid -> IS_PS_CHILD_TO_GLOBAL_NODE.test(childGlobalNodeId, connectedIid))
+                    .forEach(connectedIid -> childPsIids.add(connectedIid));
         } else {
             hwvtepGlobalAugmentation.getSwitches().values().forEach(
-                (switches) -> childPsIids.add(switches.getSwitchRef().getValue()));
+                switches -> childPsIids.add(switches.getSwitchRef().getValue()));
         }
         if (childPsIids.isEmpty()) {
             LOG.info("HAOpNodeListener No child ps found for global {}", childGlobalNodeId);
         }
-        childPsIids.forEach((psIid) -> {
+        childPsIids.forEach(psIid -> {
             try {
                 InstanceIdentifier<Node> childPsIid = psIid;
                 Optional<Node> childPsNode = tx.read(childPsIid).get();
index e9dde085d0c23de8c563fca3af661e10e93b3f9c..e871a270a13519aa208f41403c7da3ac23578674 100644 (file)
@@ -68,7 +68,7 @@ public class ElanMacEntryListener extends AbstractClusteredAsyncDataTreeChangeLi
                 ElanInstance elanInstance = elanInstanceCache.get(elanName).orElse(null);
                 elanL2GatewayUtils.removeMacsFromElanExternalDevices(elanInstance,
                         Lists.newArrayList(del.getMacAddress()));
-                return Collections.EMPTY_LIST;
+                return Collections.emptyList();
             });
     }
 
@@ -91,4 +91,4 @@ public class ElanMacEntryListener extends AbstractClusteredAsyncDataTreeChangeLi
             }
         });
     }
-}
\ No newline at end of file
+}
index 19071cf7b160285a08fc23bafb4a3ad67c46aadd..8623cd23adf4a647bfcbb626ff31d2521790b5da 100644 (file)
@@ -325,7 +325,7 @@ public class L2GatewayConnectionListener extends AbstractClusteredAsyncDataTreeC
         if (psNode.augmentation(PhysicalSwitchAugmentation.class) != null) {
             return psNode.augmentation(PhysicalSwitchAugmentation.class).nonnullTunnelIps().values();
         }
-        return Collections.EMPTY_LIST;
+        return Collections.emptyList();
     }
 
     private List<Node> readAllConfigNodes(TypedReadTransaction<Configuration> tx) {
@@ -348,6 +348,6 @@ public class L2GatewayConnectionListener extends AbstractClusteredAsyncDataTreeC
         if (topologyOptional != null && topologyOptional.isPresent() && topologyOptional.get().getNode() != null) {
             return  new ArrayList<>(topologyOptional.get().nonnullNode().values());
         }
-        return Collections.EMPTY_LIST;
+        return Collections.emptyList();
     }
 }
index 6b612cc1cd4aa9ce3c6e38b04feb04e25edd011a..869543eb59737184782f8c2228fd213819895630 100644 (file)
@@ -1249,7 +1249,7 @@ public class ElanL2GatewayUtils {
     public List<MacAddress> getL2GwDeviceLocalMacs(String elanName, L2GatewayDevice l2gwDevice) {
         Set<MacAddress> macs = new HashSet<>();
         if (l2gwDevice == null) {
-            return Collections.EMPTY_LIST;
+            return Collections.emptyList();
         }
         Collection<LocalUcastMacs> lstUcastLocalMacs = l2gwDevice.getUcastLocalMacs();
         if (lstUcastLocalMacs != null && !lstUcastLocalMacs.isEmpty()) {
index 8af5df0abf27d81602053b7f4e46dc4b20fbe449..7aaade9974b5e5535609135c2bc578c72b36f9be 100755 (executable)
@@ -9,9 +9,9 @@ package org.opendaylight.netvirt.elan.utils;
 
 import static java.util.Collections.emptyList;
 import static java.util.Collections.emptyMap;
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
-import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 import com.google.common.primitives.Ints;
@@ -124,7 +124,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceBindings;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeIngress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceTypeFlowBased;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflowBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfoKey;
@@ -256,7 +255,7 @@ public class ElanUtils {
     private final IITMProvider iitmProvider;
     private final ElanGroupCache elanGroupCache;
 
-    public static final FutureCallback<CommitInfo> DEFAULT_CALLBACK = new FutureCallback<CommitInfo>() {
+    public static final FutureCallback<CommitInfo> DEFAULT_CALLBACK = new FutureCallback<>() {
         @Override
         public void onSuccess(CommitInfo result) {
             LOG.debug("Success in Datastore operation");
@@ -809,7 +808,7 @@ public class ElanUtils {
                 LOG.debug("RPC Call to Get egress actions for interface {} returned with Errors {}", ifName,
                         rpcResult.getErrors());
             } else {
-                listAction = new ArrayList<Action>(rpcResult.getResult().nonnullAction().values());
+                listAction = new ArrayList<>(rpcResult.getResult().nonnullAction().values());
             }
         } catch (Exception e) {
             LOG.warn("Exception when egress actions for interface {}", ifName, e);
@@ -873,9 +872,9 @@ public class ElanUtils {
     public List<DpnInterfaces> getElanDPNByName(String elanInstanceName) {
         InstanceIdentifier<ElanDpnInterfacesList> elanIdentifier = getElanDpnOperationDataPath(elanInstanceName);
         try {
-            return new ArrayList<DpnInterfaces>((SingleTransactionDataBroker.syncReadOptional(broker,
+            return new ArrayList<>(SingleTransactionDataBroker.syncReadOptional(broker,
                     LogicalDatastoreType.OPERATIONAL, elanIdentifier).map(ElanDpnInterfacesList::nonnullDpnInterfaces)
-                    .orElse(emptyMap())).values());
+                    .orElse(emptyMap()).values());
         } catch (ExecutionException | InterruptedException e) {
             LOG.error("getElanDPNByName: Exception while reading elanDpnInterfaceList DS for the elan "
                     + "instance {}", elanInstanceName, e);
@@ -908,7 +907,7 @@ public class ElanUtils {
     }
 
     public static String getKnownDynamicmacFlowRef(Uint32 elanTag, String macAddress) {
-        return new StringBuffer().append(elanTag).append(macAddress.toLowerCase(Locale.getDefault())).toString();
+        return new StringBuilder().append(elanTag).append(macAddress.toLowerCase(Locale.getDefault())).toString();
     }
 
     public static String getKnownDynamicmacFlowRef(short elanDmacTable, Uint64 dpId, String extDeviceNodeId,
@@ -1197,7 +1196,7 @@ public class ElanUtils {
                     .LEAVES_POSTFIX);
             EtreeLeafTagName etreeLeafTagName = new EtreeLeafTagNameBuilder()
                     .setEtreeLeafTag(new EtreeLeafTag(etreeLeafTag)).build();
-            elanTagNameBuilder.addAugmentation(EtreeLeafTagName.class, etreeLeafTagName);
+            elanTagNameBuilder.addAugmentation(etreeLeafTagName);
             addTheLeafTagAsElanTag(elanInstanceName, etreeLeafTag, operTx);
         }
         ElanTagName elanTagName = elanTagNameBuilder.build();
@@ -1217,7 +1216,7 @@ public class ElanUtils {
         if (isEtreeInstance(elanInstanceAdded)) {
             EtreeInstance etreeInstance = new EtreeInstanceBuilder().setEtreeLeafTagVal(new EtreeLeafTag(etreeLeafTag))
                     .build();
-            elanInstanceBuilder.addAugmentation(EtreeInstance.class, etreeInstance);
+            elanInstanceBuilder.addAugmentation(etreeInstance);
         }
         ElanInstance elanInstanceWithTag = elanInstanceBuilder.build();
         LOG.trace("Updated elan Operational DS for elan: {} with elanTag: {} and interfaces: {}", elanInstanceName,
@@ -1257,7 +1256,7 @@ public class ElanUtils {
                 .setInstruction(instructions);
         return new BoundServicesBuilder().withKey(new BoundServicesKey(servicePriority)).setServiceName(serviceName)
                 .setServicePriority(servicePriority).setServiceType(ServiceTypeFlowBased.class)
-                .addAugmentation(StypeOpenflow.class, augBuilder.build()).build();
+                .addAugmentation(augBuilder.build()).build();
     }
 
     public static InstanceIdentifier<BoundServices> buildServiceId(String interfaceName, short serviceIndex) {
@@ -1346,7 +1345,7 @@ public class ElanUtils {
      */
     public List<ExternalTunnel> getAllExternalTunnels(LogicalDatastoreType datastoreType) {
         InstanceIdentifier<ExternalTunnelList> iid = InstanceIdentifier.builder(ExternalTunnelList.class).build();
-        return new ArrayList<ExternalTunnel>(read(broker, datastoreType, iid).map(ExternalTunnelList
+        return new ArrayList<>(read(broker, datastoreType, iid).map(ExternalTunnelList
                 ::nonnullExternalTunnel).orElse(Collections.emptyMap()).values());
     }
 
@@ -1561,7 +1560,7 @@ public class ElanUtils {
     }
 
     public static List<PhysAddress> getPhysAddress(List<String> macAddress) {
-        Preconditions.checkNotNull(macAddress, "macAddress cannot be null");
+        requireNonNull(macAddress, "macAddress cannot be null");
         List<PhysAddress> physAddresses = new ArrayList<>();
         for (String mac : macAddress) {
             physAddresses.add(new PhysAddress(mac));
@@ -1571,7 +1570,7 @@ public class ElanUtils {
 
     public static List<StaticMacEntries> getStaticMacEntries(List<String> staticMacAddresses) {
         if (isEmpty(staticMacAddresses)) {
-            return Collections.EMPTY_LIST;
+            return emptyList();
         }
         StaticMacEntriesBuilder staticMacEntriesBuilder = new StaticMacEntriesBuilder();
         List<StaticMacEntries> staticMacEntries = new ArrayList<>();
@@ -1591,7 +1590,7 @@ public class ElanUtils {
 
     public static <T> List<T> diffOf(List<T> orig, List<T> updated) {
         if (isEmpty(orig)) {
-            return Collections.EMPTY_LIST;
+            return emptyList();
         }
         List<T> diff = Lists.newArrayList(orig);
         if (isNotEmpty(updated)) {
@@ -1632,7 +1631,7 @@ public class ElanUtils {
         if (macTable == null) {
             return emptyList();
         }
-        return new ArrayList<MacEntry>(macTable.nonnullMacEntry().values());
+        return new ArrayList<>(macTable.nonnullMacEntry().values());
     }
 
     public boolean isTunnelInLogicalGroup(String interfaceName) {
@@ -1730,8 +1729,8 @@ public class ElanUtils {
             LOG.debug("Buckets are not sent for group {}. Skipping merge operation", groupIdInfo);
             return;
         }
-        List<Bucket> newBuckets = new ArrayList<Bucket>(newGroup.getBuckets().nonnullBucket().values());
-        List<Bucket> existingBuckets = new ArrayList<Bucket>(existingGroup.nonnullBucket().values());
+        List<Bucket> newBuckets = new ArrayList<>(newGroup.getBuckets().nonnullBucket().values());
+        List<Bucket> existingBuckets = new ArrayList<>(existingGroup.nonnullBucket().values());
         LOG.debug("New Buckets {} and Existing Buckets {}", newBuckets, existingBuckets);
         List<Bucket> combinedBuckets = new ArrayList<>(existingBuckets);
 
@@ -1739,7 +1738,7 @@ public class ElanUtils {
         Map<String,Bucket> reg6ActionBucketMap = new HashMap<>();
         // Add all buckets in the new group to a map with node connector/reg6 value as key
         newBuckets.forEach(bucket -> {
-            List<Action> actionList = new ArrayList<Action>(bucket.getAction().values());
+            List<Action> actionList = new ArrayList<>(bucket.getAction().values());
             if (actionList != null && !actionList.isEmpty()) {
                 actionList.forEach(action -> {
                     if (action.getAction() instanceof OutputActionCase) {
@@ -1760,7 +1759,7 @@ public class ElanUtils {
         //First, remove buckets with same nc id/reg6 value as in hashmap from combinedBuckets
         //Next, add all the buckets in hashmap to combined buckets
         existingBuckets.forEach(existingBucket -> {
-            List<Action> actionList = new ArrayList<Action>(existingBucket.getAction().values());
+            List<Action> actionList = new ArrayList<>(existingBucket.getAction().values());
             if (actionList != null && !actionList.isEmpty()) {
                 actionList.forEach(action -> {
                     if (action.getAction() instanceof OutputActionCase) {
index 5c4f13a2a28cc9e48bd37ccc7e2539cf9e00c8e5..195e7e754d2af091d8a0290f3af8d59ac3e6c135 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.netvirt.elan.l2gw.nodehandlertest;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
-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;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalSwitchRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LocalMcastMacs;
@@ -53,7 +52,7 @@ public final class GlobalAugmentationHelper {
         hwvtepGlobalAugmentationBuilder.setLogicalSwitches(logicalSwitches);
         NodeBuilder nodeBuilder = new NodeBuilder();
         nodeBuilder.setNodeId(node.getNodeId());
-        nodeBuilder.addAugmentation(HwvtepGlobalAugmentation.class, hwvtepGlobalAugmentationBuilder.build());
+        nodeBuilder.addAugmentation(hwvtepGlobalAugmentationBuilder.build());
         return nodeBuilder.build();
     }
 
index f60672938174a244e8b07116e46cbe0a43b67dca..12f048a35728b52bc9d3b70596674da6883bf295 100644 (file)
@@ -17,11 +17,9 @@ import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 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.inet.types.rev130715.Ipv4Address;
 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.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalRef;
 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.PhysicalSwitchAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.PhysicalSwitchAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.TunnelIps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes.TunnelIpsBuilder;
@@ -56,7 +54,7 @@ public class NodeConnectedHandlerUtils {
 
         GlobalAugmentationHelper.addSwitches(augmentationBuilder, psPath);
 
-        nodeBuilder.addAugmentation(HwvtepGlobalAugmentation.class, augmentationBuilder.build());
+        nodeBuilder.addAugmentation(augmentationBuilder.build());
 
         tx.put(path, nodeBuilder.build());
     }
@@ -75,7 +73,7 @@ public class NodeConnectedHandlerUtils {
         physicalSwitchAugmentationBuilder.setTunnelIps(tunnelIps);
 
         NodeBuilder nodeBuilder = prepareOperationalNode(path);
-        nodeBuilder.addAugmentation(PhysicalSwitchAugmentation.class, physicalSwitchAugmentationBuilder.build());
+        nodeBuilder.addAugmentation(physicalSwitchAugmentationBuilder.build());
         PhysicalSwitchHelper.dId = parentPath;
         nodeBuilder.setTerminationPoint(PhysicalSwitchHelper
                 .addPhysicalSwitchTerminationPoints(path, portNameList));
index 36c006e27a06ca8908a2debd48ac1dafaa9c5cda..cce54b655cf50b42797e58dec90a206eb9810a78 100644 (file)
@@ -19,7 +19,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId;
 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.HwvtepNodeName;
-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;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LogicalSwitches;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LogicalSwitchesKey;
@@ -80,7 +79,7 @@ public final class PhysicalSwitchHelper {
         HwvtepPhysicalPortAugmentationBuilder tpAugmentationBuilder =
                 new HwvtepPhysicalPortAugmentationBuilder();
         buildTerminationPoint(tpAugmentationBuilder, portName, vlanBindingData);
-        tpBuilder.addAugmentation(HwvtepPhysicalPortAugmentation.class, tpAugmentationBuilder.build());
+        tpBuilder.addAugmentation(tpAugmentationBuilder.build());
         return tpBuilder.build();
     }
 
index bbb68ee012b1a5268e8199dcb68cbb6eaab58948..75b5cd80b6c0dba3de6d1a67c40838035f49789a 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.netvirt.elan.l2gw.nodehandlertest;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableBiMap;
 import com.google.common.collect.ImmutableList;
 import java.util.ArrayList;
@@ -23,7 +22,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 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.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.HwvtepPhysicalLocatorAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalLocatorRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LocalMcastMacs;
@@ -103,7 +101,7 @@ public final class TestBuilders {
             tpAugmentationBuilder.setPhysicalLocatorUuid(getUUid(ip));
             tpAugmentationBuilder.setEncapsulationType(createEncapsulationType("vxlan_over_ipv4"));
             tpAugmentationBuilder.setDstIp(IpAddressBuilder.getDefaultInstance(ip));
-            tpBuilder.addAugmentation(HwvtepPhysicalLocatorAugmentation.class, tpAugmentationBuilder.build());
+            tpBuilder.addAugmentation(tpAugmentationBuilder.build());
         }
         return tpBuilder.build();
     }
@@ -205,17 +203,14 @@ public final class TestBuilders {
     }
 
     public static Class<? extends EncapsulationTypeBase> createEncapsulationType(String type) {
-        Preconditions.checkNotNull(type);
         if (type.isEmpty()) {
             return EncapsulationTypeVxlanOverIpv4.class;
-        } else {
-            ImmutableBiMap<Class<? extends EncapsulationTypeBase>, String> encapsTypeMap
-                    = new ImmutableBiMap.Builder<Class<? extends EncapsulationTypeBase>, String>()
-                    .put(EncapsulationTypeVxlanOverIpv4.class, "vxlan_over_ipv4")
-                    .build();
-            ImmutableBiMap<String, Class<? extends EncapsulationTypeBase>> mapper =
-                    encapsTypeMap.inverse();
-            return mapper.get(type);
         }
+
+        ImmutableBiMap<Class<? extends EncapsulationTypeBase>, String> encapsTypeMap =
+            ImmutableBiMap.of(EncapsulationTypeVxlanOverIpv4.class, "vxlan_over_ipv4");
+        ImmutableBiMap<String, Class<? extends EncapsulationTypeBase>> mapper =
+            encapsTypeMap.inverse();
+        return mapper.get(type);
     }
 }
index bbfed93733d9ba5c9fd800ad5e9370836c1837a3..27f30470400dc618ffa6e2817714f52facaa57be 100644 (file)
@@ -41,11 +41,11 @@ public final class DpnNodeBuilders {
         buildGroupInstanceIdentifier(long groupId,
                                      org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node
                                              nodeDpn) {
-        InstanceIdentifier groupInstanceId =
-                InstanceIdentifier.builder(Nodes.class)
-                        .child(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node.class,
-                                nodeDpn.key()).augmentation(FlowCapableNode.class).child(Group.class,
-                        new GroupKey(new GroupId(Long.valueOf(groupId)))).build();
+        InstanceIdentifier groupInstanceId = InstanceIdentifier.builder(Nodes.class)
+            .child(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node.class, nodeDpn.key())
+            .augmentation(FlowCapableNode.class).child(Group.class,
+                    new GroupKey(new GroupId(Long.valueOf(groupId))))
+            .build();
         return groupInstanceId;
     }
 }
index 01c423f0f14f5a8dde6c23e605f4bd90f1bbdc0b..93c998232a153d64aedbc63231b85bd87d5335bc 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.netvirt.elanmanager.tests;
 
-import com.google.common.collect.Lists;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
@@ -74,6 +73,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint64;
 
@@ -288,8 +288,8 @@ public class ElanServiceTestBase {
         InstructionsBuilder builder = new InstructionsBuilder();
         InstructionBuilder instructionBuilder = new InstructionBuilder(
                 new ArrayList<Instruction>(instructions.nonnullInstruction().values()).get(0));
-        instructionBuilder.setInstruction(sortActions(instructionBuilder.getInstruction()));
-        builder.setInstruction(Lists.newArrayList(instructionBuilder.build()));
+        instructionBuilder.setInstruction(sortActions(instructionBuilder.getInstruction())).setOrder(0);
+        builder.setInstruction(BindingMap.of(instructionBuilder.build()));
         return flowBuilder.setInstructions(builder.build()).build();
     }
 
index e4278fc99a855abc06fbca4e6a9959b1cc51f4c5..0bfe994774236dc71a79b0ce395465710f224b15 100644 (file)
@@ -18,7 +18,6 @@ import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev1509
 import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.EncapType
 import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.networkscontainer.Networks
 import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.networkscontainer.NetworksBuilder
-import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.networkscontainer.NetworksKey
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev170119.L2vlan
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder
@@ -36,10 +35,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.apply.actions._case.ApplyActionsBuilder
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.go.to.table._case.GoToTableBuilder
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfL2vlan
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfL2vlan.L2vlanMode
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfL2vlanBuilder
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefs
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefsBuilder
 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetDestinationBuilder
@@ -78,9 +75,9 @@ class ExpectedObjects {
             description = interfaceName
             name = interfaceName
             type = L2vlan
-            addAugmentation(ParentRefs, new ParentRefsBuilder >> [
+            addAugmentation(new ParentRefsBuilder >> [
                 parentInterface = parentName
-            ])addAugmentation(IfL2vlan, new IfL2vlanBuilder >> [
+            ])addAugmentation(new IfL2vlanBuilder >> [
                 l2vlanMode = L2vlanMode.Trunk
                 vlanId = new VlanId(0)
             ])
@@ -299,10 +296,10 @@ class ExpectedObjects {
        new NetworksBuilder >> [
            bgpControlPlaneType = BgpControlPlaneType.PROTOCOLEVPN
            encapType = EncapType.VXLAN
-           ethtag = Uint32.valueOf(0L)
+           ethtag = Uint32.ZERO
            l2vni = vni
-           l3vni = Uint32.valueOf(0L)
-           label = Uint32.valueOf(0L)
+           l3vni = Uint32.ZERO
+           label = Uint32.ZERO
            macaddress = mac
            nexthop = new Ipv4Address(tepip)
            prefixLen = prefix
index e39db9ad72bf7d86148373be27305e5e7e225eef..da21ae41846887d54f9926d57fdf1b5c57600b3f 100644 (file)
@@ -39,7 +39,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalRef;
 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.PhysicalSwitchAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.PhysicalSwitchAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LocalUcastMacs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LocalUcastMacsBuilder;
@@ -159,7 +158,7 @@ public class L2gwBuilders {
         IpAddress ip = IpAddressBuilder.getDefaultInstance(tepIp);
         tunnelIps.add(new TunnelIpsBuilder().withKey(new TunnelIpsKey(ip)).setTunnelIpsKey(ip).build());
         physicalSwitchAugmentationBuilder.setTunnelIps(tunnelIps);
-        nodeBuilder.addAugmentation(PhysicalSwitchAugmentation.class, physicalSwitchAugmentationBuilder.build());
+        nodeBuilder.addAugmentation(physicalSwitchAugmentationBuilder.build());
         singleTransactionDataBroker.syncWrite(LogicalDatastoreType.OPERATIONAL, psNodePath, nodeBuilder.build());
 
         nodeBuilder = new NodeBuilder();
@@ -168,7 +167,7 @@ public class L2gwBuilders {
         builder.setDbVersion("1.6.0");
         builder.setManagers(TestBuilders.buildManagers1());
         GlobalAugmentationHelper.addSwitches(builder, psNodePath);
-        nodeBuilder.addAugmentation(HwvtepGlobalAugmentation.class, builder.build());
+        nodeBuilder.addAugmentation(builder.build());
         singleTransactionDataBroker.syncWrite(LogicalDatastoreType.OPERATIONAL, nodePath, nodeBuilder.build());
     }
 
@@ -188,7 +187,7 @@ public class L2gwBuilders {
         localUcastMacses.add(localUcastMacs);
         HwvtepGlobalAugmentationBuilder builder1 =
                 new HwvtepGlobalAugmentationBuilder().setLocalUcastMacs(localUcastMacses) ;
-        nodeBuilder.addAugmentation(HwvtepGlobalAugmentation.class, builder1.build());
+        nodeBuilder.addAugmentation(builder1.build());
         singleTransactionDataBroker.syncUpdate(LogicalDatastoreType.OPERATIONAL, nodeId, nodeBuilder.build());
         return localUcastMacs;
     }
index 20906bbfc1078930d719b46dd5ace372a1484686..3281be7b9afd4a33f0c8ddf1ed3e2388a0ee6d12 100644 (file)
@@ -31,7 +31,6 @@ import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev1509
 import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.NetworksContainer;
 import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.networkscontainer.Networks;
 import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.networkscontainer.NetworksKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.EvpnAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.EvpnAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstance;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstanceBuilder;
@@ -57,7 +56,7 @@ import org.slf4j.LoggerFactory;
 @Singleton
 public class EvpnTestHelper  {
     private static final Logger LOG = LoggerFactory.getLogger(EvpnTestHelper.class);
-    private SingleTransactionDataBroker singleTxdataBroker;
+    private final SingleTransactionDataBroker singleTxdataBroker;
 
     @Inject
     public EvpnTestHelper(SingleTransactionDataBroker singleTxdataBroker) {
@@ -82,25 +81,25 @@ public class EvpnTestHelper  {
     public void updateEvpnNameInElan(String elanInstanceName, String evpnName)
             throws ReadFailedException, TransactionCommitFailedException {
         InstanceIdentifier<ElanInstance> elanIid = ElanHelper.getElanInstanceConfigurationDataPath(elanInstanceName);
-        ElanInstance  elanInstance = singleTxdataBroker.syncRead(LogicalDatastoreType.CONFIGURATION, elanIid);
+        ElanInstance elanInstance = singleTxdataBroker.syncRead(LogicalDatastoreType.CONFIGURATION, elanIid);
         EvpnAugmentationBuilder evpnAugmentationBuilder = new EvpnAugmentationBuilder();
         ElanInstanceBuilder elanInstanceBuilder = new ElanInstanceBuilder(elanInstance);
         evpnAugmentationBuilder.setEvpnName(evpnName);
         LOG.debug("Writing Elan-EvpnAugmentation evpnName {} with key {}", evpnName, elanInstanceName);
-        elanInstanceBuilder.addAugmentation(EvpnAugmentation.class, evpnAugmentationBuilder.build());
+        elanInstanceBuilder.addAugmentation(evpnAugmentationBuilder.build());
         singleTxdataBroker.syncWrite(LogicalDatastoreType.CONFIGURATION, elanIid, elanInstanceBuilder.build());
     }
 
     public void deleteEvpnNameInElan(String elanInstanceName)
             throws ReadFailedException, TransactionCommitFailedException {
         InstanceIdentifier<ElanInstance> elanIid = ElanHelper.getElanInstanceConfigurationDataPath(elanInstanceName);
-        ElanInstance  elanInstance = singleTxdataBroker.syncRead(LogicalDatastoreType.CONFIGURATION, elanIid);
+        ElanInstance elanInstance = singleTxdataBroker.syncRead(LogicalDatastoreType.CONFIGURATION, elanIid);
 
         EvpnAugmentationBuilder evpnAugmentationBuilder = new EvpnAugmentationBuilder();
         ElanInstanceBuilder elanInstanceBuilder = new ElanInstanceBuilder(elanInstance);
         evpnAugmentationBuilder.setEvpnName(null);
         LOG.debug("deleting evpn name from Elan-EvpnAugmentation {} ",  elanInstanceName);
-        elanInstanceBuilder.addAugmentation(EvpnAugmentation.class, evpnAugmentationBuilder.build());
+        elanInstanceBuilder.addAugmentation(evpnAugmentationBuilder.build());
         singleTxdataBroker.syncWrite(LogicalDatastoreType.CONFIGURATION, elanIid, elanInstanceBuilder.build());
     }
 
@@ -143,9 +142,7 @@ public class EvpnTestHelper  {
         builder.setL2vni(l2vni);
         List<RoutePaths> routePaths = nextHopList.stream()
                 .filter(StringUtils::isNotEmpty)
-                .map(nextHop -> {
-                    return FibHelper.buildRoutePath(nextHop, null);
-                }).collect(Collectors.toList());
+                .map(nextHop -> FibHelper.buildRoutePath(nextHop, null)).collect(Collectors.toList());
         builder.setRoutePaths(routePaths);
     }
 
index d455e0419e53ad6f1f4e433784198f688d37e8c8..86b52e36546ec6079ba10a3c92f2b5f8f66a69bd 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 95897c73ddd101f03c0910da38e8a600a8a69c5f..62956822d885bcea22aee9761217714440281938 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index dd97be411399b4561d6bbf7bae6c211a5f93779b..29fc39bb0eb6c55cd55d189612096bbdf76b2d8b 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
             <dependency>
                 <groupId>org.opendaylight.infrautils</groupId>
                 <artifactId>infrautils-artifacts</artifactId>
-                <version>1.8.1</version>
+                <version>1.9.5</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.controller</groupId>
                 <artifactId>controller-artifacts</artifactId>
-                <version>2.0.4</version>
+                <version>3.0.6</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>6.0.5</version>
+                <version>7.0.5</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
index 06b342219584c97131bf81bf8fff354b57ab90a4..b85283d0aa6d35717ae2f615b58c766fd1e82cc2 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
             <dependency>
                 <groupId>org.opendaylight.infrautils</groupId>
                 <artifactId>infrautils-artifacts</artifactId>
-                <version>1.8.1</version>
+                <version>1.9.5</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.controller</groupId>
                 <artifactId>controller-artifacts</artifactId>
-                <version>2.0.4</version>
+                <version>3.0.6</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
index b334a602cd5515f59e492c99370c252618c0fb97..39a167c7bba1993b669e112a34b2e28fa18c9326 100644 (file)
@@ -8,7 +8,7 @@
 -->
 <features name="odl-netvirt-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">
     <feature name="odl-netvirt-impl" version="${project.version}">
-        <feature version="[2,3)">odl-mdsal-broker</feature>
+        <feature version="[3,4)">odl-mdsal-broker</feature>
         <bundle>wrap:mvn:org.apache.thrift/libthrift/0.9.3$overwrite=merge&amp;Bundle-Version=0.9.3&amp;Export-Package=*;-noimport:=true;version="0.9.3"</bundle>
         <configfile finalname="etc/opendaylight/datastore/initial/config/netvirt-aclservice-config.xml">
             mvn:org.opendaylight.netvirt/aclservice-impl/${project.version}/xml/config
index 008a4af0fc7bd6cf3ca92ae2dd9e12d1b1e2501c..ce830d366272d110add530ed278179c67fde6d8a 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>odl-restconf</artifactId>
-            <version>1.13.0-SNAPSHOT</version>
+            <version>1.13.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 2353b53b551aa83113e89b19d988b1429e92b882..6672a97e5a5c62efae293fcc0fd01c4e13df0c26 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index e8878651de714121640fbfc91277e7362223b693..4b381d3f6c34f2aff9976b607f38d673fe2a97bd 100644 (file)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.netvirt.fibmanager;
 
+import static com.google.common.base.Preconditions.checkNotNull;
 import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
-import com.google.common.base.Preconditions;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -54,9 +54,9 @@ import org.opendaylight.yangtools.yang.common.Uint64;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
 public class EvpnVrfEntryHandler extends BaseVrfEntryHandler {
     private static final Logger LOG = LoggerFactory.getLogger(EvpnVrfEntryHandler.class);
+
     private final ManagedNewTransactionRunner txRunner;
     private final VrfEntryListener vrfEntryListener;
     private final BgpRouteVrfEntryHandler bgpRouteVrfEntryHandler;
@@ -81,9 +81,8 @@ public class EvpnVrfEntryHandler extends BaseVrfEntryHandler {
         final VpnInstanceOpDataEntry vpnInstance = getFibUtil().getVpnInstanceOpData(
                 vrfTableKey.getRouteDistinguisher()).get();
         Uint32 vpnId = vpnInstance.getVpnId();
-        Preconditions.checkNotNull(vpnInstance, "Vpn Instance not available " + vrfTableKey.getRouteDistinguisher());
-        Preconditions.checkNotNull(vpnId, "Vpn Instance with rd " + vpnInstance.getVrfId()
-                + " has null vpnId!");
+        checkNotNull(vpnInstance, "Vpn Instance not available %s", vrfTableKey.getRouteDistinguisher());
+        checkNotNull(vpnId, "Vpn Instance with rd %s has null vpnId!", vpnInstance.getVrfId());
         if (RouteOrigin.value(vrfEntry.getOrigin()) == RouteOrigin.CONNECTED) {
             SubnetRoute subnetRoute = vrfEntry.augmentation(SubnetRoute.class);
             final Map<VpnToDpnListKey, VpnToDpnList> keyVpnToDpnListMap = vpnInstance.nonnullVpnToDpnList();
index eafc7a110ff5b0fbc522793b222d2cd6260fe080..074f23062772af9fef1cc131cd3469f16c56858e 100644 (file)
@@ -5,13 +5,12 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.netvirt.fibmanager;
 
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toList;
 
-import com.google.common.base.Preconditions;
 import com.google.common.net.InetAddresses;
 import java.net.InetAddress;
 import java.util.ArrayList;
@@ -146,10 +145,11 @@ public class FibUtil {
                                       String vpnName, String ipAddress) {
         LOG.debug("getAdjacencyIdentifierOp vpninterface {} vpn {} ip {}", vpnInterfaceName, vpnName, ipAddress);
         return getAdjListPathOp(vpnInterfaceName, vpnName).builder()
-                          .child(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204
-                                          .adjacency.list.Adjacency.class,
-                          new org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204
-                                  .adjacency.list.AdjacencyKey(ipAddress)).build();
+            .child(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.adjacency
+                    .list.Adjacency.class,
+                    new org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.adjacency
+                    .list.AdjacencyKey(ipAddress))
+            .build();
     }
 
     static InstanceIdentifier<AdjacenciesOp> getAdjListPathOp(String vpnInterfaceName, String vpnName) {
@@ -322,7 +322,7 @@ public class FibUtil {
             return;
         }
 
-        Preconditions.checkNotNull(nextHopList, "NextHopList can't be null");
+        requireNonNull(nextHopList, "NextHopList can't be null");
 
         try {
             InstanceIdentifier<VrfEntry> vrfEntryId =
@@ -374,7 +374,7 @@ public class FibUtil {
             // Filling the nextHop with dummy nextHopAddress
             VrfEntry vrfEntry = FibHelper.getVrfEntryBuilder(prefix, label,
                     FibConstants.DEFAULT_NEXTHOP_IP, RouteOrigin.LOCAL, null /* parentVpnRd */)
-                .addAugmentation(RouterInterface.class, routerInterface).build();
+                .addAugmentation(routerInterface).build();
 
             if (writeConfigTxn != null) {
                 writeConfigTxn.mergeParentStructureMerge(vrfEntryId, vrfEntry);
@@ -422,7 +422,7 @@ public class FibUtil {
 
             InstanceIdentifier.InstanceIdentifierBuilder<VrfEntry> idBuilder =
                     InstanceIdentifier.builder(FibEntries.class)
-                            .child(VrfTables.class, new VrfTablesKey(rd)).child(VrfEntry.class,
+                        .child(VrfTables.class, new VrfTablesKey(rd)).child(VrfEntry.class,
                             new VrfEntryKey(prefix));
             InstanceIdentifier<VrfEntry> vrfEntryId = idBuilder.build();
             if (writeConfigTxn != null) {
@@ -469,7 +469,7 @@ public class FibUtil {
                     prefix, rd, nextHopToRemove, e);
         }
         if (entry.isPresent()) {
-            final List<RoutePaths> routePaths = new ArrayList<RoutePaths>(entry.get().nonnullRoutePaths().values());
+            final List<RoutePaths> routePaths = new ArrayList<>(entry.get().nonnullRoutePaths().values());
             if (routePaths == null || routePaths.isEmpty()) {
                 LOG.warn("routePaths is null/empty for given rd {}, prefix {}", rd, prefix);
                 return;
@@ -593,27 +593,27 @@ public class FibUtil {
     }
 
     public static java.util.Optional<Uint32> getLabelFromRoutePaths(final VrfEntry vrfEntry) {
-        List<RoutePaths> routePaths = new ArrayList<RoutePaths>(vrfEntry.nonnullRoutePaths().values());
+        List<RoutePaths> routePaths = new ArrayList<>(vrfEntry.nonnullRoutePaths().values());
         if (routePaths == null || routePaths.isEmpty()
-                || new ArrayList<RoutePaths>(vrfEntry.nonnullRoutePaths().values()).get(0).getLabel() == null) {
+                || new ArrayList<>(vrfEntry.nonnullRoutePaths().values()).get(0).getLabel() == null) {
             return java.util.Optional.empty();
         }
-        return java.util.Optional.of(new ArrayList<RoutePaths>(vrfEntry
+        return java.util.Optional.of(new ArrayList<>(vrfEntry
                 .nonnullRoutePaths().values()).get(0).getLabel());
 
     }
 
     public static java.util.Optional<String> getFirstNextHopAddress(final VrfEntry vrfEntry) {
-        List<RoutePaths> routePaths = new ArrayList<RoutePaths>(vrfEntry.nonnullRoutePaths().values());
+        List<RoutePaths> routePaths = new ArrayList<>(vrfEntry.nonnullRoutePaths().values());
         if (routePaths == null || routePaths.isEmpty()) {
             return java.util.Optional.empty();
         }
-        return java.util.Optional.of(new ArrayList<RoutePaths>(vrfEntry.nonnullRoutePaths().values())
+        return java.util.Optional.of(new ArrayList<>(vrfEntry.nonnullRoutePaths().values())
                 .get(0).getNexthopAddress());
     }
 
     public static java.util.Optional<Uint32> getLabelForNextHop(final VrfEntry vrfEntry, String nextHopIp) {
-        List<RoutePaths> routePaths = new ArrayList<RoutePaths>(vrfEntry.nonnullRoutePaths().values());
+        List<RoutePaths> routePaths = new ArrayList<>(vrfEntry.nonnullRoutePaths().values());
         if (routePaths == null || routePaths.isEmpty()) {
             return java.util.Optional.empty();
         }
@@ -772,7 +772,7 @@ public class FibUtil {
     }
 
     public static String getGreLbGroupKey(List<String> availableDcGws) {
-        Preconditions.checkNotNull(availableDcGws, "AvailableDcGws is null");
+        requireNonNull(availableDcGws, "AvailableDcGws is null");
         return "gre-" + availableDcGws.stream().sorted().collect(joining(":"));
     }
 
@@ -987,7 +987,7 @@ public class FibUtil {
         try {
             VpnToDpnList vpnToDpnList = SingleTransactionDataBroker.syncRead(dataBroker,
                     LogicalDatastoreType.OPERATIONAL, vpnToDpnListId);
-            if (!(vpnToDpnList == null) && !(vpnToDpnList.getVpnInterfaces() == null)
+            if ((vpnToDpnList != null) && (vpnToDpnList.getVpnInterfaces() != null)
                     && !vpnToDpnList.getVpnInterfaces().isEmpty()) {
                 return true;
             }
index 6cc279fb16eb6b6dad848b64c818b43f67b33c24..3e7270160cd3d572ba0472e473ee6f7843b6874a 100644 (file)
@@ -7,12 +7,12 @@
  */
 package org.opendaylight.netvirt.fibmanager;
 
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toList;
 import static org.opendaylight.genius.mdsalutil.NWUtil.isIpv4Address;
 import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 
-import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -1095,7 +1095,7 @@ public class NexthopManager implements AutoCloseable {
                 }
                 futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, configTx -> {
                     List<String> availableDcGws = getDcGwIps();
-                    Preconditions.checkNotNull(availableDcGws, "There are no dc-gws present");
+                    requireNonNull(availableDcGws, "There are no dc-gws present");
                     int noOfDcGws = availableDcGws.size();
                     if (noOfDcGws == 1) {
                         LOG.trace("There are no enough DC GateWays {} present to program LB group", availableDcGws);
index 94a88682ffb9c3b3682cb3ebf5ed8a9ab4376c8f..51805a3102a805eb8694771f7d8fbbbe327a413b 100644 (file)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.netvirt.fibmanager;
 
+import static com.google.common.base.Preconditions.checkNotNull;
 import static org.opendaylight.genius.mdsalutil.NWUtil.isIpv4Address;
 
-import com.google.common.base.Preconditions;
 import java.util.Map;
 import java.util.concurrent.locks.ReentrantLock;
 import javax.inject.Inject;
@@ -36,8 +36,8 @@ import org.slf4j.LoggerFactory;
 
 @Singleton
 public class RouterInterfaceVrfEntryHandler extends BaseVrfEntryHandler {
-
     private static final Logger LOG = LoggerFactory.getLogger(RouterInterfaceVrfEntryHandler.class);
+
     private final IMdsalApiManager mdsalManager;
     private final IPv6Handler ipv6Handler;
 
@@ -68,9 +68,8 @@ public class RouterInterfaceVrfEntryHandler extends BaseVrfEntryHandler {
     private boolean installRouterFibEntries(VrfEntry vrfEntry, String rd, int addOrRemove,
             RouterInterface routerInterface) {
         final VpnInstanceOpDataEntry vpnInstance = getFibUtil().getVpnInstance(rd);
-        Preconditions.checkNotNull(vpnInstance, "Vpn Instance not available " + rd);
-        Preconditions.checkNotNull(vpnInstance.getVpnId(),
-                "Vpn Instance with rd " + vpnInstance.getVrfId() + " has null vpnId!");
+        checkNotNull(vpnInstance, "Vpn Instance not available %s", rd);
+        checkNotNull(vpnInstance.getVpnId(), "Vpn Instance with rd %s has null vpnId!", vpnInstance.getVrfId());
 
         // FIXME: separate this out somehow?
         final ReentrantLock lock = JvmGlobalLocks.getLockForString(vpnInstance.getVpnInstanceName());
index 15c369e40b302e17cee527e10d1724ad44654166..8753849dc06a07a8bc97813a37a3cde3333195c0 100644 (file)
@@ -7,11 +7,12 @@
  */
 package org.opendaylight.netvirt.fibmanager;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.genius.mdsalutil.NWUtil.isIpv4Address;
 import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
@@ -198,7 +199,7 @@ public class VrfEntryListener extends AbstractAsyncDataTreeChangeListener<VrfEnt
 
     @Override
     public void add(final InstanceIdentifier<VrfEntry> identifier, final VrfEntry vrfEntry) {
-        Preconditions.checkNotNull(vrfEntry, "VrfEntry should not be null or empty.");
+        requireNonNull(vrfEntry, "VrfEntry should not be null or empty.");
         String rd = identifier.firstKeyOf(VrfTables.class).getRouteDistinguisher();
         LOG.debug("ADD: Adding Fib Entry rd {} prefix {} route-paths {}",
                 rd, vrfEntry.getDestPrefix(), vrfEntry.getRoutePaths());
@@ -236,7 +237,7 @@ public class VrfEntryListener extends AbstractAsyncDataTreeChangeListener<VrfEnt
 
     @Override
     public void remove(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry) {
-        Preconditions.checkNotNull(vrfEntry, "VrfEntry should not be null or empty.");
+        requireNonNull(vrfEntry, "VrfEntry should not be null or empty.");
         String rd = identifier.firstKeyOf(VrfTables.class).getRouteDistinguisher();
         LOG.debug("REMOVE: Removing Fib Entry rd {} prefix {} route-paths {}",
                 rd, vrfEntry.getDestPrefix(), vrfEntry.getRoutePaths());
@@ -277,7 +278,7 @@ public class VrfEntryListener extends AbstractAsyncDataTreeChangeListener<VrfEnt
     // originalRoutePath is a little dicey - safest to keep the checking even if not needed.
     @SuppressFBWarnings("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")
     public void update(InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update) {
-        Preconditions.checkNotNull(update, "VrfEntry should not be null or empty.");
+        requireNonNull(update, "VrfEntry should not be null or empty.");
         final String rd = identifier.firstKeyOf(VrfTables.class).getRouteDistinguisher();
         LOG.debug("UPDATE: Updating Fib Entries to rd {} prefix {} route-paths {} origin {} old-origin {}", rd,
                 update.getDestPrefix(), update.getRoutePaths(), update.getOrigin(), original.getOrigin());
@@ -383,9 +384,8 @@ public class VrfEntryListener extends AbstractAsyncDataTreeChangeListener<VrfEnt
         List<SubTransaction> txnObjects =  new ArrayList<>();
         final VpnInstanceOpDataEntry vpnInstance =
                 fibUtil.getVpnInstance(vrfTableKey.getRouteDistinguisher());
-        Preconditions.checkNotNull(vpnInstance, "Vpn Instance not available " + vrfTableKey.getRouteDistinguisher());
-        Preconditions.checkNotNull(vpnInstance.getVpnId(), "Vpn Instance with rd " + vpnInstance.getVrfId()
-                + " has null vpnId!");
+        checkNotNull(vpnInstance, "Vpn Instance not available %s", vrfTableKey.getRouteDistinguisher());
+        checkNotNull(vpnInstance.getVpnId(), "Vpn Instance with rd %s has null vpnId!", vpnInstance.getVrfId());
         final Map<VpnToDpnListKey, VpnToDpnList> keyVpnToDpnListMap;
         if (vrfEntry.getParentVpnRd() != null
                 && FibHelper.isControllerManagedNonSelfImportedRoute(RouteOrigin.value(vrfEntry.getOrigin()))) {
index a22f9730edbdd760bc301d08f818f265bc10c303..50a88299124222e572bc22e45e6744d3379b3a04 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 8fde98fac95dc748b96a1bd46a1a36c363918a00..9fa2f6fc3f693eee033d2d475b89bac00854df87 100644 (file)
@@ -44,7 +44,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev16
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.NeighborSolicitationPacketBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.RouterSolicitationPacket;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.RouterSolicitationPacketBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.util.rev170210.PacketMetadata;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.util.rev170210.PacketMetadataBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
@@ -55,6 +54,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.Tr
 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInputBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.Uint64;
+import org.opendaylight.yangtools.yang.common.Uint8;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -431,13 +431,13 @@ public class Ipv6PktHandler implements AutoCloseable, PacketProcessingListener {
                 return;
             }
 
-            short tableId = packet.getTableId().getValue().toJava();
+            Uint8 tableId = packet.getTableId().getValue();
             Uint64 metadata = packet.getMatch().getMetadata().getMetadata();
             long portTag = MetaDataUtil.getLportFromMetadata(metadata).intValue();
             String interfaceName = ifMgr.getInterfaceNameFromTag(portTag);
 
             NeighborAdvertisePacket naPacket = new NeighborAdvertisePacketBuilder(naPdu)
-                    .addAugmentation(PacketMetadata.class, new PacketMetadataBuilder().setOfTableId((long) tableId)
+                    .addAugmentation(new PacketMetadataBuilder().setOfTableId(tableId.toUint32())
                             .setMetadata(metadata).setInterface(interfaceName).build())
                     .build();
             fireNaNotification(naPacket);
index 5097888a3c6588c297a498f5c5a25816738df93c..80e200fd741149d6befe6954da564b98358c87e7 100644 (file)
@@ -78,7 +78,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceBindings;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeIngress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceTypeFlowBased;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflowBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfoKey;
@@ -409,7 +408,7 @@ public class Ipv6ServiceUtils {
         return new BoundServicesBuilder().withKey(new BoundServicesKey(servicePriority))
                 .setServiceName(serviceName).setServicePriority(servicePriority)
                 .setServiceType(ServiceTypeFlowBased.class)
-                .addAugmentation(StypeOpenflow.class, augBuilder.build()).build();
+                .addAugmentation(augBuilder.build()).build();
     }
 
     private InstanceIdentifier<BoundServices> buildServiceId(String interfaceName,
@@ -482,7 +481,7 @@ public class Ipv6ServiceUtils {
 
     public ActionInfo getLearnActionForNsDrop(Long hardTimeoutinMs) {
         int hardTimeout = (int)(hardTimeoutinMs / 1000);
-        hardTimeout = (hardTimeout > 0) ? hardTimeout : 30;
+        hardTimeout = hardTimeout > 0 ? hardTimeout : 30;
         List<ActionLearn.FlowMod> flowMods = Arrays.asList(
                 new ActionLearn.MatchFromValue(NwConstants.ETHTYPE_IPV6,
                         NwConstants.NxmOfFieldType.NXM_OF_ETH_TYPE.getType(),
index ba8777d1849386376ffbf450a88f6cf7f4466e43..165ce2c976eb1611b47912eb90e8be0b64a55847 100644 (file)
@@ -8,8 +8,8 @@
 
 package org.opendaylight.netvirt.ipv6service;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyLong;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -38,7 +38,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.NeighborAdvertisePacket;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.NeighborAdvertisePacketBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.util.rev170210.PacketMetadata;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.util.rev170210.PacketMetadataBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
@@ -573,7 +572,7 @@ public class Ipv6PktHandlerTest {
         NeighborAdvertisePacket naPdu = new Ipv6NaDecoder(data).decode();
         NeighborAdvertisePacket naPacket =
                 new NeighborAdvertisePacketBuilder(naPdu)
-                        .addAugmentation(PacketMetadata.class, new PacketMetadataBuilder().setOfTableId((long) 45)
+                        .addAugmentation(new PacketMetadataBuilder().setOfTableId((long) 45)
                                 .setMetadata(mdata).setInterface("ddec9dba-d831-4ad7-84b9-00d7f65f052f").build())
                         .build();
         verify(ipv6PktListener).onNaReceived(naPacket);
index c053ca0c95d14bd03ce8360525a649f4f7fba695..e2586693efe1acd27ae3af525426a719b7e56937 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index a88bd824bfc6e4a3262f9b32810a2c86b1e90e51..524697aa0eb28a4c2f33e20b5583b08833130367 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>karaf4-parent</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
@@ -59,7 +59,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
              -->
             <groupId>org.opendaylight.mdsal</groupId>
             <artifactId>odl-mdsal-trace</artifactId>
-            <version>6.0.5</version>
+            <version>7.0.5</version>
             <classifier>features</classifier>
             <type>xml</type>
             <scope>runtime</scope>
@@ -69,7 +69,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
             <!-- This ensures we have odl-jolokia in the distribution -->
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>odl-jolokia</artifactId>
-            <version>2.0.4</version>
+            <version>3.0.6</version>
             <type>xml</type>
             <classifier>features</classifier>
             <scope>runtime</scope>
@@ -79,7 +79,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
             <!-- This ensures aaa-cli is available for the copy below -->
             <groupId>org.opendaylight.aaa</groupId>
             <artifactId>aaa-cli-jar</artifactId>
-            <version>0.13.0-SNAPSHOT</version>
+            <version>0.13.1</version>
             <!-- Use scope test (and not more!) just so we have the dependency for the maven-dependency-plugin below -->
             <scope>test</scope>
         </dependency>
@@ -102,7 +102,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
                                 <artifactItem>
                                     <groupId>org.opendaylight.aaa</groupId>
                                     <artifactId>aaa-cli-jar</artifactId>
-                                    <version>0.13.0-SNAPSHOT</version>
+                                    <version>0.13.1</version>
                                 </artifactItem>
                             </artifactItems>
                             <outputDirectory>${project.build.directory}/assembly/bin</outputDirectory>
index fd19035a80ad464a233fa3b46c132a73d8a71db4..04eaab9b2441fdc915f2fb4aeead3eb749b6bd21 100644 (file)
@@ -243,7 +243,7 @@ public class EvpnDnatFlowProgrammer {
 
                     Map<AdjacencyKey, Adjacency> keyAdjacencyMap =
                         adjs != null && adjs.getAdjacency() != null ? adjs.nonnullAdjacency()
-                                : new HashMap<AdjacencyKey, Adjacency>();
+                                : new HashMap<>();
                     List<Adjacency> adjacencyListToImport = new ArrayList<>();
                     for (Adjacency adj : keyAdjacencyMap.values()) {
                         Subnetmap sn = VpnHelper.getSubnetmapFromItsUuid(dataBroker, adj.getSubnetId());
@@ -254,7 +254,7 @@ public class EvpnDnatFlowProgrammer {
                     }
                     AdjacenciesOp adjacenciesOp = new AdjacenciesOpBuilder()
                             .setAdjacency(adjacencyListToImport).build();
-                    vpnIfOpDataEntryBuilder.addAugmentation(AdjacenciesOp.class, adjacenciesOp);
+                    vpnIfOpDataEntryBuilder.addAugmentation(adjacenciesOp);
 
                     LOG.debug("onAddFloatingIp : Add vpnInterface {} to Operational l3vpn:vpn-interfaces-op-data ",
                             floatingIpInterface);
@@ -381,7 +381,7 @@ public class EvpnDnatFlowProgrammer {
                 dpnId, l3Vni);
         List<MatchInfo> mkMatches = new ArrayList<>();
         mkMatches.add(new MatchTunnelId(Uint64.valueOf(l3Vni)));
-        Map<InstructionKey, Instruction> customInstructionsMap = new HashMap<InstructionKey, Instruction>();
+        Map<InstructionKey, Instruction> customInstructionsMap = new HashMap<>();
         int instructionKey = 0;
         for (Instruction instructionObj : customInstructions) {
             customInstructionsMap.put(new InstructionKey(++instructionKey), instructionObj);
index 23cf203eacfcb5b0610a70124ca0794efb9c29dc..893c418cb76fc658d38345a169fd6b288ede918f 100644 (file)
@@ -8,9 +8,9 @@
 package org.opendaylight.netvirt.natservice.internal;
 
 import static java.util.Collections.emptyList;
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
-import com.google.common.base.Preconditions;
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
 import com.google.common.collect.Iterables;
@@ -600,9 +600,8 @@ public final class NatUtil {
             return null;
         }
         InstanceIdentifier<RouterToNaptSwitch> id = buildNaptSwitchIdentifier(routerName);
-        return (SingleTransactionDataBroker.syncReadOptionalAndTreatReadFailedExceptionAsAbsentOptional(broker,
-                LogicalDatastoreType.CONFIGURATION, id).map(RouterToNaptSwitch::getPrimarySwitchId).orElse(
-                Uint64.valueOf(0L)));
+        return SingleTransactionDataBroker.syncReadOptionalAndTreatReadFailedExceptionAsAbsentOptional(broker,
+                LogicalDatastoreType.CONFIGURATION, id).map(RouterToNaptSwitch::getPrimarySwitchId).orElse(Uint64.ZERO);
     }
 
     public static InstanceIdentifier<RouterToNaptSwitch> buildNaptSwitchIdentifier(String routerId) {
@@ -742,8 +741,7 @@ public final class NatUtil {
             return null;
         }
         List<Uuid> routerIdsList = NeutronUtils.getVpnMapRouterIdsListUuid(
-                new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602
-                        .vpnmaps.vpnmap.RouterIds>(optionalVpnMap.get().nonnullRouterIds().values()));
+                new ArrayList<>(optionalVpnMap.get().nonnullRouterIds().values()));
         if (routerIdsList != null && !routerIdsList.isEmpty()) {
             for (Uuid routerUuid : routerIdsList) {
                 InstanceIdentifier<Routers> id = buildRouterIdentifier(routerUuid.getValue());
@@ -768,7 +766,7 @@ public final class NatUtil {
 
     @Nullable
     static Uuid getVpnForRouter(DataBroker broker, String routerId) {
-        Preconditions.checkNotNull(routerId, "getVpnForRouter: routerId not found!");
+        requireNonNull(routerId, "getVpnForRouter: routerId not found!");
         InstanceIdentifier<VpnMaps> vpnMapsIdentifier = InstanceIdentifier.builder(VpnMaps.class).build();
         Optional<VpnMaps> optionalVpnMaps =
                 SingleTransactionDataBroker.syncReadOptionalAndTreatReadFailedExceptionAsAbsentOptional(broker,
@@ -779,8 +777,7 @@ public final class NatUtil {
                     continue;
                 }
                 List<Uuid> routerIdsList = NeutronUtils.getVpnMapRouterIdsListUuid(
-                        new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602
-                                .vpnmaps.vpnmap.RouterIds>(vpnMap.nonnullRouterIds().values()));
+                        new ArrayList<>(vpnMap.nonnullRouterIds().values()));
                 if (routerIdsList.isEmpty()) {
                     continue;
                 }
@@ -981,10 +978,10 @@ public final class NatUtil {
 
     public static Uint32 getUniqueId(IdManagerService idManager, String poolName, String idKey) {
 
-        AllocateIdInput getIdInput = (new AllocateIdInputBuilder()).setPoolName(poolName).setIdKey(idKey).build();
+        AllocateIdInput getIdInput = new AllocateIdInputBuilder().setPoolName(poolName).setIdKey(idKey).build();
         try {
             Future<RpcResult<AllocateIdOutput>> result = idManager.allocateId(getIdInput);
-            RpcResult<AllocateIdOutput> rpcResult = (RpcResult)result.get();
+            RpcResult<AllocateIdOutput> rpcResult = result.get();
             return rpcResult.isSuccessful() ? rpcResult.getResult().getIdValue()
                     : NatConstants.INVALID_ID;
         } catch (InterruptedException | ExecutionException e) {
@@ -1000,7 +997,7 @@ public final class NatUtil {
             if (result == null || result.get() == null || !result.get().isSuccessful()) {
                 LOG.error("releaseId: RPC Call to release Id from pool {} with key {} returned with Errors {}",
                     poolName, idKey,
-                    (result != null && result.get() != null) ? result.get().getErrors() : "RpcResult is null");
+                    result != null && result.get() != null ? result.get().getErrors() : "RpcResult is null");
             } else {
                 return Uint32.ONE;
             }
@@ -1068,7 +1065,7 @@ public final class NatUtil {
         Routers routerData = NatUtil.getRoutersFromConfigDS(dataBroker, routerName);
         if (routerData != null) {
             return NatUtil.getIpsListFromExternalIps(
-                    new ArrayList<ExternalIps>(routerData.nonnullExternalIps().values()));
+                    new ArrayList<>(routerData.nonnullExternalIps().values()));
         }
 
         return emptyList();
@@ -1261,7 +1258,7 @@ public final class NatUtil {
             RoutersList routersList = new RoutersListBuilder().withKey(new RoutersListKey(routerName))
                     .setRouter(routerName).build();
             Map<RoutersListKey, RoutersList> keyroutersMapFromDs = optionalDpnRoutersList.get().nonnullRoutersList();
-            if (!keyroutersMapFromDs.values().contains(routersList)) {
+            if (!keyroutersMapFromDs.containsValue(routersList)) {
                 LOG.debug("addToDpnRoutersMap : Router {} not present for the DPN {}"
                         + " in the ODL-L3VPN : DPNRouters map", routerName, dpId);
                 operTx.mergeParentStructureMerge(dpnRoutersListIdentifier
@@ -1479,7 +1476,7 @@ public final class NatUtil {
                     LOG.error("getEgressActionsForTunnels : RPC Call to Get egress actions for Tunnels {} "
                             + "returned with Errors {}", ifName, rpcResult.getErrors());
                 } else {
-                    actions = new ArrayList<Action>(rpcResult.getResult().nonnullAction().values());
+                    actions = new ArrayList<>(rpcResult.getResult().nonnullAction().values());
                 }
             } else {
                 RpcResult<GetEgressActionsForInterfaceOutput> rpcResult =
@@ -1488,7 +1485,7 @@ public final class NatUtil {
                     LOG.error("getEgressActionsForInterface : RPC Call to Get egress actions for interface {} "
                             + "returned with Errors {}", ifName, rpcResult.getErrors());
                 } else {
-                    actions = new ArrayList<Action>(rpcResult.getResult().nonnullAction().values());
+                    actions = new ArrayList<>(rpcResult.getResult().nonnullAction().values());
                 }
             }
             List<ActionInfo> listActionInfo = new ArrayList<>();
@@ -1544,7 +1541,7 @@ public final class NatUtil {
             return emptyList();
         }
 
-        return new ArrayList<Port>(portsOptional.get().nonnullPort().values());
+        return new ArrayList<>(portsOptional.get().nonnullPort().values());
     }
 
     @Nullable
@@ -1843,7 +1840,7 @@ public final class NatUtil {
     @NonNull
     public static List<Ports> getFloatingIpPortsForRouter(DataBroker broker, Uuid routerUuid) {
         InstanceIdentifier<RouterPorts> routerPortsIdentifier = getRouterPortsId(routerUuid.getValue());
-        List<Ports> portsList = new ArrayList<Ports>(SingleTransactionDataBroker
+        List<Ports> portsList = new ArrayList<>(SingleTransactionDataBroker
                 .syncReadOptionalAndTreatReadFailedExceptionAsAbsentOptional(broker, LogicalDatastoreType.CONFIGURATION,
                         routerPortsIdentifier).map(RouterPorts::nonnullPorts).orElse(Collections.emptyMap()).values());
 
@@ -1905,7 +1902,7 @@ public final class NatUtil {
                         LogicalDatastoreType.CONFIGURATION, id);
         if (routerData.isPresent()) {
             return NatUtil.getExternalSubnetIdsFromExternalIps(
-                    new ArrayList<ExternalIps>(routerData.get().nonnullExternalIps().values()));
+                    new ArrayList<>(routerData.get().nonnullExternalIps().values()));
         } else {
             LOG.warn("getExternalSubnetIdsForRouter : No external router data for router {}", routerName);
             return Collections.emptySet();
@@ -2053,7 +2050,7 @@ public final class NatUtil {
         LOG.debug("makePreDnatToSnatTableEntry : Create Pre-DNAT table {} --> table {} flow on NAPT DpnId {} ",
                 NwConstants.PDNAT_TABLE, tableId, naptDpnId);
 
-        Map<InstructionKey, Instruction> preDnatToSnatInstructionsMap = new HashMap<InstructionKey, Instruction>();
+        Map<InstructionKey, Instruction> preDnatToSnatInstructionsMap = new HashMap<>();
         preDnatToSnatInstructionsMap.put(new InstructionKey(0),
                 new InstructionGotoTable(tableId).buildInstruction(0));
         List<MatchInfo> matches = new ArrayList<>();
@@ -2170,7 +2167,7 @@ public final class NatUtil {
     public static InstanceIdentifier<VpnInterfaceOpDataEntry> getVpnInterfaceOpDataEntryIdentifier(
             String vpnInterfaceName, String vpnName) {
         return InstanceIdentifier.builder(VpnInterfaceOpData.class).child(VpnInterfaceOpDataEntry.class,
-        new VpnInterfaceOpDataEntryKey(vpnInterfaceName, vpnName)).build();
+            new VpnInterfaceOpDataEntryKey(vpnInterfaceName, vpnName)).build();
     }
 
     public static boolean checkForRoutersWithSameExtNetAndNaptSwitch(DataBroker broker, Uuid networkId,
@@ -2274,7 +2271,7 @@ public final class NatUtil {
         }
         Uint64 naptId = NatUtil.getPrimaryNaptfromRouterName(dataBroker, routerName);
         if (naptId == null || naptId.equals(Uint64.ZERO)
-            || (!NatUtil.getSwitchStatus(dataBroker, naptId) && (upgradeInProgress == false))) {
+            || !NatUtil.getSwitchStatus(dataBroker, naptId) && upgradeInProgress == false) {
             LOG.debug("handleSNATForDPN : NaptSwitch is down or not selected for router {},naptId {}",
                 routerName, naptId);
             naptSwitch = dpnId;
@@ -2480,7 +2477,7 @@ public final class NatUtil {
             if (dpnInElanInterfaces.isPresent()) {
                 dpnInterface = dpnInElanInterfaces.get();
 
-                elanInterfaceList = (dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty())
+                elanInterfaceList = dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty()
                         ? new ArrayList<>(dpnInterface.getInterfaces()) : elanInterfaceList;
             }
             if (!elanInterfaceList.contains(pseudoPortId)) {
@@ -2517,7 +2514,7 @@ public final class NatUtil {
             }
 
             dpnInterface = dpnInElanInterfaces.get();
-            elanInterfaceList = (dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty())
+            elanInterfaceList = dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty()
                     ? new ArrayList<>(dpnInterface.getInterfaces()) : elanInterfaceList;
             if (!elanInterfaceList.contains(pseudoPortId)) {
                 LOG.info("Router port not present in DPN {} for VPN {}", dpnId, elanInstanceName);
@@ -2804,8 +2801,8 @@ public final class NatUtil {
         if (neutronPort == null) {
             return Boolean.TRUE;
         } else {
-            return (NatConstants.NETWORK_ROUTER_INTERFACE.equalsIgnoreCase(neutronPort.getDeviceOwner()) ? Boolean.TRUE
-                : Boolean.FALSE);
+            return NatConstants.NETWORK_ROUTER_INTERFACE.equalsIgnoreCase(neutronPort.getDeviceOwner()) ? Boolean.TRUE
+                : Boolean.FALSE;
         }
     }
 
index ecf98f48e004f345088a51e0932a349921ae0167..c22b2dadc8713c3a320dc83505ff5018eb765ec6 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 3d650bca727af08562c8aaa7ef754fea88ce4e47..a57ac6e0cc132b1d45afa5edd3b0794eca82d325 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.netvirt.neutronvpn.api.utils;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
@@ -159,7 +160,7 @@ public final class NeutronUtils {
     }
 
     public static boolean isUuid(String possibleUuid) {
-        Preconditions.checkNotNull(possibleUuid, "possibleUuid == null");
+        requireNonNull(possibleUuid, "possibleUuid == null");
 
         if (uuidPattern == null) {
             // Thread safe because it really doesn't matter even if we were to do this initialization more than once
index 13fdf141d5e8505dd1f0f4c4bd94914b205283d7..1fb05858b1487c1ba166cb4fe9669c12992e993f 100644 (file)
@@ -21,6 +21,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <packaging>bundle</packaging>
     <modelVersion>4.0.0</modelVersion>
 
+    <properties>
+        <odlparent.modernizer.enforce>false</odlparent.modernizer.enforce>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -145,7 +149,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <dependency>
             <groupId>org.opendaylight.infrautils</groupId>
             <artifactId>metrics-impl-test</artifactId>
-            <version>1.8.1</version>
             <scope>test</scope>
         </dependency>
         <dependency>
index 5f557dc9444d3d5f76e9e6c8ea620edc0b01e90b..2af792262ba5829db46fa7e82dfab32e250c922a 100644 (file)
@@ -57,7 +57,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.
 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.genius.interfacemanager.rev160406.IfL2vlan;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfL2vlanBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.SplitHorizon;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.SplitHorizonBuilder;
@@ -177,7 +176,7 @@ public class NeutronPortChangeListener extends AbstractAsyncDataTreeChangeListen
         // in order to validate the supported vnic types from the hostconfig
         if (input.getFixedIps() != null
             && !input.getFixedIps().isEmpty()
-            && !(isPortTypeSwitchdev(input) && !isPortBound(input))) {
+            && (!isPortTypeSwitchdev(input) || isPortBound(input))) {
             handleNeutronPortCreated(input);
         }
         NeutronUtils.createPortStatus(input.getUuid().getValue(), portStatus, dataBroker);
@@ -251,8 +250,8 @@ public class NeutronPortChangeListener extends AbstractAsyncDataTreeChangeListen
                 handleFloatingIpPortUpdated(original, update);
             }
         } else {
-            Set<FixedIps> oldIPs = getFixedIpSet(new ArrayList<FixedIps>(original.nonnullFixedIps().values()));
-            Set<FixedIps> newIPs = getFixedIpSet(new ArrayList<FixedIps>(update.nonnullFixedIps().values()));
+            Set<FixedIps> oldIPs = getFixedIpSet(new ArrayList<>(original.nonnullFixedIps().values()));
+            Set<FixedIps> newIPs = getFixedIpSet(new ArrayList<>(update.nonnullFixedIps().values()));
             if (!oldIPs.equals(newIPs)) {
                 handleNeutronPortUpdated(original, update);
             }
@@ -274,15 +273,15 @@ public class NeutronPortChangeListener extends AbstractAsyncDataTreeChangeListen
                             if (origSecurityEnabled || updatedSecurityEnabled) {
                                 InterfaceAcl infAcl = handlePortSecurityUpdated(original, update, origSecurityEnabled,
                                         updatedSecurityEnabled, interfaceBuilder).build();
-                                interfaceBuilder.addAugmentation(InterfaceAcl.class, infAcl);
+                                interfaceBuilder.addAugmentation(infAcl);
                             } else if (isDhcpServerPort) {
                                 Set<FixedIps> oldIPs = getFixedIpSet(
-                                        new ArrayList<FixedIps>(original.nonnullFixedIps().values()));
+                                        new ArrayList<>(original.nonnullFixedIps().values()));
                                 Set<FixedIps> newIPs = getFixedIpSet(
-                                        new ArrayList<FixedIps>(update.nonnullFixedIps().values()));
+                                        new ArrayList<>(update.nonnullFixedIps().values()));
                                 if (!oldIPs.equals(newIPs)) {
                                     InterfaceAcl infAcl = neutronvpnUtils.getDhcpInterfaceAcl(update);
-                                    interfaceBuilder.addAugmentation(InterfaceAcl.class, infAcl);
+                                    interfaceBuilder.addAugmentation(infAcl);
                                 }
                             }
                             LOG.info("update: Of-port-interface updation for port {}", portName);
@@ -305,7 +304,7 @@ public class NeutronPortChangeListener extends AbstractAsyncDataTreeChangeListen
             // populate floating-ip uuid and floating-ip port attributes (uuid, mac and subnet id for the ONLY
             // fixed IP) to be used by NAT, depopulated in NATService once mac is retrieved in the removal path
             addToFloatingIpPortInfo(new Uuid(update.getDeviceId()), update.getUuid(),
-                    new ArrayList<FixedIps>(update.nonnullFixedIps().values()).get(0)
+                    new ArrayList<>(update.nonnullFixedIps().values()).get(0)
                     .getSubnetId(), update.getMacAddress().getValue());
             elanService.addKnownL3DmacAddress(update.getMacAddress().getValue(), update.getNetworkId().getValue());
         }
@@ -650,9 +649,8 @@ public class NeutronPortChangeListener extends AbstractAsyncDataTreeChangeListen
         if (NeutronConstants.IS_ODL_DHCP_PORT.test(port)) {
             return;
         }
-        if (!(NeutronUtils.isPortVnicTypeNormal(port)
-                || isPortTypeSwitchdev(port)
-                && isSupportedVnicTypeByHost(port, NeutronConstants.VNIC_TYPE_DIRECT))) {
+        if (!NeutronUtils.isPortVnicTypeNormal(port)
+            && (!isPortTypeSwitchdev(port) || !isSupportedVnicTypeByHost(port, NeutronConstants.VNIC_TYPE_DIRECT))) {
             for (FixedIps ip: keyFixedIpsMap.values()) {
                 nvpnManager.updateSubnetmapNodeWithPorts(ip.getSubnetId(), null, portId);
             }
@@ -711,7 +709,7 @@ public class NeutronPortChangeListener extends AbstractAsyncDataTreeChangeListen
         final String portName = port.getUuid().getValue();
         final Uuid portId = port.getUuid();
         final Map<FixedIpsKey, FixedIps> keyFixedIpsMap = port.nonnullFixedIps();
-        if (!(NeutronUtils.isPortVnicTypeNormal(port) || isPortTypeSwitchdev(port))) {
+        if (!NeutronUtils.isPortVnicTypeNormal(port) && !isPortTypeSwitchdev(port)) {
             for (FixedIps ip : keyFixedIpsMap.values()) {
                 // remove direct port from subnetMaps config DS
                 // TODO: for direct port as well, operations should be carried out per subnet based on port IP
@@ -886,10 +884,9 @@ public class NeutronPortChangeListener extends AbstractAsyncDataTreeChangeListen
                         NeutronvpnUtils.getUpdatedSecurityGroups(interfaceAcl.getSecurityGroups(),
                                 portOriginal.getSecurityGroups(), portUpdated.getSecurityGroups()));
                 List<AllowedAddressPairs> updatedAddressPairs = NeutronvpnUtils.getUpdatedAllowedAddressPairs(
-                        new ArrayList<AllowedAddressPairs>(interfaceAcl.nonnullAllowedAddressPairs().values()),
+                        new ArrayList<>(interfaceAcl.nonnullAllowedAddressPairs().values()),
                         new ArrayList<>(portOriginal.nonnullAllowedAddressPairs().values()),
-                        new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port
-                                .attributes.AllowedAddressPairs>(portUpdated.nonnullAllowedAddressPairs().values()));
+                        new ArrayList<>(portUpdated.nonnullAllowedAddressPairs().values()));
                 interfaceAclBuilder.setAllowedAddressPairs(NeutronvpnUtils.getAllowedAddressPairsForFixedIps(
                         updatedAddressPairs, portOriginal.getMacAddress(), portOriginal.getFixedIps(),
                         portUpdated.nonnullFixedIps().values()));
@@ -974,25 +971,25 @@ public class NeutronPortChangeListener extends AbstractAsyncDataTreeChangeListen
                 ifL2vlanBuilder.setVlanId(new VlanId(portIdToSubport.getVlanId().intValue()));
                 String parentRefName = portIdToSubport.getTrunkPortId().getValue();
                 ParentRefsBuilder parentRefsBuilder = new ParentRefsBuilder().setParentInterface(parentRefName);
-                interfaceBuilder.addAugmentation(ParentRefs.class, parentRefsBuilder.build());
+                interfaceBuilder.addAugmentation(parentRefsBuilder.build());
                 SplitHorizon splitHorizon =
                         new SplitHorizonBuilder().setOverrideSplitHorizonProtection(true).build();
-                interfaceBuilder.addAugmentation(SplitHorizon.class, splitHorizon);
+                interfaceBuilder.addAugmentation(splitHorizon);
             }
         }
 
         ifL2vlanBuilder.setL2vlanMode(l2VlanMode);
 
         interfaceBuilder.setEnabled(true).setName(interfaceName).setType(L2vlan.class)
-                .addAugmentation(IfL2vlan.class, ifL2vlanBuilder.build());
+                .addAugmentation(ifL2vlanBuilder.build());
 
         if (NeutronvpnUtils.getPortSecurityEnabled(port)) {
             InterfaceAclBuilder interfaceAclBuilder = new InterfaceAclBuilder();
             interfaceAclBuilder.setPortSecurityEnabled(true);
             neutronvpnUtils.populateInterfaceAclBuilder(interfaceAclBuilder, port);
-            interfaceBuilder.addAugmentation(InterfaceAcl.class, interfaceAclBuilder.build());
+            interfaceBuilder.addAugmentation(interfaceAclBuilder.build());
         } else if (neutronvpnConfig.isLimitBumtrafficToDhcpserver() && NeutronvpnUtils.isDhcpServerPort(port)) {
-            interfaceBuilder.addAugmentation(InterfaceAcl.class, neutronvpnUtils.getDhcpInterfaceAcl(port));
+            interfaceBuilder.addAugmentation(neutronvpnUtils.getDhcpInterfaceAcl(port));
         }
         return interfaceBuilder.build();
     }
index b69f22e80f93fc5bc24958637314f354617f7f68..c267879e6dc22a3111a3c82d156afc94372a19a8 100644 (file)
@@ -27,7 +27,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.cont
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.AclBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.AclKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.AccessListEntriesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.AclserviceAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.AclserviceAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.groups.attributes.SecurityGroups;
@@ -118,7 +117,7 @@ public class NeutronSecurityGroupListener extends AbstractAsyncDataTreeChangeLis
         if (aclTag != NeutronSecurityGroupConstants.INVALID_ACL_TAG) {
             AclserviceAugmentationBuilder aclserviceAugmentationBuilder = new AclserviceAugmentationBuilder();
             aclserviceAugmentationBuilder.setAclTag(aclTag);
-            aclBuilder.addAugmentation(AclserviceAugmentation.class, aclserviceAugmentationBuilder.build());
+            aclBuilder.addAugmentation(aclserviceAugmentationBuilder.build());
         }
 
         return aclBuilder;
index cdcc1982e01ca8644a83862ddb2e52c0f3eae183..b4470ca6e726ecd36f940a71d66711e7e1d7ab3f 100644 (file)
@@ -39,7 +39,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.packet.fields.rev160218.acl.transport.header.fields.DestinationPortRangeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.SecurityRuleAttr;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.SecurityRuleAttrBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.DirectionBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.DirectionEgress;
@@ -171,7 +170,7 @@ public class NeutronSecurityRuleListener extends AbstractAsyncDataTreeChangeList
         aceBuilder.setRuleName(securityRule.getUuid().getValue());
         aceBuilder.setMatches(matchesBuilder.build());
         aceBuilder.setActions(actionsBuilder.build());
-        aceBuilder.addAugmentation(SecurityRuleAttr.class, securityRuleAttrBuilder.build());
+        aceBuilder.addAugmentation(securityRuleAttrBuilder.build());
         return aceBuilder;
     }
 
index f41d8ad3ece0618ab5e6ec0880256eb97ec30e09..3e2795ed7208b6ea6a1841aeb76b5651e4466e52 100644 (file)
@@ -108,11 +108,11 @@ public class NeutronTrunkChangeListener extends AbstractAsyncDataTreeChangeListe
         if (Objects.equals(original, update)) {
             return;
         }
-        List<SubPorts> updatedSubPorts = new ArrayList<SubPorts>(update.nonnullSubPorts().values());
+        List<SubPorts> updatedSubPorts = new ArrayList<>(update.nonnullSubPorts().values());
         if (updatedSubPorts == null) {
             updatedSubPorts = Collections.emptyList();
         }
-        List<SubPorts> originalSubPorts = new ArrayList<SubPorts>(original.nonnullSubPorts().values());
+        List<SubPorts> originalSubPorts = new ArrayList<>(original.nonnullSubPorts().values());
         if (originalSubPorts == null) {
             originalSubPorts = Collections.emptyList();
         }
@@ -169,8 +169,8 @@ public class NeutronTrunkChangeListener extends AbstractAsyncDataTreeChangeListe
                 .setVlanId(new VlanId(subPort.getSegmentationId().intValue())).build();
             ParentRefs parentRefs = new ParentRefsBuilder().setParentInterface(parentName).build();
             SplitHorizon splitHorizon = new SplitHorizonBuilder().setOverrideSplitHorizonProtection(true).build();
-            interfaceBuilder.setName(portName).setType(L2vlan.class).addAugmentation(IfL2vlan.class, ifL2vlan)
-                .addAugmentation(ParentRefs.class, parentRefs).addAugmentation(SplitHorizon.class, splitHorizon);
+            interfaceBuilder.setName(portName).setType(L2vlan.class).addAugmentation(ifL2vlan)
+                .addAugmentation(parentRefs).addAugmentation(splitHorizon);
             Interface newIface = interfaceBuilder.build();
             /*
              * Interface is already created for parent NeutronPort. We're updating parent refs
@@ -204,7 +204,7 @@ public class NeutronTrunkChangeListener extends AbstractAsyncDataTreeChangeListe
             interfaceBuilder.removeAugmentation(IfL2vlan.class).removeAugmentation(ParentRefs.class)
                 .removeAugmentation(SplitHorizon.class);
             IfL2vlan ifL2vlan = new IfL2vlanBuilder().setL2vlanMode(IfL2vlan.L2vlanMode.Trunk).build();
-            interfaceBuilder.addAugmentation(IfL2vlan.class, ifL2vlan);
+            interfaceBuilder.addAugmentation(ifL2vlan);
             Interface newIface = interfaceBuilder.build();
             /*
              * There is no means to do an update to remove elements from a node.
index 072abf2c0e44521726e99a317f76496a311eb04a..007c657d518b611f83f377399e1f601efb0aa4ff 100644 (file)
@@ -828,7 +828,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                                                   @Nullable VpnInterface vpnIface) {
         List<Adjacency> adjList = new ArrayList<>();
         if (vpnIface != null) {
-            adjList = new ArrayList<Adjacency>(vpnIface.augmentation(Adjacencies.class).getAdjacency().values());
+            adjList = new ArrayList<>(vpnIface.augmentation(Adjacencies.class).getAdjacency().values());
         }
         String infName = port.getUuid().getValue();
         LOG.trace("neutronVpnManager: create config adjacencies for Port: {}", infName);
@@ -860,7 +860,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
             if (routerId != null) {
                 Router rtr = neutronvpnUtils.getNeutronRouter(routerId);
                 if (rtr != null && rtr.getRoutes() != null) {
-                    List<Routes> routeList = new ArrayList<Routes>(rtr.getRoutes().values());
+                    List<Routes> routeList = new ArrayList<>(rtr.getRoutes().values());
                     // create extraroute Adjacence for each ipValue,
                     // because router can have IPv4 and IPv6 subnet ports, or can have
                     // more that one IPv4 subnet port or more than one IPv6 subnet port
@@ -1010,9 +1010,9 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
             Map<VpnInstanceNamesKey, VpnInstanceNames> keyVpnInstanceNamesMap = vpnInterface.getVpnInstanceNames();
             if (keyVpnInstanceNamesMap != null
                 && VpnHelper.doesVpnInterfaceBelongToVpnInstance(vpnId,
-                    new ArrayList<VpnInstanceNames>(keyVpnInstanceNamesMap.values()))) {
+                    new ArrayList<>(keyVpnInstanceNamesMap.values()))) {
                 VpnHelper.removeVpnInterfaceVpnInstanceNamesFromList(vpnId,
-                        new ArrayList<VpnInstanceNames>(keyVpnInstanceNamesMap.values()));
+                        new ArrayList<>(keyVpnInstanceNamesMap.values()));
                 if (!keyVpnInstanceNamesMap.isEmpty()) {
                     LOG.debug("Deleting vpn interface {} not immediately since vpnInstanceName "
                             + "List not empty", infName);
@@ -1045,9 +1045,9 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                         = optionalVpnInterface.get().getVpnInstanceNames();
                 if (keyVpnInstanceNamesMap != null
                     && VpnHelper.doesVpnInterfaceBelongToVpnInstance(vpnId.getValue(),
-                        new ArrayList<VpnInstanceNames>(keyVpnInstanceNamesMap.values()))) {
+                        new ArrayList<>(keyVpnInstanceNamesMap.values()))) {
                     VpnHelper.removeVpnInterfaceVpnInstanceNamesFromList(vpnId.getValue(),
-                            new ArrayList<VpnInstanceNames>(keyVpnInstanceNamesMap.values()));
+                            new ArrayList<>(keyVpnInstanceNamesMap.values()));
                 }
                 VpnInterfaceBuilder vpnIfBuilder = new VpnInterfaceBuilder(optionalVpnInterface.get())
                          .setVpnInstanceNames(keyVpnInstanceNamesMap);
@@ -1141,7 +1141,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                     if (!isBeingAssociated) {
                         Adjacencies adjs = vpnIfBuilder.augmentation(Adjacencies.class);
                         Map<AdjacencyKey, Adjacency> keyAdjacencyMap = adjs != null ? adjs.getAdjacency()
-                                : new HashMap<AdjacencyKey, Adjacency>();
+                                : new HashMap<>();
                         Iterator<Adjacency> adjacencyIter = keyAdjacencyMap.values().iterator();
                         while (adjacencyIter.hasNext()) {
                             Adjacency adjacency = adjacencyIter.next();
@@ -1172,7 +1172,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                             }
                         }
                         Adjacencies adjacencies = new AdjacenciesBuilder().setAdjacency(keyAdjacencyMap).build();
-                        vpnIfBuilder.addAugmentation(Adjacencies.class, adjacencies);
+                        vpnIfBuilder.addAugmentation(adjacencies);
                     }
                     for (FixedIps ip : port.nonnullFixedIps().values()) {
                         String ipValue = ip.getIpAddress().stringValue();
@@ -1495,7 +1495,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 Uuid vpnId = new Uuid(vpnInstance.getVpnInstanceName());
                 // create VpnMaps id
                 L3vpnInstancesBuilder l3vpn = new L3vpnInstancesBuilder();
-                List<String> rd = Collections.EMPTY_LIST;
+                List<String> rd = Collections.emptyList();
                 if (vpnInstance.getRouteDistinguisher() != null) {
                     rd = vpnInstance.getRouteDistinguisher();
                 }
@@ -1503,7 +1503,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 List<String> irtList = new ArrayList<>();
 
                 if (vpnInstance.getVpnTargets() != null) {
-                    Map<VpnTargetKey, VpnTarget> keyVpnTargetMap = Collections.EMPTY_MAP;
+                    Map<VpnTargetKey, VpnTarget> keyVpnTargetMap = Collections.emptyMap();
                     if (!vpnInstance.getVpnTargets().getVpnTarget().isEmpty()) {
                         keyVpnTargetMap = vpnInstance.getVpnTargets().getVpnTarget();
                     }
@@ -2296,7 +2296,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                             Adjacencies erAdjs =
                                     new AdjacenciesBuilder().setAdjacency(getAdjacencyMap(newAdjList)).build();
                             VpnInterface vpnIf = new VpnInterfaceBuilder().withKey(new VpnInterfaceKey(infName))
-                                    .addAugmentation(Adjacencies.class, erAdjs).build();
+                                    .addAugmentation(erAdjs).build();
                             SingleTransactionDataBroker.syncUpdate(dataBroker, LogicalDatastoreType.CONFIGURATION,
                                 vpnIfIdentifier, vpnIf);
                         } else {
@@ -3278,7 +3278,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
 
         if (adjacencies != null) {
-            vpnb.addAugmentation(Adjacencies.class, adjacencies);
+            vpnb.addAugmentation(adjacencies);
         }
         VpnInterface vpnIf = vpnb.build();
         try {
@@ -3322,7 +3322,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                     if (adjacencies == null) {
                         return;
                     }
-                    vpnIfBuilder.addAugmentation(Adjacencies.class, adjacencies);
+                    vpnIfBuilder.addAugmentation(adjacencies);
                     if (optionalVpnInterface.get().getVpnInstanceNames() != null) {
                         List<VpnInstanceNames> listVpnInstances = new ArrayList<>(
                                 optionalVpnInterface.get().getVpnInstanceNames().values());
index 9498e43679f26ca7a685a2a463136edb1ce701ad..399c1814647123ebdfa4ccbd0505315801a29340 100644 (file)
@@ -98,7 +98,7 @@ public class NeutronEvpnUtils {
                 LOG.debug("Deleting Elan-EvpnAugmentation with key {}", elanInstanceName);
             }
 
-            elanInstanceBuilder.addAugmentation(EvpnAugmentation.class, evpnAugmentationBuilder.build());
+            elanInstanceBuilder.addAugmentation(evpnAugmentationBuilder.build());
             tx.mergeParentStructurePut(elanIid, elanInstanceBuilder.build());
         }), LOG, "Error updating ELAN with VPN info {}, {}, {}", elanInstanceName, vpnInstance, operation);
     }
index 2ac4da2b854b77749b4c94692cfae6edffd8130a..41f7039a653277480dda003694fd1a2760684e20 100644 (file)
@@ -5,10 +5,9 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.netvirt.neutronvpn;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
@@ -116,6 +115,7 @@ public class NeutronPortChangeListenerTest {
         IpAddress ipv6 = new IpAddress(new Ipv6Address("1::1"));
         FixedIpsBuilder fib = new FixedIpsBuilder();
         fib.setIpAddress(ipv6);
+        fib.setSubnetId(new Uuid("12345678-1234-1234-1234-123456789012"));
         List<FixedIps> fixedIps = new ArrayList<>();
         fixedIps.add(fib.build());
         pb.setFixedIps(fixedIps);
@@ -132,6 +132,7 @@ public class NeutronPortChangeListenerTest {
         IpAddress ipv4 = new IpAddress(new Ipv4Address("2.2.2.2"));
         FixedIpsBuilder fib = new FixedIpsBuilder();
         fib.setIpAddress(ipv4);
+        fib.setSubnetId(new Uuid("12345678-1234-1234-1234-123456789012"));
         List<FixedIps> fixedIps = new ArrayList<>();
         fixedIps.add(fib.build());
         pb.setFixedIps(fixedIps);
index 2f5cc63fbb45779d92cbb5ef0d5bcd71ee228f39..f84d45a4eb106e883b6d7dbccfae7044f892d0a3 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index b16ec721b4b7196d10c11ad12995aa83fd7c134d..8ac32064e23583c098d68360f698085f315b3bae 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
diff --git a/pom.xml b/pom.xml
index bc05d69eddf5a5be34b98af9b2d4b3778eeca12f..53b9f9bfee710f1ca7d375acf770b470c7a91619 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 44af2492f81495eb2772f3e3b2351ac9e23e5570..608b477245143c5427389f7ace7a3dcbd4cb45f9 100644 (file)
@@ -72,7 +72,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceBindings;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeIngress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceTypeFlowBased;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflowBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfoKey;
@@ -190,13 +189,13 @@ public class QosNeutronUtils {
             session.getConsole().println("No cache found");
             return;
         }
-        if (!(qosPolicyMap.isEmpty())) {
+        if (!qosPolicyMap.isEmpty()) {
             displayQosPolicyMap(session, gson);
         }
-        if (!(qosPortsMap.isEmpty())) {
+        if (!qosPortsMap.isEmpty()) {
             displayQosPortsMap(session, gson);
         }
-        if (!(qosNetworksMap.isEmpty())) {
+        if (!qosNetworksMap.isEmpty()) {
             displayQosNetworksMap(session, gson);
         }
     }
@@ -356,7 +355,7 @@ public class QosNeutronUtils {
                 .child(NetworkMap.class, new NetworkMapKey(networkId)).build();
         Optional<NetworkMap> optionalNetworkMap = MDSALUtil.read(LogicalDatastoreType.CONFIGURATION,
                 networkMapId, dataBroker);
-        return (optionalNetworkMap.isPresent() && optionalNetworkMap.get().getSubnetIdList() != null)
+        return optionalNetworkMap.isPresent() && optionalNetworkMap.get().getSubnetIdList() != null
             ? optionalNetworkMap.get().getSubnetIdList() : emptyList();
     }
 
@@ -367,7 +366,7 @@ public class QosNeutronUtils {
                 .child(Subnetmap.class, new SubnetmapKey(subnetId)).build();
         Optional<Subnetmap> optionalSubnetmap = MDSALUtil.read(LogicalDatastoreType.CONFIGURATION,
                 subnetMapId,dataBroker);
-        return (optionalSubnetmap.isPresent() && optionalSubnetmap.get().getPortList() != null)
+        return optionalSubnetmap.isPresent() && optionalSubnetmap.get().getPortList() != null
             ? optionalSubnetmap.get().getPortList() : emptyList();
     }
 
@@ -650,7 +649,7 @@ public class QosNeutronUtils {
 
         TerminationPointBuilder tpBuilder = new TerminationPointBuilder();
         tpBuilder.withKey(tp.key());
-        tpBuilder.addAugmentation(OvsdbTerminationPointAugmentation.class, tpAugmentationBuilder.build());
+        tpBuilder.addAugmentation(tpAugmentationBuilder.build());
         try {
             if (writeConfigTxn != null) {
                 writeConfigTxn.mergeParentStructureMerge(InstanceIdentifier
@@ -954,7 +953,7 @@ public class QosNeutronUtils {
                 .setFlowPriority(priority).setInstruction(instructions);
         return new BoundServicesBuilder().withKey(new BoundServicesKey(qosServiceIndex)).setServiceName(serviceName)
                 .setServicePriority(qosServiceIndex).setServiceType(ServiceTypeFlowBased.class)
-                .addAugmentation(StypeOpenflow.class, augBuilder.build()).build();
+                .addAugmentation(augBuilder.build()).build();
     }
 
     @NonNull
@@ -1043,7 +1042,7 @@ public class QosNeutronUtils {
     @Nullable
     public static String getPortNumberFromLowerLayerIf(String lowerLayerIf) {
         try {
-            return (lowerLayerIf.substring(lowerLayerIf.lastIndexOf(":") + 1));
+            return lowerLayerIf.substring(lowerLayerIf.lastIndexOf(":") + 1);
         } catch (NullPointerException e) {
             return null;
         }
@@ -1053,20 +1052,20 @@ public class QosNeutronUtils {
         int versions = 0;
         for (FixedIps fixedIp: port.nonnullFixedIps().values()) {
             if (fixedIp.getIpAddress().getIpv4Address() != null) {
-                versions |= (1 << QosConstants.IPV4_ADDR_MASK_BIT);
+                versions |= 1 << QosConstants.IPV4_ADDR_MASK_BIT;
             } else if (fixedIp.getIpAddress().getIpv6Address() != null) {
-                versions |= (1 << QosConstants.IPV6_ADDR_MASK_BIT);
+                versions |= 1 << QosConstants.IPV6_ADDR_MASK_BIT;
             }
         }
         return versions;
     }
 
     public boolean hasIpv4Addr(int versions) {
-        return (versions & (1 << QosConstants.IPV4_ADDR_MASK_BIT)) != 0;
+        return (versions & 1 << QosConstants.IPV4_ADDR_MASK_BIT) != 0;
     }
 
     public boolean hasIpv6Addr(int versions) {
-        return (versions & (1 << QosConstants.IPV6_ADDR_MASK_BIT)) != 0;
+        return (versions & 1 << QosConstants.IPV6_ADDR_MASK_BIT) != 0;
     }
 
     public boolean isBindServiceDone(Optional<Uuid> uuid) {
index 5506d31da94397ebeb4e0c1820ef759bae0531e5..825fb02ade5cac66c07b75c4cdaf93e0a30d72a7 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.netvirt.qosservice;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import java.util.Optional;
 import java.util.regex.Pattern;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
@@ -22,7 +23,7 @@ class UuidUtil {
     private Pattern uuidPattern;
 
     Optional<Uuid> newUuidIfValidPattern(String possibleUuid) {
-        Preconditions.checkNotNull(possibleUuid, "possibleUuid == null");
+        requireNonNull(possibleUuid, "possibleUuid == null");
 
         if (uuidPattern == null) {
             // Thread safe because it really doesn't matter even if we were to do this initialization more than once
index 0ae0a8252902f28a92258ce5dfc04f24bd472d4b..ef747246299b49ccb02e5480d726aa648a4843cc 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index 217a9a58b3820e2b37926edec2f025286c6714b9..2510bb54ee6c3fa8189689f5c75e8ca28f0023ac 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index b2818153b4198274ab3665b69f8ec3be5be3e225..27a558af3374103edc74f7298a7dd0767b9f79ca 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>
 
index d848b3b48ced6f898c74894058f8a8dd03e64114..2750dc3dd3075f89ab818861f983c270dbae5048 100644 (file)
@@ -28,7 +28,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceBindings;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeIngress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceTypeFlowBased;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.StypeOpenflowBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfoKey;
@@ -103,8 +102,7 @@ public final class InterfaceUtils {
             new StypeOpenflowBuilder().setFlowCookie(cookie).setFlowPriority(flowPriority).setInstruction(instructions);
         return new BoundServicesBuilder().withKey(new BoundServicesKey(servicePriority))
             .setServiceName(serviceName).setServicePriority(servicePriority)
-            .setServiceType(ServiceTypeFlowBased.class).addAugmentation(StypeOpenflow.class,
-                augBuilder.build()).build();
+            .setServiceType(ServiceTypeFlowBased.class).addAugmentation(augBuilder.build()).build();
     }
 
     public static boolean isOperational(DataBroker dataBroker, String ifName) {
index 202870f6a887ee75da7548e7a02d196c6824b126..bad7b1a10fd0aac5143d376949fd75312caae98f 100644 (file)
@@ -287,7 +287,7 @@ public class VpnFootprintService implements IVpnFootprintService {
                         if (vpnInterfaces.isEmpty()) {
                             Map<IpAddressesKey, IpAddresses> ipAddressesMap = dpnInVpn.nonnullIpAddresses();
                             VpnToDpnListBuilder dpnInVpnBuilder =
-                                    new VpnToDpnListBuilder(dpnInVpn).setVpnInterfaces(Collections.EMPTY_LIST);
+                                    new VpnToDpnListBuilder(dpnInVpn).setVpnInterfaces(Collections.emptyMap());
                             if (ipAddressesMap == null || ipAddressesMap.isEmpty()) {
                                 dpnInVpnBuilder.setDpnState(VpnToDpnList.DpnState.Inactive);
                                 lastDpnOnVpn.set(true);
index 83321fe124522ac203ad69705d0f9bee9863880f..ae222c5b01786ccdbb18dd00a4b747f0a6dda487 100755 (executable)
@@ -8,10 +8,10 @@
 package org.opendaylight.netvirt.vpnmanager;
 
 import static java.util.Collections.emptyList;
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Iterators;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
@@ -103,7 +103,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.VpnToDpnList;
 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.natservice.rev160111.ext.routers.routers.ExternalIps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.external.subnets.Subnets;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.Adjacencies;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.VpnInterfaces;
@@ -209,7 +208,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
         LOG.trace("Received VpnInterface add event: vpnInterface={}", vpnInterface);
         LOG.info("add: intfName {} onto vpnName {}", vpnInterface.getName(),
                 VpnHelper.getVpnInterfaceVpnInstanceNamesString(
-                        new ArrayList<VpnInstanceNames>(vpnInterface.nonnullVpnInstanceNames().values())));
+                        new ArrayList<>(vpnInterface.nonnullVpnInstanceNames().values())));
         addVpnInterface(identifier, vpnInterface, null, null);
     }
 
@@ -563,12 +562,12 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                 if (router != null) {
                     if (addOrRemove == NwConstants.ADD_FLOW) {
                         vpnManager.addArpResponderFlowsToExternalNetworkIps(routerName,
-                                VpnUtil.getIpsListFromExternalIps(new ArrayList<ExternalIps>(router
+                                VpnUtil.getIpsListFromExternalIps(new ArrayList<>(router
                                                 .nonnullExternalIps().values())), router.getExtGwMacAddress(),
                                 dpId, interfaceName, lportTag);
                     } else {
                         vpnManager.removeArpResponderFlowsToExternalNetworkIps(routerName,
-                                VpnUtil.getIpsListFromExternalIps(new ArrayList<ExternalIps>(router
+                                VpnUtil.getIpsListFromExternalIps(new ArrayList<>(router
                                         .nonnullExternalIps().values())),
                                 dpId, interfaceName, lportTag);
                     }
@@ -743,7 +742,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
         }
         Uuid intfnetworkUuid = null;
         NetworkType networkType = null;
-        Long segmentationId = Long.valueOf(-1);
+        long segmentationId = -1L;
         Adjacencies adjacencies = null;
         if (vpnInteface.isPresent()) {
             intfnetworkUuid = vpnInteface.get().getNetworkId();
@@ -800,7 +799,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                         + "on dpn {} for vpn {}", prefix, interfaceName, nhList, dpnId, vpnName);
 
                 Prefixes prefixes = intfnetworkUuid != null
-                    ? VpnUtil.getPrefixToInterface(dpnId, interfaceName, prefix, intfnetworkUuid ,networkType,
+                    ? VpnUtil.getPrefixToInterface(dpnId, interfaceName, prefix, intfnetworkUuidnetworkType,
                             segmentationId, prefixCue) :
                     VpnUtil.getPrefixToInterface(dpnId, interfaceName, prefix, prefixCue);
                 writeOperTxn.mergeParentStructureMerge(VpnUtil.getPrefixToInterfaceIdentifier(
@@ -1030,7 +1029,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
         AdjacenciesOp aug = VpnUtil.getVpnInterfaceOpDataEntryAugmentation(value);
         VpnInterfaceOpDataEntry opInterface = new VpnInterfaceOpDataEntryBuilder(vpnInterface)
                 .withKey(new VpnInterfaceOpDataEntryKey(vpnInterface.getName(), vpnName))
-                .addAugmentation(AdjacenciesOp.class, aug).build();
+                .addAugmentation(aug).build();
         InstanceIdentifier<VpnInterfaceOpDataEntry> interfaceId =
                 VpnUtil.getVpnInterfaceOpDataEntryIdentifier(vpnInterface.getName(), vpnName);
         writeOperTxn.mergeParentStructurePut(interfaceId, opInterface);
@@ -1047,7 +1046,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                                               TypedWriteTransaction<Operational> writeOperTxn) {
 
         AdjacenciesOp adjacencies = vpnInterface.augmentation(AdjacenciesOp.class);
-        List<Adjacency> adjList = adjacencies != null ? new ArrayList<Adjacency>(adjacencies
+        List<Adjacency> adjList = adjacencies != null ? new ArrayList<>(adjacencies
                 .nonnullAdjacency().values()) : new ArrayList<>();
         String prefix = null;
         boolean isNextHopRemoveReqd = false;
@@ -1133,7 +1132,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
             AdjacenciesOp aug = VpnUtil.getVpnInterfaceOpDataEntryAugmentation(value);
             VpnInterfaceOpDataEntry opInterface = new VpnInterfaceOpDataEntryBuilder(vpnInterface)
                     .withKey(new VpnInterfaceOpDataEntryKey(vpnInterface.getName(), vpnName))
-                    .addAugmentation(AdjacenciesOp.class, aug).build();
+                    .addAugmentation(aug).build();
             InstanceIdentifier<VpnInterfaceOpDataEntry> interfaceId =
                     VpnUtil.getVpnInterfaceOpDataEntryIdentifier(vpnInterface.getName(), vpnName);
             writeOperTxn.mergeParentStructurePut(interfaceId, opInterface);
@@ -1492,7 +1491,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                                                             String interfaceName, Uint64 dpnId,
                                                             TypedWriteTransaction<Configuration> writeConfigTxn,
                                                             TypedWriteTransaction<Operational> writeOperTx) {
-        return (nh) -> {
+        return nh -> {
             String primaryRd = vpnUtil.getVpnRd(vpnName);
             String prefix = nextHop.getIpAddress();
             String vpnNamePrefixKey = VpnUtil.getVpnNamePrefixKey(vpnName, prefix);
@@ -1526,7 +1525,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                                            TypedWriteTransaction<Operational> writeOperTx) {
         List<VpnInstanceOpDataEntry> vpnsToImportRoute =
                 vpnUtil.getVpnsImportingMyRoute(vpnName);
-        nhList.forEach((nh) -> {
+        nhList.forEach(nh -> {
             //IRT: remove routes from other vpns importing it
             if (isNonPrimaryAdjIp) {
                 removeLearntPrefixFromBGP(rd, nextHop.getIpAddress(), nh, writeConfigTxn);
@@ -1633,9 +1632,9 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                                 + "to newVpn(s) {}",
                         original.getName(), dpnId,
                         VpnHelper.getVpnInterfaceVpnInstanceNamesString(
-                                new ArrayList<VpnInstanceNames>(original.nonnullVpnInstanceNames().values())),
+                                new ArrayList<>(original.nonnullVpnInstanceNames().values())),
                         VpnHelper.getVpnInterfaceVpnInstanceNamesString(
-                                new ArrayList<VpnInstanceNames>(update.nonnullVpnInstanceNames().values())));
+                                new ArrayList<>(update.nonnullVpnInstanceNames().values())));
                 return emptyList();
             }
             updateVpnInstanceAdjChange(original, update, vpnInterfaceName, futures);
@@ -1753,10 +1752,10 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                                          List<ListenableFuture<?>> futures) {
         final Adjacencies origAdjs = original.augmentation(Adjacencies.class);
         final List<Adjacency> oldAdjs = origAdjs != null && origAdjs.getAdjacency() != null
-                ? new ArrayList<Adjacency>(origAdjs.getAdjacency().values()) : new ArrayList<>();
+                ? new ArrayList<>(origAdjs.getAdjacency().values()) : new ArrayList<>();
         final Adjacencies updateAdjs = update.augmentation(Adjacencies.class);
         final List<Adjacency> newAdjs = updateAdjs != null && updateAdjs.getAdjacency() != null
-                ? new ArrayList<Adjacency>(updateAdjs.getAdjacency().values()) : new ArrayList<>();
+                ? new ArrayList<>(updateAdjs.getAdjacency().values()) : new ArrayList<>();
 
         boolean isOldVpnRemoveCallExecuted = false;
         for (String oldVpnName : oldVpnList) {
@@ -1819,10 +1818,10 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                                                                     List<ListenableFuture<?>> futures) {
         final Adjacencies origAdjs = original.augmentation(Adjacencies.class);
         final List<Adjacency> oldAdjs = origAdjs != null && origAdjs.getAdjacency()
-                != null ? new ArrayList<Adjacency>(origAdjs.getAdjacency().values()) : new ArrayList<>();
+                != null ? new ArrayList<>(origAdjs.getAdjacency().values()) : new ArrayList<>();
         final Adjacencies updateAdjs = update.augmentation(Adjacencies.class);
         final List<Adjacency> newAdjs = updateAdjs != null && updateAdjs.getAdjacency()
-                != null ? new ArrayList<Adjacency>(updateAdjs.getAdjacency().values()) : new ArrayList<>();
+                != null ? new ArrayList<>(updateAdjs.getAdjacency().values()) : new ArrayList<>();
 
         final Uint64 dpnId = InterfaceUtils.getDpnForInterface(ifaceMgrRpcService, vpnInterfaceName);
         for (VpnInstanceNames vpnInterfaceVpnInstance : update.nonnullVpnInstanceNames().values()) {
@@ -1909,8 +1908,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
     }
 
     private void updateLabelMapper(Uint32 label, List<String> nextHopIpList) {
-        final String labelStr = Preconditions.checkNotNull(label, "updateLabelMapper: label cannot be null or empty!")
-                .toString();
+        final String labelStr = requireNonNull(label, "updateLabelMapper: label cannot be null or empty!").toString();
         // FIXME: separate this out somehow?
         final ReentrantLock lock = JvmGlobalLocks.getLockForString(labelStr);
         lock.lock();
@@ -1943,7 +1941,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
 
         RouteOrigin origin = RouteOrigin.SELF_IMPORTED;
         VrfEntry vrfEntry = FibHelper.getVrfEntryBuilder(prefix, label, nextHop, origin, parentVpnRd)
-                .addAugmentation(SubnetRoute.class, route).build();
+                .addAugmentation(route).build();
         List<VrfEntry> vrfEntryList = Collections.singletonList(vrfEntry);
         InstanceIdentifierBuilder<VrfTables> idBuilder =
             InstanceIdentifier.builder(FibEntries.class).child(VrfTables.class, new VrfTablesKey(rd));
@@ -2366,18 +2364,10 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                 return false;
             }
             UnprocessedVpnInterfaceData other = (UnprocessedVpnInterfaceData) obj;
-            if (identifier == null) {
-                if (other.identifier != null) {
-                    return false;
-                }
-            } else if (!identifier.equals(other.identifier)) {
+            if (!Objects.equals(identifier, other.identifier)) {
                 return false;
             }
-            if (vpnInterface == null) {
-                if (other.vpnInterface != null) {
-                    return false;
-                }
-            } else if (!vpnInterface.equals(other.vpnInterface)) {
+            if (!Objects.equals(vpnInterface, other.vpnInterface)) {
                 return false;
             }
             return true;
@@ -2390,7 +2380,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
         if (vpnInstanceOpData == null || vpnInstanceOpData.getVpnToDpnList() == null) {
             return;
         }
-        List<VpnToDpnList> vpnToDpnLists = new ArrayList<VpnToDpnList>(vpnInstanceOpData.getVpnToDpnList().values());
+        List<VpnToDpnList> vpnToDpnLists = new ArrayList<>(vpnInstanceOpData.getVpnToDpnList().values());
         if (vpnToDpnLists == null || vpnToDpnLists.isEmpty()) {
             return;
         }
@@ -2414,7 +2404,7 @@ public class VpnInterfaceManager extends AbstractAsyncDataTreeChangeListener<Vpn
                         LOG.debug("There is no adjacency available for vpnInterface:{}", vpnInterface);
                         return;
                     }
-                    List<Adjacency> operationVpnAdjacencies = new ArrayList<Adjacency>(vpnInterfaceOptional.get()
+                    List<Adjacency> operationVpnAdjacencies = new ArrayList<>(vpnInterfaceOptional.get()
                             .augmentation(AdjacenciesOp.class).nonnullAdjacency().values());
                     // Due to insufficient rds,  some of the extra route wont get processed when it is added.
                     // The unprocessed adjacencies will be present in config vpn interface DS but will be missing
index facaf8c05a38e6e72ea3944b5bce36ba4a60b55a..ee248cb6f088b1e57c4b5fa4fa5528d9943d0f89 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.netvirt.vpnmanager;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -100,12 +101,9 @@ public class VpnSubnetRouteHandler {
         Optional<SubnetOpDataEntry> optionalSubs = null;
         Uint32 label;
 
-        Preconditions.checkNotNull(subnetId,
-                LOGGING_PREFIX + " onSubnetAddedToVpn: SubnetId cannot be null or empty!");
-        Preconditions.checkNotNull(subnetIp,
-                LOGGING_PREFIX + " onSubnetAddedToVpn: SubnetPrefix cannot be null or empty!");
-        Preconditions.checkNotNull(elanTag,
-                LOGGING_PREFIX + " onSubnetAddedToVpn: ElanTag cannot be null or empty!");
+        requireNonNull(subnetId, LOGGING_PREFIX + " onSubnetAddedToVpn: SubnetId cannot be null or empty!");
+        requireNonNull(subnetIp, LOGGING_PREFIX + " onSubnetAddedToVpn: SubnetPrefix cannot be null or empty!");
+        requireNonNull(elanTag, LOGGING_PREFIX + " onSubnetAddedToVpn: ElanTag cannot be null or empty!");
 
         if (subnetmap.getVpnId() == null) {
             LOG.error("onSubnetAddedToVpn: VpnId {} for subnet {} not found, bailing out", subnetmap.getVpnId(),
@@ -386,12 +384,10 @@ public class VpnSubnetRouteHandler {
         String vpnName = subnetmap.getVpnId().getValue();
         String subnetIp = subnetmap.getSubnetIp();
 
-        Preconditions.checkNotNull(subnetId,
-                LOGGING_PREFIX + " onSubnetUpdatedInVpn: SubnetId cannot be null or empty!");
-        Preconditions.checkNotNull(subnetIp,
-                LOGGING_PREFIX + " onSubnetUpdatedInVpn: SubnetPrefix cannot be null or empty!");
-        Preconditions.checkNotNull(vpnName, LOGGING_PREFIX + " onSubnetUpdatedInVpn: VpnName cannot be null or empty!");
-        Preconditions.checkNotNull(elanTag, LOGGING_PREFIX + " onSubnetUpdatedInVpn: ElanTag cannot be null or empty!");
+        requireNonNull(subnetId, LOGGING_PREFIX + " onSubnetUpdatedInVpn: SubnetId cannot be null or empty!");
+        requireNonNull(subnetIp, LOGGING_PREFIX + " onSubnetUpdatedInVpn: SubnetPrefix cannot be null or empty!");
+        requireNonNull(vpnName, LOGGING_PREFIX + " onSubnetUpdatedInVpn: VpnName cannot be null or empty!");
+        requireNonNull(elanTag, LOGGING_PREFIX + " onSubnetUpdatedInVpn: ElanTag cannot be null or empty!");
         try {
             InstanceIdentifier<SubnetOpDataEntry> subOpIdentifier =
                     InstanceIdentifier.builder(SubnetOpData.class).child(SubnetOpDataEntry.class,
@@ -480,7 +476,7 @@ public class VpnSubnetRouteHandler {
             }
             SubnetOpDataEntry subnetOpDataEntry = optionalSubs.get();
             SubnetOpDataEntryBuilder subOpBuilder = new SubnetOpDataEntryBuilder(subnetOpDataEntry);
-            List<SubnetToDpn> subnetToDpnList = concat(new ArrayList<SubnetToDpn>(subnetOpDataEntry
+            List<SubnetToDpn> subnetToDpnList = concat(new ArrayList<>(subnetOpDataEntry
                     .nonnullSubnetToDpn().values()), subDpn);
             subOpBuilder.setSubnetToDpn(getSubnetToDpnMap(subnetToDpnList));
             if (subOpBuilder.getRouteAdvState() != TaskState.Advertised) {
@@ -619,7 +615,7 @@ public class VpnSubnetRouteHandler {
                     subOpBuilder.getRouteAdvState(), subOpBuilder.getLastAdvState());
             boolean isExternalSubnetVpn = VpnUtil.isExternalSubnetVpn(subnetOpDataEntry.getVpnName(),
                     subnetId.getValue());
-            List<SubnetToDpn> subnetToDpnList = concat(new ArrayList<SubnetToDpn>(subnetOpDataEntry
+            List<SubnetToDpn> subnetToDpnList = concat(new ArrayList<>(subnetOpDataEntry
                     .nonnullSubnetToDpn().values()), subDpn);
             subOpBuilder.setSubnetToDpn(getSubnetToDpnMap(subnetToDpnList));
             Uint32 label = optionalSubs.get().getLabel();
@@ -886,13 +882,11 @@ public class VpnSubnetRouteHandler {
                                         String vpnName, Long elanTag, Uint32 label, Uint32 l3vni,
                                         Uuid subnetId, boolean isBgpVpn, String networkName) {
 
-        Preconditions.checkNotNull(rd,
-                LOGGING_PREFIX + " addSubnetRouteToFib: RouteDistinguisher cannot be null or empty!");
-        Preconditions.checkNotNull(subnetIp,
-                LOGGING_PREFIX + " addSubnetRouteToFib: SubnetRouteIp cannot be null or empty!");
-        Preconditions.checkNotNull(vpnName, LOGGING_PREFIX + " addSubnetRouteToFib: vpnName cannot be null or empty!");
-        Preconditions.checkNotNull(elanTag, LOGGING_PREFIX + " addSubnetRouteToFib: elanTag cannot be null or empty!");
-        Preconditions.checkNotNull(label, LOGGING_PREFIX + " addSubnetRouteToFib: label cannot be null or empty!");
+        requireNonNull(rd, LOGGING_PREFIX + " addSubnetRouteToFib: RouteDistinguisher cannot be null or empty!");
+        requireNonNull(subnetIp, LOGGING_PREFIX + " addSubnetRouteToFib: SubnetRouteIp cannot be null or empty!");
+        requireNonNull(vpnName, LOGGING_PREFIX + " addSubnetRouteToFib: vpnName cannot be null or empty!");
+        requireNonNull(elanTag, LOGGING_PREFIX + " addSubnetRouteToFib: elanTag cannot be null or empty!");
+        requireNonNull(label, LOGGING_PREFIX + " addSubnetRouteToFib: label cannot be null or empty!");
         VrfEntry.EncapType encapType = VpnUtil.getEncapType(VpnUtil.isL3VpnOverVxLan(l3vni));
         VpnPopulator vpnPopulator = L3vpnRegistry.getRegisteredPopulator(encapType);
         LOG.info("{} addSubnetRouteToFib: Adding SubnetRoute fib entry for vpnName {}, subnetIP {}, elanTag {}",
@@ -905,7 +899,7 @@ public class VpnSubnetRouteHandler {
             vpnPopulator.populateFib(input, null /*writeCfgTxn*/);
             return true;
         }
-        Preconditions.checkNotNull(nextHopIp, LOGGING_PREFIX + "NextHopIp cannot be null or empty!");
+        requireNonNull(nextHopIp, LOGGING_PREFIX + "NextHopIp cannot be null or empty!");
         vpnUtil.syncWrite(LogicalDatastoreType.OPERATIONAL, VpnUtil
                 .getPrefixToInterfaceIdentifier(vpnUtil.getVpnId(vpnName), subnetIp), VpnUtil
                 .getPrefixToInterface(nhDpnId, subnetId.getValue(), subnetIp, Prefixes.PrefixCue.SubnetRoute));
@@ -934,10 +928,8 @@ public class VpnSubnetRouteHandler {
     // TODO Clean up the exception handling
     @SuppressWarnings("checkstyle:IllegalCatch")
     private boolean deleteSubnetRouteFromFib(String rd, String subnetIp, String vpnName, boolean isBgpVpn) {
-        Preconditions.checkNotNull(rd,
-                LOGGING_PREFIX + " deleteSubnetRouteFromFib: RouteDistinguisher cannot be null or empty!");
-        Preconditions.checkNotNull(subnetIp,
-                LOGGING_PREFIX +  " deleteSubnetRouteFromFib: SubnetRouteIp cannot be null or empty!");
+        requireNonNull(rd, LOGGING_PREFIX + " deleteSubnetRouteFromFib: RouteDistinguisher cannot be null or empty!");
+        requireNonNull(subnetIp, LOGGING_PREFIX +  " deleteSubnetRouteFromFib: SubnetRouteIp cannot be null or empty!");
         deleteSubnetRouteFibEntryFromDS(rd, subnetIp, vpnName);
         if (isBgpVpn) {
             try {
index 60ae47385007440c697d240584813895aee1dead..c74b1b914debb214ea7a5f6a1f5aad059192fac3 100644 (file)
@@ -341,7 +341,7 @@ public final class VpnUtil {
                                                               Uint64 dpnId, long lportTag,
                                                               String gwMac, String gwIp) {
         return new VpnInterfaceOpDataEntryBuilder().withKey(new VpnInterfaceOpDataEntryKey(intfName, vpnName))
-                .setDpnId(dpnId).addAugmentation(AdjacenciesOp.class, aug)
+                .setDpnId(dpnId).addAugmentation(aug)
                 .setLportTag(lportTag).setGatewayMacAddress(gwMac).setGatewayIpAddress(gwIp).build();
     }
 
@@ -424,7 +424,7 @@ public final class VpnUtil {
     public List<VrfEntry> getAllVrfEntries(String rd) {
         VrfTables vrfTables = getVrfTable(rd);
         if (vrfTables != null && vrfTables.getVrfEntry() != null) {
-            return new ArrayList<VrfEntry>(vrfTables.getVrfEntry().values());
+            return new ArrayList<>(vrfTables.getVrfEntry().values());
         }
         return emptyList();
     }
@@ -447,7 +447,7 @@ public final class VpnUtil {
             return
                     vpnInstanceOpDataOptional.isPresent() && vpnInstanceOpDataOptional.get()
                             .getVpnInstanceOpDataEntry() != null
-                            ? new ArrayList<VpnInstanceOpDataEntry>(vpnInstanceOpDataOptional.get()
+                            ? new ArrayList<>(vpnInstanceOpDataOptional.get()
                             .getVpnInstanceOpDataEntry().values()) : emptyList();
         } catch (Exception e) {
             LOG.error("getAllVpnInstanceOpData: Could not retrieve all vpn instance op data subtree...", e);
@@ -463,8 +463,7 @@ public final class VpnUtil {
         InstanceIdentifier<VpnToDpnList> dpnToVpnId = VpnHelper.getVpnToDpnListIdentifier(primaryRd, dpnId);
         Optional<VpnToDpnList> dpnInVpn = read(LogicalDatastoreType.OPERATIONAL, dpnToVpnId);
         return dpnInVpn.isPresent() && dpnInVpn.get().getVpnInterfaces() != null
-                ? new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op
-                .data.vpn.instance.op.data.entry.vpn.to.dpn.list.VpnInterfaces>(dpnInVpn.get()
+                ? new ArrayList<>(dpnInVpn.get()
                 .getVpnInterfaces().values())
                 : emptyList();
     }
@@ -497,7 +496,7 @@ public final class VpnUtil {
         InstanceIdentifier<Adjacencies> path = identifier.augmentation(Adjacencies.class);
         Optional<Adjacencies> adjacencies = read(LogicalDatastoreType.CONFIGURATION, path);
         if (adjacencies.isPresent()) {
-            return new ArrayList<Adjacency>(adjacencies.get().nonnullAdjacency().values());
+            return new ArrayList<>(adjacencies.get().nonnullAdjacency().values());
         }
         return null;
     }
@@ -569,7 +568,7 @@ public final class VpnUtil {
             if (result == null || result.get() == null || !result.get().isSuccessful()) {
                 LOG.error("releaseId: RPC Call to release Id from pool {} with key {} returned with Errors {}",
                         poolName, idKey,
-                        (result != null && result.get() != null) ? result.get().getErrors() : "RpcResult is null");
+                        result != null && result.get() != null ? result.get().getErrors() : "RpcResult is null");
             } else {
                 return result.get().getResult().getIdValues().get(0).intValue();
             }
@@ -621,7 +620,8 @@ public final class VpnUtil {
     public static String getVpnRd(TypedReadTransaction<Configuration> confTx, String vpnName) {
         try {
             return confTx.read(VpnOperDsUtils.getVpnInstanceToVpnIdIdentifier(vpnName)).get().map(
-                vpnInstance -> vpnInstance.getVrfId()).orElse(null);
+                org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911
+                    .vpn.instance.to.vpn.id.VpnInstance::getVrfId).orElse(null);
         } catch (InterruptedException | ExecutionException e) {
             throw new RuntimeException(e);
         }
@@ -807,7 +807,7 @@ public final class VpnUtil {
             VpnInterface cfgVpnInterface = optConfiguredVpnInterface.get();
             java.util.Optional<List<VpnInstanceNames>> optVpnInstanceList =
                     java.util.Optional.ofNullable(
-                            new ArrayList<VpnInstanceNames>(cfgVpnInterface.nonnullVpnInstanceNames().values()));
+                            new ArrayList<>(cfgVpnInterface.nonnullVpnInstanceNames().values()));
             if (optVpnInstanceList.isPresent()) {
                 List<String> vpnList = new ArrayList<>();
                 for (VpnInstanceNames vpnInstance : optVpnInstanceList.get()) {
@@ -824,7 +824,7 @@ public final class VpnUtil {
     }
 
     static final FutureCallback<Void> DEFAULT_CALLBACK =
-            new FutureCallback<Void>() {
+            new FutureCallback<>() {
             @Override
                 public void onSuccess(Void result) {
                 LOG.debug("Success in Datastore operation");
@@ -2068,7 +2068,7 @@ public final class VpnUtil {
                 elanInterfaceList = new ArrayList<>();
             } else {
                 dpnInterface = dpnInElanInterfaces.get();
-                elanInterfaceList = (dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty())
+                elanInterfaceList = dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty()
                         ? new ArrayList<>(dpnInterface.getInterfaces()) : elanInterfaceList;
             }
             if (!elanInterfaceList.contains(routerInterfacePortId)) {
@@ -2097,7 +2097,7 @@ public final class VpnUtil {
                 return;
             } else {
                 dpnInterface = dpnInElanInterfaces.get();
-                elanInterfaceList = (dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty())
+                elanInterfaceList = dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty()
                         ? new ArrayList<>(dpnInterface.getInterfaces()) : elanInterfaceList;
             }
             if (!elanInterfaceList.contains(routerInterfacePortId)) {
@@ -2194,7 +2194,7 @@ public final class VpnUtil {
         if (subnetMapsData.isPresent()) {
             List<Subnetmap> subnetMapList = new ArrayList<>();
             Subnetmaps subnetMaps = subnetMapsData.get();
-            subnetMapList = (subnetMaps.getSubnetmap() != null && !subnetMaps.getSubnetmap().isEmpty())
+            subnetMapList = subnetMaps.getSubnetmap() != null && !subnetMaps.getSubnetmap().isEmpty()
                     ? new ArrayList<>(subnetMaps.getSubnetmap().values()) : subnetMapList;
 
             if (subnetMapList != null && !subnetMapList.isEmpty()) {
index a73aae48e51d07e1b856a0354e22eb8e13247ed7..b64fc655b494742ff63f4dd75a2de1e89dcf5d55 100755 (executable)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.netvirt.vpnmanager.intervpnlink;
 
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
-import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
@@ -279,7 +279,7 @@ public class InterVpnLinkListener extends AbstractAsyncDataTreeChangeListener<In
     }
 
     private boolean checkVpnAvailability(InterVpnLinkKey key, String vpnName) {
-        Preconditions.checkNotNull(vpnName);
+        requireNonNull(vpnName);
 
         List<InterVpnLinkDataComposite> allInterVpnLinks = interVpnLinkCache.getAllInterVpnLinks();
         if (allInterVpnLinks.isEmpty()) {
index be4fdf7d2cfca975dfc37c81982192249755667f..eec6791558b13436e684acc97e9e2b439571c6f7 100644 (file)
@@ -237,7 +237,7 @@ public class LearntVpnVipToPortEventProcessor
                 adjacencyList.add(newAdjBuilder.build());
                 Adjacencies aug = VpnUtil.getVpnInterfaceAugmentation(adjacencyList);
                 VpnInterface newVpnIntf = new VpnInterfaceBuilder(optVpnInterface.get())
-                        .addAugmentation(Adjacencies.class, aug).build();
+                        .addAugmentation(aug).build();
                 SingleTransactionDataBroker.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, vpnIfId,
                     newVpnIntf, VpnUtil.SINGLE_TRANSACTION_BROKER_NO_RETRY);
                 LOG.debug(" Successfully stored subnetroute Adjacency into VpnInterface {}", vpnInterface);
index 55988797ed440131f27f17bda5fa1120c1416a01..fc9497a9ba5ce061fa12921d596ccba0a9808619 100644 (file)
@@ -7,10 +7,10 @@
  */
 package org.opendaylight.netvirt.vpnmanager.populator.impl;
 
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.infrautils.utils.concurrent.LoggingFutures.addErrorLogging;
 import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 
-import com.google.common.base.Preconditions;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -90,7 +90,7 @@ public abstract class L3vpnPopulator implements VpnPopulator {
         SubnetRoute route = new SubnetRouteBuilder().setElantag(elantag).build();
         RouteOrigin origin = RouteOrigin.CONNECTED; // Only case when a route is considered as directly connected
         VrfEntry vrfEntry = FibHelper.getVrfEntryBuilder(prefix, label, nextHop, origin, networkName)
-                .addAugmentation(SubnetRoute.class, route).setL3vni(l3vni).setGatewayMacAddress(gwMacAddress).build();
+                .addAugmentation(route).setL3vni(l3vni).setGatewayMacAddress(gwMacAddress).build();
         LOG.debug("Created vrfEntry for {} nexthop {} label {} and elantag {}", prefix, nextHop, label, elantag);
         InstanceIdentifier<VrfEntry> vrfEntryId =
                 InstanceIdentifier.builder(FibEntries.class)
@@ -126,7 +126,7 @@ public abstract class L3vpnPopulator implements VpnPopulator {
             List<VpnInstanceOpDataEntry> vpnsToImportRoute = vpnUtil.getVpnsImportingMyRoute(vpnName);
             if (vpnsToImportRoute.size() > 0) {
                 VrfEntry importingVrfEntry = FibHelper.getVrfEntryBuilder(prefix, label, nextHop,
-                        RouteOrigin.SELF_IMPORTED, rd).addAugmentation(SubnetRoute.class, route).build();
+                        RouteOrigin.SELF_IMPORTED, rd).addAugmentation(route).build();
                 List<VrfEntry> importingVrfEntryList = Collections.singletonList(importingVrfEntry);
                 for (VpnInstanceOpDataEntry vpnInstance : vpnsToImportRoute) {
                     String importingRd = vpnInstance.getVrfId();
@@ -149,14 +149,13 @@ public abstract class L3vpnPopulator implements VpnPopulator {
     public void addToLabelMapper(Uint32 label, Uint64 dpnId, String prefix, List<String> nextHopIpList, Uint32 vpnId,
                                  @Nullable String vpnInterfaceName, @Nullable Uint32 elanTag,
                                  boolean isSubnetRoute, String rd) {
-        final String labelStr = Preconditions.checkNotNull(label, "addToLabelMapper: label cannot be null or empty!")
-                .toString();
-        Preconditions.checkNotNull(prefix, "addToLabelMapper: prefix cannot be null or empty!");
-        Preconditions.checkNotNull(vpnId, "addToLabelMapper: vpnId cannot be null or empty!");
-        Preconditions.checkNotNull(rd, "addToLabelMapper: rd cannot be null or empty!");
+        final String labelStr = requireNonNull(label, "addToLabelMapper: label cannot be null or empty!").toString();
+        requireNonNull(prefix, "addToLabelMapper: prefix cannot be null or empty!");
+        requireNonNull(vpnId, "addToLabelMapper: vpnId cannot be null or empty!");
+        requireNonNull(rd, "addToLabelMapper: rd cannot be null or empty!");
         if (!isSubnetRoute) {
             // NextHop must be present for non-subnetroute entries
-            Preconditions.checkNotNull(nextHopIpList, "addToLabelMapper: nextHopIp cannot be null or empty!");
+            requireNonNull(nextHopIpList, "addToLabelMapper: nextHopIp cannot be null or empty!");
         }
 
         // FIXME: separate this out somehow?
index 6fead11471721a32d1d573640606447ec376fae5..e29dac990fb004ef9ef9028613f34c0a593a5f89 100644 (file)
@@ -155,11 +155,11 @@ public class VpnSubnetRouteHandlerTest {
     InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.to.vpn.id
         .VpnInstance> instVpnInstance = getVpnInstanceToVpnIdIdentifier(interfaceName);
     InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.instances
-        .VpnInstance>
-        vpnInstanceIdentifier = InstanceIdentifier.builder(VpnInstances.class).child(org.opendaylight.yang.gen.v1.urn
-                    .opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.instances.VpnInstance.class,
-        new org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.instances
-            .VpnInstanceKey(interfaceName)).build();
+        .VpnInstance> vpnInstanceIdentifier = InstanceIdentifier.builder(VpnInstances.class)
+            .child(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.instances
+                    .VpnInstance.class,
+                    new org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.instances
+                        .VpnInstanceKey(interfaceName)).build();
     InstanceIdentifier<Networks> netsIdentifier =
         InstanceIdentifier.builder(ExternalNetworks.class).child(Networks.class, new NetworksKey(portId)).build();
 
index 9de8878963f17c0d209673a1ccaf1a3301697986..eef38c52219b9b834c4a45d3c8e57866fd1597a7 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>7.0.6</version>
+        <version>8.1.0</version>
         <relativePath/>
     </parent>