Sonar suggestions - fixes to potential null pointer dereferences

Change-Id: I4e350a9d72a9322971d5d4f831f1bdf167986b87
diff --git a/apps/actn-mdsc/tetunnel-pce/src/main/java/org/onosproject/actn/mdsc/pce/impl/TeTunnelPceManager.java b/apps/actn-mdsc/tetunnel-pce/src/main/java/org/onosproject/actn/mdsc/pce/impl/TeTunnelPceManager.java
index 890c7ba..b0efe80 100644
--- a/apps/actn-mdsc/tetunnel-pce/src/main/java/org/onosproject/actn/mdsc/pce/impl/TeTunnelPceManager.java
+++ b/apps/actn-mdsc/tetunnel-pce/src/main/java/org/onosproject/actn/mdsc/pce/impl/TeTunnelPceManager.java
@@ -16,6 +16,7 @@
 
 package org.onosproject.actn.mdsc.pce.impl;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
@@ -63,7 +64,11 @@
                 }
             }
         }
-        return pce.computePaths(teTunnel);
+        if (pce != null) {
+            return pce.computePaths(teTunnel);
+        } else {
+            return ImmutableList.of();
+        }
     }
 
     @Override
diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/SystemMetricsCollectorWebResource.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/SystemMetricsCollectorWebResource.java
index ca10f86..dc7ea22 100644
--- a/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/SystemMetricsCollectorWebResource.java
+++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/SystemMetricsCollectorWebResource.java
@@ -93,7 +93,7 @@
             ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
 
             if (jsonTree == null || !checkFields(jsonTree, CPU_FIELD_SET)) {
-                ok(root).build();
+                return ok(root).build();
             }
 
             long cpuLoad = nullIsIllegal((long) (jsonTree.get("cpuLoad").asDouble()
@@ -154,7 +154,7 @@
             ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
 
             if (jsonTree == null || !checkFields(jsonTree, MEMORY_FIELD_SET)) {
-                ok(root).build();
+                return ok(root).build();
             }
 
             long memUsed = nullIsIllegal(jsonTree.get("memoryUsed").asLong(), INVALID_REQUEST);
diff --git a/apps/linkprops/src/main/java/org/onosproject/linkprops/LinkPropsTopovMessageHandler.java b/apps/linkprops/src/main/java/org/onosproject/linkprops/LinkPropsTopovMessageHandler.java
index 908c65c..a633ec0 100644
--- a/apps/linkprops/src/main/java/org/onosproject/linkprops/LinkPropsTopovMessageHandler.java
+++ b/apps/linkprops/src/main/java/org/onosproject/linkprops/LinkPropsTopovMessageHandler.java
@@ -248,27 +248,26 @@
      */
     private Highlights getBandwidth(Set<Link> links, DeviceId devId) {
         LpLinkMap linkMap = new LpLinkMap();
+        Highlights highlights = new Highlights();
         if (links != null) {
             log.debug("Processing {} links", links.size());
             links.forEach(linkMap::add);
+
+            PortNumber portnum = PortNumber.portNumber((int) links.iterator().next().src().port().toLong());
+
+            for (LpLink dlink : linkMap.biLinks()) {
+                DiscreteResourceId parent = Resources.discrete(devId, portnum).id();
+                ContinuousResource continuousResource =
+                        (ContinuousResource) resourceQueryService.getAvailableResources(parent,
+                                Bandwidth.class).iterator().next();
+                double availBandwidth = continuousResource.value();
+
+                dlink.makeImportant().setLabel(Double.toString(availBandwidth) + " bytes/s");
+                highlights.add(dlink.highlight(null));
+            }
         } else {
             log.debug("No egress links found for device {}", devId);
         }
-
-        Highlights highlights = new Highlights();
-
-        PortNumber portnum = PortNumber.portNumber((int) links.iterator().next().src().port().toLong());
-
-        for (LpLink dlink : linkMap.biLinks()) {
-            DiscreteResourceId parent = Resources.discrete(devId, portnum).id();
-            ContinuousResource continuousResource =
-                    (ContinuousResource) resourceQueryService.getAvailableResources(parent,
-                                                                                    Bandwidth.class).iterator().next();
-            double availBandwidth = continuousResource.value();
-
-            dlink.makeImportant().setLabel(Double.toString(availBandwidth) + " bytes/s");
-            highlights.add(dlink.highlight(null));
-        }
         return highlights;
     }
 
diff --git a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/RulePopulatorUtil.java b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/RulePopulatorUtil.java
index b569da1..128bf7b 100644
--- a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/RulePopulatorUtil.java
+++ b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/RulePopulatorUtil.java
@@ -98,6 +98,10 @@
             return null;
         }
 
+        if (device == null) {
+            return null;
+        }
+
         ExtensionTreatmentResolver resolver = device.as(ExtensionTreatmentResolver.class);
         ExtensionTreatment treatment = resolver.getExtensionInstruction(NICIRA_SET_TUNNEL_DST.type());
         try {
diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
index e1da821..625d41d 100644
--- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
+++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
@@ -474,6 +474,10 @@
             return null;
         }
 
+        if (device == null) {
+            return null;
+        }
+
         ExtensionTreatmentResolver resolver = device.as(ExtensionTreatmentResolver.class);
         ExtensionTreatment treatment = resolver.getExtensionInstruction(NICIRA_SET_TUNNEL_DST.type());
         try {
diff --git a/apps/optical-model/src/main/java/org/onosproject/net/optical/config/OpticalPortOperator.java b/apps/optical-model/src/main/java/org/onosproject/net/optical/config/OpticalPortOperator.java
index f9ee752..ee5ac99 100644
--- a/apps/optical-model/src/main/java/org/onosproject/net/optical/config/OpticalPortOperator.java
+++ b/apps/optical-model/src/main/java/org/onosproject/net/optical/config/OpticalPortOperator.java
@@ -93,7 +93,7 @@
         }
 
         OpticalPortConfig opc = lookupConfig(cp);
-        if (opc == null) {
+        if (descr == null || opc == null) {
             return descr;
         }
 
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
index 47c369c..41d54c2 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
+++ b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
@@ -610,10 +610,7 @@
             return false;
         }
 
-        DisjointPath path = null;
-        if (!paths.isEmpty()) {
-            path = paths.iterator().next();
-        }
+        DisjointPath path = paths.iterator().next();
 
         Builder annotationBuilder = DefaultAnnotations.builder();
         double bw = 0;
diff --git a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java
index 5b6ad9c..906e34d 100644
--- a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java
+++ b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java
@@ -263,8 +263,10 @@
         case HOST_TO_INTERNET:
             // If the destination IP address is outside the local SDN network.
             // The Step 1 has already handled it. We do not need to do anything here.
-            intentRequestListener.setUpConnectivityHostToInternet(srcIpAddress,
-                    ipPrefix, route.nextHop());
+            if (route != null) {
+                intentRequestListener.setUpConnectivityHostToInternet(srcIpAddress,
+                        ipPrefix, route.nextHop());
+            }
             break;
         case INTERNET_TO_HOST:
             intentRequestListener.setUpConnectivityInternetToHost(dstIpAddress);
diff --git a/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java b/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java
index 356306d..e495a57 100644
--- a/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java
+++ b/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java
@@ -311,7 +311,8 @@
             }
             parentId = rid.copyBuilder().removeLastKey().build();
         } catch (CloneNotSupportedException e) {
-            e.printStackTrace();
+            log.error("getDataForStore()", e);
+            return null;
         }
         ResourceData.Builder resData = DefaultResourceData.builder();
         resData.addDataNode(dbr.build());