Replaced Stream#forEach() with Collection#forEach()

And also replaced comparators to Compatator#comparing

Change-Id: I3759a872ee65ad6a4c660aa74ab893b67891c50f
diff --git a/src/main/java/org/opencord/cordvtn/api/net/ServiceNetwork.java b/src/main/java/org/opencord/cordvtn/api/net/ServiceNetwork.java
index 36cac9f..354a999 100644
--- a/src/main/java/org/opencord/cordvtn/api/net/ServiceNetwork.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/ServiceNetwork.java
@@ -18,12 +18,10 @@
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.IpPrefix;
 
-import java.util.Comparator;
 import java.util.Map;
 
 /**
- * Representation of a service network which holds service specific information,
- * like service type or dependency, in addition to the common network.
+ * Representation of a service network.
  */
 public interface ServiceNetwork {
 
@@ -42,9 +40,6 @@
         UNIDIRECTIONAL
     }
 
-    Comparator<ServiceNetwork> SERVICE_NETWORK_COMPARATOR =
-            (net1, net2) -> net1.id().id().compareTo(net2.id().id());
-
     /**
      * Returns the service network identifier.
      *
diff --git a/src/main/java/org/opencord/cordvtn/api/net/ServicePort.java b/src/main/java/org/opencord/cordvtn/api/net/ServicePort.java
index 83117ee..07db2e7 100644
--- a/src/main/java/org/opencord/cordvtn/api/net/ServicePort.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/ServicePort.java
@@ -19,18 +19,13 @@
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
 
-import java.util.Comparator;
 import java.util.Set;
 
 /**
- * Representation of a service port which holds service specific port information,
- * like vlan tag or additional addresses, to the common network port.
+ * Representation of a service port.
  */
 public interface ServicePort {
 
-    Comparator<ServicePort> SERVICE_PORT_COMPARATOR =
-            (port1, port2) -> port1.networkId().id().compareTo(port2.networkId().id());
-
     /**
      * Returns the port identifier.
      *
diff --git a/src/main/java/org/opencord/cordvtn/cli/CordVtnNetworkListCommand.java b/src/main/java/org/opencord/cordvtn/cli/CordVtnNetworkListCommand.java
index 7f42dc2..10ae833 100644
--- a/src/main/java/org/opencord/cordvtn/cli/CordVtnNetworkListCommand.java
+++ b/src/main/java/org/opencord/cordvtn/cli/CordVtnNetworkListCommand.java
@@ -24,7 +24,7 @@
 import org.opencord.cordvtn.api.core.ServiceNetworkService;
 import org.opencord.cordvtn.api.net.ServiceNetwork;
 
-import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 import static com.fasterxml.jackson.databind.SerializationFeature.INDENT_OUTPUT;
@@ -36,13 +36,13 @@
         description = "Lists all VTN networks")
 public class CordVtnNetworkListCommand extends AbstractShellCommand {
 
-    private static final String FORMAT = "%-40s%-20s%-20s%-8s%-20s%s";
+    private static final String FORMAT = "%-40s%-30s%-20s%-8s%-20s%s";
 
     @Override
     protected void execute() {
         ServiceNetworkService service = AbstractShellCommand.get(ServiceNetworkService.class);
         List<ServiceNetwork> networks = Lists.newArrayList(service.serviceNetworks());
-        Collections.sort(networks, ServiceNetwork.SERVICE_NETWORK_COMPARATOR);
+        networks.sort(Comparator.comparing(ServiceNetwork::name));
 
         if (outputJson()) {
             try {
diff --git a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
index 5c995f1..7086a09 100644
--- a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
+++ b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
@@ -23,7 +23,7 @@
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
 import org.opencord.cordvtn.api.node.CordVtnNode;
 
-import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 import static com.fasterxml.jackson.databind.SerializationFeature.INDENT_OUTPUT;
@@ -43,7 +43,7 @@
     protected void execute() {
         CordVtnNodeManager nodeManager = AbstractShellCommand.get(CordVtnNodeManager.class);
         List<CordVtnNode> nodes = nodeManager.getNodes();
-        Collections.sort(nodes, CordVtnNode.CORDVTN_NODE_COMPARATOR);
+        nodes.sort(Comparator.comparing(CordVtnNode::hostname));
 
         if (outputJson()) {
             try {
diff --git a/src/main/java/org/opencord/cordvtn/cli/CordVtnPortListCommand.java b/src/main/java/org/opencord/cordvtn/cli/CordVtnPortListCommand.java
index 6a7618d..a5c5db1 100644
--- a/src/main/java/org/opencord/cordvtn/cli/CordVtnPortListCommand.java
+++ b/src/main/java/org/opencord/cordvtn/cli/CordVtnPortListCommand.java
@@ -26,7 +26,7 @@
 import org.opencord.cordvtn.api.core.ServiceNetworkService;
 import org.opencord.cordvtn.api.net.ServicePort;
 
-import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -49,7 +49,7 @@
         ServiceNetworkService service = AbstractShellCommand.get(ServiceNetworkService.class);
 
         List<ServicePort> ports = Lists.newArrayList(service.servicePorts());
-        Collections.sort(ports, ServicePort.SERVICE_PORT_COMPARATOR);
+        ports.sort(Comparator.comparing(port -> port.networkId().id()));
         if (!Strings.isNullOrEmpty(networkId)) {
             ports.removeIf(port -> !port.networkId().id().equals(networkId));
         }
diff --git a/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java b/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
index 0fb9772..8a8bc37 100644
--- a/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
+++ b/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
@@ -615,10 +615,7 @@
             return false;
         }
         return deviceService.getPorts(node.integrationBridgeId()).stream()
-                .filter(p -> portName(p).contains(ifaceName) &&
-                        p.isEnabled())
-                .findAny()
-                .isPresent();
+                .anyMatch(p -> portName(p).contains(ifaceName) && p.isEnabled());
     }
 
     /**
@@ -868,7 +865,7 @@
             return;
         }
         controllers = config.controllers();
-        controllers.stream().forEach(ctrl -> {
+        controllers.forEach(ctrl -> {
             log.debug("Added controller {}:{}", ctrl.ip(), ctrl.port());
         });
     }
diff --git a/src/main/java/org/opencord/cordvtn/impl/InstanceManager.java b/src/main/java/org/opencord/cordvtn/impl/InstanceManager.java
index b31a575..80f21ee 100644
--- a/src/main/java/org/opencord/cordvtn/impl/InstanceManager.java
+++ b/src/main/java/org/opencord/cordvtn/impl/InstanceManager.java
@@ -203,10 +203,9 @@
 
     @Override
     public void removeInstance(ConnectPoint connectPoint) {
-        hostService.getConnectedHosts(connectPoint).stream()
-                .forEach(host -> {
-                    hostProvider.hostVanished(host.id());
-                });
+        hostService.getConnectedHosts(connectPoint).forEach(host -> {
+            hostProvider.hostVanished(host.id());
+        });
     }
 
     @Override
diff --git a/src/main/java/org/opencord/cordvtn/impl/handler/DefaultInstanceHandler.java b/src/main/java/org/opencord/cordvtn/impl/handler/DefaultInstanceHandler.java
index e668673..3f68c22 100644
--- a/src/main/java/org/opencord/cordvtn/impl/handler/DefaultInstanceHandler.java
+++ b/src/main/java/org/opencord/cordvtn/impl/handler/DefaultInstanceHandler.java
@@ -113,7 +113,7 @@
                     true);
         }
         // FIXME don't add the existing instance again
-        sport.addressPairs().stream().forEach(pair -> {
+        sport.addressPairs().forEach(pair -> {
             // add instance for the additional address pairs
             addAdditionalInstance(instance, pair.ip(), pair.mac());
         });
@@ -337,7 +337,7 @@
                 .build();
 
 
-        nodeManager.completeNodes().stream().forEach(node -> {
+        nodeManager.completeNodes().forEach(node -> {
             FlowRule flowRuleDirect = DefaultFlowRule.builder()
                     .fromApp(appId)
                     .withSelector(selector)
@@ -362,7 +362,7 @@
                 .drop()
                 .build();
 
-        nodeManager.completeNodes().stream().forEach(node -> {
+        nodeManager.completeNodes().forEach(node -> {
             FlowRule flowRuleDirect = DefaultFlowRule.builder()
                     .fromApp(appId)
                     .withSelector(selector)
@@ -426,7 +426,7 @@
                                          boolean install) {
         // for traffic coming from WAN, tag 500 and take through the vSG VM
         // based on destination ip
-        ipAddrs.stream().forEach(wanIp -> {
+        ipAddrs.forEach(wanIp -> {
             // for traffic coming from WAN, tag 500 and take through the vSG VM
             TrafficSelector downstream = DefaultTrafficSelector.builder()
                     .matchEthType(Ethernet.TYPE_IPV4)
diff --git a/src/main/java/org/opencord/cordvtn/impl/handler/DependencyHandler.java b/src/main/java/org/opencord/cordvtn/impl/handler/DependencyHandler.java
index 684bc6e..772e1bc 100644
--- a/src/main/java/org/opencord/cordvtn/impl/handler/DependencyHandler.java
+++ b/src/main/java/org/opencord/cordvtn/impl/handler/DependencyHandler.java
@@ -234,20 +234,18 @@
     private boolean isProviderInUse(NetworkId providerId) {
         return snetService.serviceNetworks().stream()
                 .flatMap(net -> net.providers().keySet().stream())
-                .filter(provider -> Objects.equals(provider, providerId))
-                .findAny().isPresent();
+                .anyMatch(provider -> Objects.equals(provider, providerId));
     }
 
     private void removeGroup(NetworkId netId) {
         GroupKey groupKey = getGroupKey(netId);
-        nodeManager.completeNodes().stream()
-                .forEach(node -> {
-                    DeviceId deviceId = node.integrationBridgeId();
-                    Group group = groupService.getGroup(deviceId, groupKey);
-                    if (group != null) {
-                        groupService.removeGroup(deviceId, groupKey, appId);
-                    }
-                });
+        nodeManager.completeNodes().forEach(node -> {
+            DeviceId deviceId = node.integrationBridgeId();
+            Group group = groupService.getGroup(deviceId, groupKey);
+            if (group != null) {
+                groupService.removeGroup(deviceId, groupKey, appId);
+            }
+        });
         log.debug("Removed group for network {}", netId);
     }
 
@@ -287,7 +285,7 @@
         Map<DeviceId, GroupId> providerGroups = Maps.newHashMap();
         Map<DeviceId, Set<PortNumber>> subscriberPorts = Maps.newHashMap();
 
-        nodeManager.completeNodes().stream().forEach(node -> {
+        nodeManager.completeNodes().forEach(node -> {
             DeviceId deviceId = node.integrationBridgeId();
             GroupId groupId = getProviderGroup(provider, deviceId);
             providerGroups.put(deviceId, groupId);
@@ -357,7 +355,7 @@
                 .transition(TABLE_DST)
                 .build();
 
-        nodeManager.completeNodes().stream().forEach(node -> {
+        nodeManager.completeNodes().forEach(node -> {
             DeviceId deviceId = node.integrationBridgeId();
             FlowRule flowRuleDirect = DefaultFlowRule.builder()
                     .fromApp(appId)
@@ -383,7 +381,7 @@
             if (groupId == null) {
                 continue;
             }
-            ports.stream().forEach(port -> {
+            ports.forEach(port -> {
                 TrafficSelector selector = DefaultTrafficSelector.builder()
                         .matchInPort(port)
                         .build();
@@ -410,7 +408,7 @@
     private GroupBuckets getProviderGroupBuckets(DeviceId deviceId, long tunnelId,
                                                  Set<Instance> instances) {
         List<GroupBucket> buckets = Lists.newArrayList();
-        instances.stream().forEach(instance -> {
+        instances.forEach(instance -> {
             Ip4Address tunnelIp = nodeManager.dataIp(instance.deviceId()).getIp4Address();
 
             if (deviceId.equals(instance.deviceId())) {