Use dianmond operator

Change-Id: I551dd9443b10ef17832f74a554486b7605e9866a
diff --git a/src/main/java/org/onosproject/segmentrouting/DeviceConfiguration.java b/src/main/java/org/onosproject/segmentrouting/DeviceConfiguration.java
index e18ebfa..9a6e127 100644
--- a/src/main/java/org/onosproject/segmentrouting/DeviceConfiguration.java
+++ b/src/main/java/org/onosproject/segmentrouting/DeviceConfiguration.java
@@ -48,7 +48,7 @@
 
     private static final Logger log = LoggerFactory
             .getLogger(DeviceConfiguration.class);
-    private final List<Integer> allSegmentIds = new ArrayList<Integer>();
+    private final List<Integer> allSegmentIds = new ArrayList<>();
     private final HashMap<DeviceId, SegmentRouterInfo> deviceConfigMap = new HashMap<>();
     private final NetworkConfigManager configService;
 
@@ -88,7 +88,7 @@
             info.ip = prefix.address();
             info.isEdge = ((SegmentRouterConfig) cfg).isEdgeRouter();
             info.subnets = new HashMap<>();
-            info.gatewayIps = new HashMap<PortNumber, Ip4Address>();
+            info.gatewayIps = new HashMap<>();
             for (Subnet s: ((SegmentRouterConfig) cfg).getSubnets()) {
                 info.subnets.put(PortNumber.portNumber(s.getPortNo()),
                                  Ip4Prefix.valueOf(s.getSubnetIp()));
diff --git a/src/main/java/org/onosproject/segmentrouting/ECMPShortestPathGraph.java b/src/main/java/org/onosproject/segmentrouting/ECMPShortestPathGraph.java
index cd28fcf..b483d9e 100644
--- a/src/main/java/org/onosproject/segmentrouting/ECMPShortestPathGraph.java
+++ b/src/main/java/org/onosproject/segmentrouting/ECMPShortestPathGraph.java
@@ -109,7 +109,7 @@
                     ArrayList<DeviceId> distanceSwArray = distanceDeviceMap
                             .get(currDistance + 1);
                     if (distanceSwArray == null) {
-                        distanceSwArray = new ArrayList<DeviceId>();
+                        distanceSwArray = new ArrayList<>();
                         distanceSwArray.add(reachedDevice);
                         distanceDeviceMap.put(currDistance + 1, distanceSwArray);
                     } else {
@@ -120,7 +120,7 @@
                 ArrayList<Link> upstreamLinkArray =
                         upstreamLinks.get(reachedDevice);
                 if (upstreamLinkArray == null) {
-                    upstreamLinkArray = new ArrayList<Link>();
+                    upstreamLinkArray = new ArrayList<>();
                     upstreamLinkArray.add(copyDefaultLink(link));
                     //upstreamLinkArray.add(link);
                     upstreamLinks.put(reachedDevice, upstreamLinkArray);
@@ -183,7 +183,7 @@
                     ArrayList<DeviceId> distanceSwArray = distanceDeviceMap
                             .get(currDistance + 1);
                     if (distanceSwArray == null) {
-                        distanceSwArray = new ArrayList<DeviceId>();
+                        distanceSwArray = new ArrayList<>();
                         distanceSwArray.add(reachedDevice);
                         distanceDeviceMap.put(currDistance + 1, distanceSwArray);
                     } else {
@@ -194,7 +194,7 @@
                 ArrayList<Link> upstreamLinkArray =
                         upstreamLinks.get(reachedDevice);
                 if (upstreamLinkArray == null) {
-                    upstreamLinkArray = new ArrayList<Link>();
+                    upstreamLinkArray = new ArrayList<>();
                     upstreamLinkArray.add(copyDefaultLink(link));
                     upstreamLinks.put(reachedDevice, upstreamLinkArray);
                 } else {
@@ -234,7 +234,7 @@
         for (Link upstreamLink : upstreamLinks.get(dstDeviceDeviceId)) {
             /* Deep clone the path object */
             Path sofarPath;
-            ArrayList<Link> sofarLinks = new ArrayList<Link>();
+            ArrayList<Link> sofarLinks = new ArrayList<>();
             if (path != null && !path.links().isEmpty()) {
                 sofarLinks.addAll(path.links());
             }
@@ -288,12 +288,10 @@
     public HashMap<Integer, HashMap<DeviceId,
             ArrayList<Path>>> getCompleteLearnedDeviceesAndPaths() {
 
-        HashMap<Integer, HashMap<DeviceId, ArrayList<Path>>> pathGraph = new
-                HashMap<Integer, HashMap<DeviceId, ArrayList<Path>>>();
+        HashMap<Integer, HashMap<DeviceId, ArrayList<Path>>> pathGraph = new HashMap<>();
 
         for (Integer itrIndx : distanceDeviceMap.keySet()) {
-            HashMap<DeviceId, ArrayList<Path>> swMap = new
-                    HashMap<DeviceId, ArrayList<Path>>();
+            HashMap<DeviceId, ArrayList<Path>> swMap = new HashMap<>();
             for (DeviceId sw : distanceDeviceMap.get(itrIndx)) {
                 swMap.put(sw, getECMPPaths(sw));
             }
@@ -314,12 +312,10 @@
     public HashMap<Integer, HashMap<DeviceId,
             ArrayList<ArrayList<DeviceId>>>> getAllLearnedSwitchesAndVia() {
 
-        HashMap<Integer, HashMap<DeviceId, ArrayList<ArrayList<DeviceId>>>> deviceViaMap =
-                new HashMap<Integer, HashMap<DeviceId, ArrayList<ArrayList<DeviceId>>>>();
+        HashMap<Integer, HashMap<DeviceId, ArrayList<ArrayList<DeviceId>>>> deviceViaMap = new HashMap<>();
 
         for (Integer itrIndx : distanceDeviceMap.keySet()) {
-            HashMap<DeviceId, ArrayList<ArrayList<DeviceId>>> swMap =
-                    new HashMap<DeviceId, ArrayList<ArrayList<DeviceId>>>();
+            HashMap<DeviceId, ArrayList<ArrayList<DeviceId>>> swMap = new HashMap<>();
 
             for (DeviceId sw : distanceDeviceMap.get(itrIndx)) {
                 ArrayList<ArrayList<DeviceId>> swViaArray = new ArrayList<>();
diff --git a/src/main/java/org/onosproject/segmentrouting/IpHandler.java b/src/main/java/org/onosproject/segmentrouting/IpHandler.java
index 81d00f5..e37fe52 100644
--- a/src/main/java/org/onosproject/segmentrouting/IpHandler.java
+++ b/src/main/java/org/onosproject/segmentrouting/IpHandler.java
@@ -50,7 +50,7 @@
     public IpHandler(SegmentRoutingManager srManager) {
         this.srManager = srManager;
         this.config = checkNotNull(srManager.deviceConfiguration);
-        ipPacketQueue = new ConcurrentHashMap<Ip4Address, ConcurrentLinkedQueue<IPv4>>();
+        ipPacketQueue = new ConcurrentHashMap<>();
     }
 
     /**
@@ -104,7 +104,7 @@
         Ip4Address destIpAddress = Ip4Address.valueOf(ipPacket.getDestinationAddress());
 
         if (ipPacketQueue.get(destIpAddress) == null) {
-            ConcurrentLinkedQueue<IPv4> queue = new ConcurrentLinkedQueue<IPv4>();
+            ConcurrentLinkedQueue<IPv4> queue = new ConcurrentLinkedQueue<>();
             queue.add(ipPacket);
             ipPacketQueue.put(destIpAddress, queue);
         } else {
diff --git a/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java b/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
index 59fc4ca..d802be9 100644
--- a/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
+++ b/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
@@ -221,7 +221,7 @@
                                     Set<DeviceId> nextHops) {
 
         TrafficSelector.Builder sbuilder = DefaultTrafficSelector.builder();
-        List<ForwardingObjective.Builder> fwdObjBuilders = new ArrayList<ForwardingObjective.Builder>();
+        List<ForwardingObjective.Builder> fwdObjBuilders = new ArrayList<>();
 
         // TODO Handle the case of Bos == false
         sbuilder.matchMplsLabel(MplsLabel.mplsLabel(config.getSegmentId(destSwId)));
diff --git a/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultEdgeGroupHandler.java b/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultEdgeGroupHandler.java
index 41cf8ac..3dc312d 100644
--- a/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultEdgeGroupHandler.java
+++ b/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultEdgeGroupHandler.java
@@ -69,7 +69,7 @@
         Set<Set<DeviceId>> powerSet = getPowerSetOfNeighbors(neighbors);
         log.trace("createGroupsAtEdgeRouter: The size of neighbor powerset "
                 + "for sw {} is {}", deviceId, powerSet.size());
-        Set<NeighborSet> nsSet = new HashSet<NeighborSet>();
+        Set<NeighborSet> nsSet = new HashSet<>();
         for (Set<DeviceId> combo : powerSet) {
             if (combo.isEmpty()) {
                 continue;
@@ -148,7 +148,7 @@
                                             Set<DeviceId> updatedNeighbors) {
         Set<Set<DeviceId>> powerSet = getPowerSetOfNeighbors(updatedNeighbors);
 
-        Set<DeviceId> tmp = new HashSet<DeviceId>();
+        Set<DeviceId> tmp = new HashSet<>();
         tmp.addAll(updatedNeighbors);
         tmp.remove(impactedNeighbor);
         Set<Set<DeviceId>> tmpPowerSet = getPowerSetOfNeighbors(tmp);
@@ -156,7 +156,7 @@
         // Compute the impacted neighbor sets
         powerSet.removeAll(tmpPowerSet);
 
-        Set<NeighborSet> nsSet = new HashSet<NeighborSet>();
+        Set<NeighborSet> nsSet = new HashSet<>();
         for (Set<DeviceId> combo : powerSet) {
             if (combo.isEmpty()) {
                 continue;
diff --git a/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java b/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
index a43a0f0..3ff0e35 100644
--- a/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
+++ b/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
@@ -371,7 +371,7 @@
         if (devicePortMap.get(neighborId) != null) {
             devicePortMap.get(neighborId).add(portToNeighbor);
         } else {
-            Set<PortNumber> ports = new HashSet<PortNumber>();
+            Set<PortNumber> ports = new HashSet<>();
             ports.add(portToNeighbor);
             devicePortMap.put(neighborId, ports);
         }
@@ -383,8 +383,8 @@
     }
 
     protected Set<Set<DeviceId>> getPowerSetOfNeighbors(Set<DeviceId> neighbors) {
-        List<DeviceId> list = new ArrayList<DeviceId>(neighbors);
-        Set<Set<DeviceId>> sets = new HashSet<Set<DeviceId>>();
+        List<DeviceId> list = new ArrayList<>(neighbors);
+        Set<Set<DeviceId>> sets = new HashSet<>();
         // get the number of elements in the neighbors
         int elements = list.size();
         // the number of members of a power set is 2^n
@@ -394,7 +394,7 @@
         // run a binary counter for the number of power elements
         // NOTE: Exclude empty set
         for (long i = 1; i < powerElements; i++) {
-            Set<DeviceId> neighborSubSet = new HashSet<DeviceId>();
+            Set<DeviceId> neighborSubSet = new HashSet<>();
             for (int j = 0; j < elements; j++) {
                 if ((i >> j) % 2 == 1) {
                     neighborSubSet.add(list.get(j));
@@ -411,7 +411,7 @@
 
     protected List<Integer> getSegmentIdsTobePairedWithNeighborSet(Set<DeviceId> neighbors) {
 
-        List<Integer> nsSegmentIds = new ArrayList<Integer>();
+        List<Integer> nsSegmentIds = new ArrayList<>();
 
         // Always pair up with no edge label
         // If (neighbors.size() == 1) {
diff --git a/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultTransitGroupHandler.java b/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultTransitGroupHandler.java
index e12426c..3cb73ab 100644
--- a/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultTransitGroupHandler.java
+++ b/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultTransitGroupHandler.java
@@ -63,7 +63,7 @@
         sets = filterEdgeRouterOnlyPairings(sets);
         log.debug("createGroupsAtTransitRouter: The size of neighbor powerset "
                 + "for sw {} is {}", deviceId, sets.size());
-        Set<NeighborSet> nsSet = new HashSet<NeighborSet>();
+        Set<NeighborSet> nsSet = new HashSet<>();
         for (Set<DeviceId> combo : sets) {
             if (combo.isEmpty()) {
                 continue;
@@ -137,7 +137,7 @@
                                             Set<DeviceId> updatedNeighbors) {
         Set<Set<DeviceId>> powerSet = getPowerSetOfNeighbors(updatedNeighbors);
 
-        Set<DeviceId> tmp = new HashSet<DeviceId>();
+        Set<DeviceId> tmp = new HashSet<>();
         tmp.addAll(updatedNeighbors);
         tmp.remove(impactedNeighbor);
         Set<Set<DeviceId>> tmpPowerSet = getPowerSetOfNeighbors(tmp);
@@ -146,7 +146,7 @@
         powerSet.removeAll(tmpPowerSet);
 
         powerSet = filterEdgeRouterOnlyPairings(powerSet);
-        Set<NeighborSet> nsSet = new HashSet<NeighborSet>();
+        Set<NeighborSet> nsSet = new HashSet<>();
         for (Set<DeviceId> combo : powerSet) {
             if (combo.isEmpty()) {
                 continue;
@@ -163,7 +163,7 @@
     }
 
     private Set<Set<DeviceId>> filterEdgeRouterOnlyPairings(Set<Set<DeviceId>> sets) {
-        Set<Set<DeviceId>> fiteredSets = new HashSet<Set<DeviceId>>();
+        Set<Set<DeviceId>> fiteredSets = new HashSet<>();
         for (Set<DeviceId> deviceSubSet : sets) {
             if (deviceSubSet.size() > 1) {
                 boolean avoidEdgeRouterPairing = true;
diff --git a/src/main/java/org/onosproject/segmentrouting/grouphandler/NeighborSet.java b/src/main/java/org/onosproject/segmentrouting/grouphandler/NeighborSet.java
index 7ada322..44715d2 100644
--- a/src/main/java/org/onosproject/segmentrouting/grouphandler/NeighborSet.java
+++ b/src/main/java/org/onosproject/segmentrouting/grouphandler/NeighborSet.java
@@ -44,7 +44,7 @@
     public NeighborSet(Set<DeviceId> neighbors) {
         checkNotNull(neighbors);
         this.edgeLabel = NO_EDGE_LABEL;
-        this.neighbors = new HashSet<DeviceId>();
+        this.neighbors = new HashSet<>();
         this.neighbors.addAll(neighbors);
     }
 
@@ -57,7 +57,7 @@
     public NeighborSet(Set<DeviceId> neighbors, int edgeLabel) {
         checkNotNull(neighbors);
         this.edgeLabel = edgeLabel;
-        this.neighbors = new HashSet<DeviceId>();
+        this.neighbors = new HashSet<>();
         this.neighbors.addAll(neighbors);
     }
 
@@ -66,7 +66,7 @@
      */
     public NeighborSet() {
         this.edgeLabel = NO_EDGE_LABEL;
-        this.neighbors = new HashSet<DeviceId>();
+        this.neighbors = new HashSet<>();
     }
 
     /**