Upgrade fasterXML libraries for OS-9

Upgrade fasterXML to version 2.9.5 to address security vulnerability
Wrap calls to treeRead(InputStream) to handle new behavior of null streams

Change-Id: Id199cfacd0cf9e5371dc33de9f1e058c2e72eaa5
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 dc7ea22..0fd18e0 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
@@ -46,6 +46,7 @@
 import java.util.stream.Collectors;
 
 import static org.onlab.util.Tools.nullIsIllegal;
+import static org.onlab.util.Tools.readTreeFromStream;
 
 /**
  * Collect system metrics.
@@ -90,7 +91,7 @@
         ObjectNode root = mapper().createObjectNode();
         ControlMetric cm;
         try {
-            ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
+            ObjectNode jsonTree = readTreeFromStream(mapper(), stream);
 
             if (jsonTree == null || !checkFields(jsonTree, CPU_FIELD_SET)) {
                 return ok(root).build();
@@ -151,7 +152,7 @@
         ObjectNode root = mapper().createObjectNode();
         ControlMetric cm;
         try {
-            ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
+            ObjectNode jsonTree = readTreeFromStream(mapper(), stream);
 
             if (jsonTree == null || !checkFields(jsonTree, MEMORY_FIELD_SET)) {
                 return ok(root).build();
@@ -206,7 +207,7 @@
         ObjectNode root = mapper().createObjectNode();
         ControlMetric cm;
         try {
-            ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
+            ObjectNode jsonTree = readTreeFromStream(mapper(), stream);
             ArrayNode diskRes =
                     jsonTree.get("disks") == null ?
                             mapper().createArrayNode() : (ArrayNode) jsonTree.get("disks");
@@ -252,7 +253,7 @@
         ObjectNode root = mapper().createObjectNode();
         ControlMetric cm;
         try {
-            ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
+            ObjectNode jsonTree = readTreeFromStream(mapper(), stream);
 
             ArrayNode networkRes = jsonTree.get("networks") == null
                     ? mapper().createArrayNode() : (ArrayNode) jsonTree.get("networks");
@@ -315,7 +316,7 @@
         ObjectNode root = mapper().createObjectNode();
 
         try {
-            ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
+            ObjectNode jsonTree = readTreeFromStream(mapper(), stream);
             JsonNode numOfCores = jsonTree.get("numOfCores");
             JsonNode numOfCpus = jsonTree.get("numOfCpus");
             JsonNode cpuSpeed = jsonTree.get("cpuSpeed");