[VIVO-1320] Convert some org.json usages to Jackson
This commit is contained in:
parent
7c1390d745
commit
916640ef43
5 changed files with 33 additions and 28 deletions
|
@ -16,11 +16,12 @@ import javax.servlet.annotation.WebServlet;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.node.ArrayNode;
|
||||||
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||||
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.json.JSONArray;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.application.ApplicationUtils;
|
import edu.cornell.mannlib.vitro.webapp.application.ApplicationUtils;
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
|
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
|
||||||
|
@ -148,10 +149,10 @@ public class AutocompleteController extends VitroAjaxController {
|
||||||
|
|
||||||
Collections.sort(results);
|
Collections.sort(results);
|
||||||
|
|
||||||
JSONArray jsonArray = new JSONArray();
|
ArrayNode jsonArray = JsonNodeFactory.instance.arrayNode();
|
||||||
for (SearchResult result : results) {
|
for (SearchResult result : results) {
|
||||||
//jsonArray.put(result.toMap());
|
//jsonArray.put(result.toMap());
|
||||||
jsonArray.put(result.toJSONObject());
|
jsonArray.add(result.toJSONObject());
|
||||||
}
|
}
|
||||||
response.getWriter().write(jsonArray.toString());
|
response.getWriter().write(jsonArray.toString());
|
||||||
|
|
||||||
|
@ -356,8 +357,8 @@ public class AutocompleteController extends VitroAjaxController {
|
||||||
|
|
||||||
//Simply passing in the array in the map converts it to a string and not to an array
|
//Simply passing in the array in the map converts it to a string and not to an array
|
||||||
//which is what we want so need to convert to an object instad
|
//which is what we want so need to convert to an object instad
|
||||||
JSONObject toJSONObject() {
|
ObjectNode toJSONObject() {
|
||||||
JSONObject jsonObj = new JSONObject();
|
ObjectNode jsonObj = JsonNodeFactory.instance.objectNode();
|
||||||
try {
|
try {
|
||||||
jsonObj.put("label", label);
|
jsonObj.put("label", label);
|
||||||
jsonObj.put("uri", uri);
|
jsonObj.put("uri", uri);
|
||||||
|
@ -365,7 +366,10 @@ public class AutocompleteController extends VitroAjaxController {
|
||||||
//But this should really be changed so that the entire array is all that should be returned
|
//But this should really be changed so that the entire array is all that should be returned
|
||||||
jsonObj.put("msType", msType);
|
jsonObj.put("msType", msType);
|
||||||
//map.put("allMsTypes", allMsTypes);
|
//map.put("allMsTypes", allMsTypes);
|
||||||
JSONArray allMsTypesArray = new JSONArray(allMsTypes);
|
ArrayNode allMsTypesArray = JsonNodeFactory.instance.arrayNode();
|
||||||
|
for (String msType : allMsTypes) {
|
||||||
|
allMsTypesArray.add(msType);
|
||||||
|
}
|
||||||
jsonObj.put("allMsTypes", allMsTypesArray);
|
jsonObj.put("allMsTypes", allMsTypesArray);
|
||||||
} catch(Exception ex) {
|
} catch(Exception ex) {
|
||||||
log.error("Error occurred in converting values to JSON object", ex);
|
log.error("Error occurred in converting values to JSON object", ex);
|
||||||
|
|
|
@ -12,9 +12,10 @@ import javax.servlet.ServletException;
|
||||||
import javax.servlet.annotation.WebServlet;
|
import javax.servlet.annotation.WebServlet;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.node.ArrayNode;
|
||||||
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.json.JSONArray;
|
|
||||||
|
|
||||||
import org.apache.jena.query.Dataset;
|
import org.apache.jena.query.Dataset;
|
||||||
import org.apache.jena.query.DatasetFactory;
|
import org.apache.jena.query.DatasetFactory;
|
||||||
|
@ -107,7 +108,10 @@ public class DataAutocompleteController extends VitroAjaxController {
|
||||||
String dataValue = dataLiteral.getString();
|
String dataValue = dataLiteral.getString();
|
||||||
outputResults.add(dataValue);
|
outputResults.add(dataValue);
|
||||||
}
|
}
|
||||||
JSONArray jsonArray = new JSONArray(outputResults);
|
ArrayNode jsonArray = JsonNodeFactory.instance.arrayNode();
|
||||||
|
for (String res : outputResults) {
|
||||||
|
jsonArray.add(res);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
response.getWriter().write(jsonArray.toString());
|
response.getWriter().write(jsonArray.toString());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
|
|
@ -8,9 +8,9 @@ import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.ServletContext;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import org.apache.jena.rdf.model.Model;
|
import org.apache.jena.rdf.model.Model;
|
||||||
|
|
||||||
|
@ -180,9 +180,8 @@ public class ClassGroupPageData extends DataGetterBase implements DataGetter{
|
||||||
* For processing of JSONObject
|
* For processing of JSONObject
|
||||||
*/
|
*/
|
||||||
//Currently empty, TODO: Review requirements
|
//Currently empty, TODO: Review requirements
|
||||||
public JSONObject convertToJSON(Map<String, Object> dataMap, VitroRequest vreq) {
|
public JsonNode convertToJSON(Map<String, Object> dataMap, VitroRequest vreq) {
|
||||||
JSONObject rObj = null;
|
return null;
|
||||||
return rObj;
|
|
||||||
}
|
}
|
||||||
protected static void setAllClassCountsToZero(VClassGroup vcg){
|
protected static void setAllClassCountsToZero(VClassGroup vcg){
|
||||||
for(VClass vc : vcg){
|
for(VClass vc : vcg){
|
||||||
|
|
|
@ -10,10 +10,12 @@ import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.node.ArrayNode;
|
||||||
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||||
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import org.apache.jena.query.Query;
|
import org.apache.jena.query.Query;
|
||||||
import org.apache.jena.query.QueryExecution;
|
import org.apache.jena.query.QueryExecution;
|
||||||
|
@ -313,17 +315,14 @@ public class DataGetterUtils {
|
||||||
*
|
*
|
||||||
* Convert data to JSON for page uri based on type and related datagetters
|
* Convert data to JSON for page uri based on type and related datagetters
|
||||||
* TODO: How to handle different data getters? Will this replace json fields or add to them?
|
* TODO: How to handle different data getters? Will this replace json fields or add to them?
|
||||||
* @throws ClassNotFoundException
|
|
||||||
* @throws IllegalAccessException
|
|
||||||
* @throws InstantiationException
|
|
||||||
*/
|
*/
|
||||||
public static JSONObject covertDataToJSONForPage(VitroRequest vreq, String pageUri, Model displayModel) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
|
public static ObjectNode covertDataToJSONForPage(VitroRequest vreq, String pageUri, Model displayModel) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
|
||||||
//Get PageDataGetter types associated with pageUri
|
//Get PageDataGetter types associated with pageUri
|
||||||
JSONObject rObj = null;
|
ObjectNode rObj = null;
|
||||||
try{
|
try{
|
||||||
List<DataGetter> dataGetters = getDataGettersForPage(vreq, displayModel, pageUri);
|
List<DataGetter> dataGetters = getDataGettersForPage(vreq, displayModel, pageUri);
|
||||||
for(DataGetter getter: dataGetters) {
|
for(DataGetter getter: dataGetters) {
|
||||||
JSONObject typeObj = null;
|
ObjectNode typeObj = null;
|
||||||
try{
|
try{
|
||||||
//Assumes the data getter itself will have a convert to json method
|
//Assumes the data getter itself will have a convert to json method
|
||||||
/*
|
/*
|
||||||
|
@ -394,12 +393,12 @@ public class DataGetterUtils {
|
||||||
/*
|
/*
|
||||||
* Copied from JSONServlet as expect this to be related to VitroClassGroup
|
* Copied from JSONServlet as expect this to be related to VitroClassGroup
|
||||||
*/
|
*/
|
||||||
public static JSONObject processVClassGroupJSON(VClassGroup vcg) {
|
public static ObjectNode processVClassGroupJSON(VClassGroup vcg) {
|
||||||
JSONObject map = new JSONObject();
|
ObjectNode map = JsonNodeFactory.instance.objectNode();
|
||||||
try {
|
try {
|
||||||
ArrayList<JSONObject> classes = new ArrayList<JSONObject>(vcg.size());
|
ArrayNode classes = JsonNodeFactory.instance.arrayNode();
|
||||||
for( VClass vc : vcg){
|
for( VClass vc : vcg){
|
||||||
JSONObject vcObj = new JSONObject();
|
ObjectNode vcObj = JsonNodeFactory.instance.objectNode();
|
||||||
vcObj.put("name", vc.getName());
|
vcObj.put("name", vc.getName());
|
||||||
vcObj.put("URI", vc.getURI());
|
vcObj.put("URI", vc.getURI());
|
||||||
vcObj.put("entityCount", vc.getEntityCount());
|
vcObj.put("entityCount", vc.getEntityCount());
|
||||||
|
|
|
@ -11,10 +11,10 @@ import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.ServletContext;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import org.apache.jena.query.QueryExecution;
|
import org.apache.jena.query.QueryExecution;
|
||||||
import org.apache.jena.query.QueryExecutionFactory;
|
import org.apache.jena.query.QueryExecutionFactory;
|
||||||
|
@ -359,9 +359,8 @@ public class IndividualsForClassesDataGetter extends DataGetterBase implements D
|
||||||
/**
|
/**
|
||||||
* For processig of JSONObject
|
* For processig of JSONObject
|
||||||
*/
|
*/
|
||||||
public JSONObject convertToJSON(Map<String, Object> dataMap, VitroRequest vreq) {
|
public JsonNode convertToJSON(Map<String, Object> dataMap, VitroRequest vreq) {
|
||||||
JSONObject rObj = null;
|
return null;
|
||||||
return rObj;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static void setAllClassCountsToZero(VClassGroup vcg){
|
protected static void setAllClassCountsToZero(VClassGroup vcg){
|
||||||
|
|
Loading…
Add table
Reference in a new issue