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/ofagent/src/main/java/org/onosproject/ofagent/rest/OFAgentWebResource.java b/apps/ofagent/src/main/java/org/onosproject/ofagent/rest/OFAgentWebResource.java
index 26ca793..6b9f9eb 100644
--- a/apps/ofagent/src/main/java/org/onosproject/ofagent/rest/OFAgentWebResource.java
+++ b/apps/ofagent/src/main/java/org/onosproject/ofagent/rest/OFAgentWebResource.java
@@ -39,6 +39,7 @@
 import java.io.InputStream;
 
 import static javax.ws.rs.core.Response.Status.*;
+import static org.onlab.util.Tools.readTreeFromStream;
 
 
 /**
@@ -117,7 +118,7 @@
     public Response createOFAgent(InputStream stream) throws IOException {
         OFAgentAdminService adminService = get(OFAgentAdminService.class);
 
-        OFAgent ofAgent = (new OFAgentCodec()).decode((ObjectNode) mapper().readTree(stream), this);
+        OFAgent ofAgent = (new OFAgentCodec()).decode(readTreeFromStream(mapper(), stream), this);
         if (ofAgent == null) {
             return Response.status(BAD_REQUEST)
                     .entity(OFAGENT_NOT_CREATED).build();
@@ -141,7 +142,7 @@
     public Response startOFAgent(InputStream stream) throws IOException {
         OFAgentAdminService adminService = get(OFAgentAdminService.class);
 
-        ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
+        ObjectNode jsonTree = readTreeFromStream(mapper(), stream);
         JsonNode networkId = jsonTree.get("networkId");
 
         if (networkId == null) {
@@ -170,7 +171,7 @@
     public Response updateOFAgent(InputStream stream) throws IOException {
         OFAgentAdminService adminService = get(OFAgentAdminService.class);
 
-        OFAgent ofAgent = (new OFAgentCodec()).decode((ObjectNode) mapper().readTree(stream), this);
+        OFAgent ofAgent = (new OFAgentCodec()).decode(readTreeFromStream(mapper(), stream), this);
 
         if (ofAgent == null) {
             return Response.status(NOT_FOUND)
@@ -199,7 +200,7 @@
     public Response stopOFAgent(InputStream stream) throws IOException {
 
         OFAgentAdminService adminService = get(OFAgentAdminService.class);
-        ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
+        ObjectNode jsonTree = readTreeFromStream(mapper(), stream);
         JsonNode networkId = jsonTree.get("networkId");
 
         if (get(OFAgentService.class).agent(NetworkId.networkId(networkId.asLong())) == null) {