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());