package fr.whyt.parser;
import java.util.ArrayList;
import java.util.List;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class JSONToJavaItemTransformerUtils {
public Long parseGracefullyLong(JSONObject obj, String key) {
Long result = null;
Object value = obj.get(key);
if (value != null && !"".equals(value)) {
result = Long.parseLong((String) value);
}
return result;
}
public Double parseDouble(Object obj) {
if (obj == null) {
return null;
} else if (obj instanceof Double) {
return (Double) obj;
} else if (obj instanceof Long) {
return Double.valueOf(obj.toString());
} else {
throw new IllegalArgumentException(obj.toString());
}
}
public Point3D parsePoint3D(JSONArray point) {
return new Point3D(parseDouble(point.get(0)),
parseDouble(point.get(1)), parseDouble(point.get(2)));
}
public Point2D parsePoint2D(JSONArray point) {
return new Point2D(parseDouble(point.get(0)), parseDouble(point.get(1)));
}
public List<Long> parseLongList(JSONArray listObj) {
List<Long> list = new ArrayList<Long>(listObj.size());
for (Object itemO : listObj) {
list.add((Long) itemO);
}
return list;
}
public MapRectangle parseRectangle(JSONArray jsonArray) {
return new MapRectangle(parsePoint2D((JSONArray) jsonArray.get(0)),
parsePoint2D((JSONArray) jsonArray.get(1)));
}
}