package org.opennms.features.node.list.gwt.client;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArray;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONParser;
public class NodeRestResponseMapper {
/**
*
* @param jsonString
* @return
*/
public static List<IpInterface> createIpInterfaceData(String jsonString){
List<IpInterface> ipIfaceList = new ArrayList<IpInterface>();
JSONObject jsonObject = JSONParser.parseStrict(jsonString).isObject();
if(jsonObject != null && jsonObject.containsKey("ipInterface")) {
if(jsonObject.get("ipInterface").isObject() != null) {
JSONObject jObj = jsonObject.get("ipInterface").isObject();
ipIfaceList.add(createIpInterfaceOverlay(jObj.getJavaScriptObject()));
}else if(jsonObject.get("ipInterface").isArray() != null) {
JSONArray jArray = jsonObject.get("ipInterface").isArray();
JsArray<IpInterface> ipFaces = createIpInterfaceData(jArray.getJavaScriptObject());
for(int i = 0; i < ipFaces.length(); i++) {
ipIfaceList.add(ipFaces.get(i));
}
}
}
return ipIfaceList;
}
public static native IpInterface createIpInterfaceOverlay(JavaScriptObject jso)/*-{
return jso;
}-*/;
public static native JsArray<IpInterface> createIpInterfaceData(JavaScriptObject jso) /*-{
return jso;
}-*/;
/**
*
* @param jsonString
* @return
*/
public static List<PhysicalInterface> createSnmpInterfaceData(String jsonString){
List<PhysicalInterface> physIfaceList = new ArrayList<PhysicalInterface>();
JSONObject jsonObject = JSONParser.parseStrict(jsonString).isObject();
if(jsonObject != null && jsonObject.containsKey("snmpInterface")) {
if(jsonObject.get("snmpInterface").isObject() != null) {
JSONObject jObj = jsonObject.get("snmpInterface").isObject();
physIfaceList.add(createSnmpInterfaceOverlay(jObj.getJavaScriptObject()));
}else if(jsonObject.get("snmpInterface").isArray() != null) {
JSONArray jArray = jsonObject.get("snmpInterface").isArray();
JsArray<PhysicalInterface> ipFaces = createSnmpInterfaceData(jArray.getJavaScriptObject());
for(int i = 0; i < ipFaces.length(); i++) {
physIfaceList.add(ipFaces.get(i));
}
}
}
return physIfaceList;
}
public static native PhysicalInterface createSnmpInterfaceOverlay(JavaScriptObject jso) /*-{
return jso;
}-*/;
public static native JsArray<PhysicalInterface> createSnmpInterfaceData(JavaScriptObject jso) /*-{
return jso;
}-*/;
}