jackson, HTTP codes and JSON responses, xICIC/RRMConfig fix
diff --git a/src/main/java/org.onosproject.xran/rest/NodeWebResource.java b/src/main/java/org.onosproject.xran/rest/NodeWebResource.java
index 7b54177..2b9124c 100644
--- a/src/main/java/org.onosproject.xran/rest/NodeWebResource.java
+++ b/src/main/java/org.onosproject.xran/rest/NodeWebResource.java
@@ -15,8 +15,9 @@
  */
 package org.onosproject.xran.rest;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.collect.Lists;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.exception.ExceptionUtils;
 import org.onosproject.rest.AbstractWebResource;
@@ -34,7 +35,6 @@
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
-import java.io.IOException;
 import java.util.List;
 
 /**
@@ -46,6 +46,10 @@
     private static final Logger log =
             LoggerFactory.getLogger(NodeWebResource.class);
 
+    public NodeWebResource() {
+
+    }
+
     /**
      * test.
      *
@@ -55,40 +59,52 @@
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     public Response getNodes(@DefaultValue("") @QueryParam("type") String type) {
-        ObjectNode rootNode = mapper().createObjectNode();
-
+        JsonNode jsonNode;
         try {
+            List<Object> nodes;
             if (StringUtils.isBlank(type)) {
-                List<Object> nodes = get(XranStore.class).getNodes();
-
-                JsonNode jsonNode = mapper().readTree(nodes.get(0).toString());
-                JsonNode jsonNode2 = mapper().readTree(nodes.get(1).toString());
-
-                ObjectNode arrayNode = rootNode.putObject("nodes");
-                arrayNode.put("cells", jsonNode);
-                arrayNode.put("ues", jsonNode2);
+                nodes = get(XranStore.class).getNodes();
             } else if (type.equals("cell")) {
-                List<RnibCell> cellNodes = get(XranStore.class).getCellNodes();
-                JsonNode jsonNode = mapper().readTree(cellNodes.toString());
-
-                ObjectNode arrayNode = rootNode.putObject("nodes");
-                arrayNode.put("cells", jsonNode);
+                nodes = get(XranStore.class).getCellNodes();
             } else if (type.equals("ue")) {
-                List<RnibUe> ueNodes = get(XranStore.class).getUeNodes();
-                JsonNode jsonNode = mapper().readTree(ueNodes.toString());
-
-                ObjectNode arrayNode = rootNode.putObject("nodes");
-                arrayNode.put("ues", jsonNode);
+                nodes = get(XranStore.class).getUeNodes();
+            } else {
+                return ResponseHelper.getResponse(
+                        mapper(),
+                        ResponseHelper.statusCode.NOT_FOUND,
+                        "Not Found",
+                        "Type of node was not found"
+                );
             }
-        } catch (IOException e) {
-            log.error(ExceptionUtils.getFullStackTrace(e));
+
+            if (nodes.size() == 0) {
+                return ResponseHelper.getResponse(
+                        mapper(),
+                        ResponseHelper.statusCode.NOT_FOUND,
+                        "Not Found",
+                        "No nodes found"
+                );
+            }
+
+            jsonNode = mapper().valueToTree(nodes);
+        } catch (Exception e) {
+            String fullStackTrace = ExceptionUtils.getFullStackTrace(e);
+            log.error(fullStackTrace);
             e.printStackTrace();
-            return Response.serverError()
-                    .entity(ExceptionUtils.getFullStackTrace(e))
-                    .build();
+
+            return ResponseHelper.getResponse(
+                    mapper(),
+                    ResponseHelper.statusCode.INTERNAL_SERVER_ERROR,
+                    "Exception",
+                    fullStackTrace
+            );
         }
 
-        return ok(rootNode.toString()).build();
+        return ResponseHelper.getResponse(
+                mapper(),
+                ResponseHelper.statusCode.OK,
+                jsonNode
+        );
     }
 
     /**
@@ -105,20 +121,33 @@
 
         if (node != null) {
             try {
-                ObjectNode rootNode = mapper().createObjectNode();
-                JsonNode jsonNode = mapper().readTree(node.toString());
-                rootNode.put("node", jsonNode);
-                return ok(rootNode.toString()).build();
-            } catch (IOException e) {
-                log.error(ExceptionUtils.getFullStackTrace(e));
+                JsonNode jsonNode = mapper().valueToTree(node);
+
+                return ResponseHelper.getResponse(
+                        mapper(),
+                        ResponseHelper.statusCode.OK,
+                        jsonNode
+                );
+            } catch (Exception e) {
+                String fullStackTrace = ExceptionUtils.getFullStackTrace(e);
+                log.error(fullStackTrace);
                 e.printStackTrace();
-                return Response.serverError()
-                        .entity(ExceptionUtils.getFullStackTrace(e))
-                        .build();
+
+                return ResponseHelper.getResponse(
+                        mapper(),
+                        ResponseHelper.statusCode.INTERNAL_SERVER_ERROR,
+                        "Exception",
+                        fullStackTrace
+                );
             }
         }
 
-        return Response.serverError().entity("node not found").build();
+        return ResponseHelper.getResponse(
+                mapper(),
+                ResponseHelper.statusCode.NOT_FOUND,
+                "Not Found",
+                "Node " + nodeid + " was not found"
+        );
     }
 
 }