[VIVO-1317] Convert Visualizations to Jackson from Gson
This commit is contained in:
parent
5c1d2c1e0f
commit
d93b722cd7
16 changed files with 184 additions and 107 deletions
|
@ -35,11 +35,6 @@
|
|||
<artifactId>fluent-hc</artifactId>
|
||||
<version>4.5.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.8.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.itextpdf</groupId>
|
||||
<artifactId>itextpdf</artifactId>
|
||||
|
|
|
@ -10,6 +10,7 @@ import javax.servlet.annotation.WebServlet;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
|
@ -140,7 +141,7 @@ public class AjaxVisualizationController extends FreemarkerHttpServlet {
|
|||
return visRequestHandler.generateAjaxVisualization(vitroRequest,
|
||||
log,
|
||||
dataset);
|
||||
} catch (MalformedQueryParametersException e) {
|
||||
} catch (JsonProcessingException|MalformedQueryParametersException e) {
|
||||
return UtilityFunctions.handleMalformedParameters(
|
||||
"Ajax Visualization Query Error - Individual Publication Count",
|
||||
e.getMessage(),
|
||||
|
|
|
@ -10,6 +10,7 @@ import javax.servlet.annotation.WebServlet;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
|
@ -126,18 +127,18 @@ public class DataVisualizationController extends VitroHttpServlet {
|
|||
Dataset dataset = setupJENADataSource(vitroRequest);
|
||||
|
||||
if (dataset != null && visRequestHandler != null) {
|
||||
return visRequestHandler.generateDataVisualization(vitroRequest,
|
||||
log,
|
||||
dataset);
|
||||
|
||||
} else {
|
||||
|
||||
String errorMessage = "Data Model Empty &/or Inappropriate "
|
||||
+ "query parameters were submitted. ";
|
||||
|
||||
throw new MalformedQueryParametersException(errorMessage);
|
||||
|
||||
try {
|
||||
return visRequestHandler.generateDataVisualization(vitroRequest,
|
||||
log,
|
||||
dataset);
|
||||
} catch (JsonProcessingException e) {
|
||||
}
|
||||
}
|
||||
|
||||
String errorMessage = "Data Model Empty &/or Inappropriate "
|
||||
+ "query parameters were submitted. ";
|
||||
|
||||
throw new MalformedQueryParametersException(errorMessage);
|
||||
}
|
||||
|
||||
private VisualizationRequestHandler getVisualizationRequestHandler(
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.capabilitymap;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.jena.query.Dataset;
|
||||
import org.apache.jena.query.QueryExecution;
|
||||
|
@ -49,7 +53,7 @@ public class CapabilityMapRequestHandler implements VisualizationRequestHandler
|
|||
}
|
||||
|
||||
@Override
|
||||
public Object generateAjaxVisualization(VitroRequest vitroRequest, Log log, Dataset dataSource) throws MalformedQueryParametersException {
|
||||
public Object generateAjaxVisualization(VitroRequest vitroRequest, Log log, Dataset dataSource) throws MalformedQueryParametersException, JsonProcessingException {
|
||||
ConceptLabelMap conceptLabelMap = VisualizationCaches.conceptToLabel.getNoWait(vitroRequest.getRDFService());
|
||||
ConceptPeopleMap conceptPeopleMap = VisualizationCaches.conceptToPeopleMap.getNoWait(vitroRequest.getRDFService());
|
||||
OrganizationPeopleMap organizationPeopleMap = VisualizationCaches.organisationToPeopleMap.getNoWait(vitroRequest.getRDFService());
|
||||
|
@ -67,8 +71,8 @@ public class CapabilityMapRequestHandler implements VisualizationRequestHandler
|
|||
}
|
||||
}
|
||||
|
||||
Gson gson = new Gson();
|
||||
return gson.toJson(concepts);
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
return mapper.writeValueAsString(concepts);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
@ -96,13 +100,13 @@ public class CapabilityMapRequestHandler implements VisualizationRequestHandler
|
|||
}
|
||||
response.results.add(result);
|
||||
|
||||
Gson gson = new Gson();
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
String callback = vitroRequest.getParameter("callback");
|
||||
if (!StringUtils.isEmpty(callback)) {
|
||||
return callback + "(" + gson.toJson(response) + ");";
|
||||
return callback + "(" + mapper.writeValueAsString(response) + ");";
|
||||
}
|
||||
return gson.toJson(response);
|
||||
return mapper.writeValueAsString(response);
|
||||
}
|
||||
|
||||
String query = vitroRequest.getParameter("query");
|
||||
|
@ -150,13 +154,12 @@ public class CapabilityMapRequestHandler implements VisualizationRequestHandler
|
|||
response.results.add(result);
|
||||
}
|
||||
|
||||
Gson gson = new Gson();
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
String callback = vitroRequest.getParameter("callback");
|
||||
if (!StringUtils.isEmpty(callback)) {
|
||||
return callback + "(" + gson.toJson(response) + ");";
|
||||
return callback + "(" + mapper.writeValueAsString(response) + ");";
|
||||
}
|
||||
return gson.toJson(response);
|
||||
return mapper.writeValueAsString(response);
|
||||
}
|
||||
|
||||
return "";
|
||||
|
|
|
@ -2,9 +2,14 @@
|
|||
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.capabilitymap;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
class CapabilityMapResponse {
|
||||
@JsonProperty
|
||||
List<CapabilityMapResult> results = new ArrayList<CapabilityMapResult>();
|
||||
}
|
||||
|
|
|
@ -2,67 +2,71 @@
|
|||
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.capabilitymap;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
class CapabilityMapResult {
|
||||
@JsonProperty
|
||||
String[] clusters;
|
||||
|
||||
@SerializedName("md_1")
|
||||
@JsonProperty("md_1")
|
||||
String profileId;
|
||||
|
||||
@SerializedName("md_2")
|
||||
@JsonProperty("md_2")
|
||||
String description;
|
||||
|
||||
@SerializedName("md_3")
|
||||
@JsonProperty("md_3")
|
||||
String thumbNail;
|
||||
|
||||
@SerializedName("md_4")
|
||||
@JsonProperty("md_4")
|
||||
String department;
|
||||
|
||||
@SerializedName("md_5")
|
||||
@JsonProperty("md_5")
|
||||
String overview;
|
||||
|
||||
@SerializedName("md_6")
|
||||
@JsonProperty("md_6")
|
||||
String geographicFocus;
|
||||
|
||||
@SerializedName("md_7")
|
||||
@JsonProperty("md_7")
|
||||
String geographicLocation;
|
||||
|
||||
@SerializedName("md_8")
|
||||
@JsonProperty("md_8")
|
||||
String[] grants;
|
||||
|
||||
@SerializedName("md_A")
|
||||
@JsonProperty("md_A")
|
||||
String firstName;
|
||||
|
||||
@SerializedName("md_B")
|
||||
@JsonProperty("md_B")
|
||||
String lastName;
|
||||
|
||||
@SerializedName("md_F")
|
||||
@JsonProperty("md_F")
|
||||
String fax;
|
||||
|
||||
@SerializedName("md_G")
|
||||
@JsonProperty("md_G")
|
||||
String email;
|
||||
|
||||
@SerializedName("md_H")
|
||||
@JsonProperty("md_H")
|
||||
String availableForSupervision;
|
||||
|
||||
@SerializedName("md_I")
|
||||
@JsonProperty("md_I")
|
||||
String homepage;
|
||||
|
||||
@SerializedName("md_L")
|
||||
@JsonProperty("md_L")
|
||||
String phoneNumber;
|
||||
|
||||
@SerializedName("md_U")
|
||||
@JsonProperty("md_U")
|
||||
String[] publications;
|
||||
|
||||
@SerializedName("md_X")
|
||||
@JsonProperty("md_X")
|
||||
String[] researchOverview;
|
||||
|
||||
@SerializedName("md_Y")
|
||||
@JsonProperty("md_Y")
|
||||
String[] subjectArea;
|
||||
|
||||
@SerializedName("md_Z")
|
||||
@JsonProperty("md_Z")
|
||||
String preferredTitle;
|
||||
|
||||
@JsonProperty
|
||||
String query;
|
||||
}
|
||||
|
|
|
@ -9,6 +9,11 @@ import java.util.HashSet;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.apache.jena.query.QuerySolution;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
|
||||
|
@ -26,7 +31,6 @@ import org.apache.commons.lang3.StringEscapeUtils;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import org.apache.jena.query.Dataset;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.AuthorizationRequest;
|
||||
|
@ -164,7 +168,7 @@ public class MapOfScienceVisualizationRequestHandler implements VisualizationReq
|
|||
|
||||
private Map<String, String> getSubjectPersonEntityAndGenerateDataResponse(
|
||||
VitroRequest vitroRequest, String subjectEntityURI, String entityLabel, VisConstants.DataVisMode dataOuputFormat)
|
||||
throws MalformedQueryParametersException {
|
||||
throws MalformedQueryParametersException, JsonProcessingException {
|
||||
|
||||
long startTime = System.currentTimeMillis();
|
||||
try {
|
||||
|
@ -191,7 +195,6 @@ public class MapOfScienceVisualizationRequestHandler implements VisualizationReq
|
|||
|
||||
Map<String, String> fileData = new HashMap<String, String>();
|
||||
if (VisConstants.DataVisMode.JSON.equals(dataOuputFormat)) {
|
||||
Gson json = new Gson();
|
||||
Set jsonContent = new HashSet();
|
||||
|
||||
MapOfScience entityJson = new MapOfScience(subjectEntityURI);
|
||||
|
@ -203,8 +206,10 @@ public class MapOfScienceVisualizationRequestHandler implements VisualizationReq
|
|||
|
||||
jsonContent.add(entityJson);
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_TYPE_KEY, "application/octet-stream");
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, json.toJson(jsonContent));
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, mapper.writeValueAsString(jsonContent));
|
||||
} else {
|
||||
if (StringUtils.isBlank(entityLabel)) {
|
||||
entityLabel = "no-name";
|
||||
|
@ -239,7 +244,7 @@ public class MapOfScienceVisualizationRequestHandler implements VisualizationReq
|
|||
|
||||
private Map<String, String> getSubjectEntityAndGenerateDataResponse(
|
||||
VitroRequest vitroRequest, String subjectEntityURI, String entityLabel, VisConstants.DataVisMode dataOuputFormat)
|
||||
throws MalformedQueryParametersException {
|
||||
throws MalformedQueryParametersException, JsonProcessingException {
|
||||
|
||||
RDFService rdfService = vitroRequest.getRDFService();
|
||||
|
||||
|
@ -290,7 +295,6 @@ public class MapOfScienceVisualizationRequestHandler implements VisualizationReq
|
|||
|
||||
Map<String, String> fileData = new HashMap<String, String>();
|
||||
if (VisConstants.DataVisMode.JSON.equals(dataOuputFormat)) {
|
||||
Gson json = new Gson();
|
||||
Set jsonContent = new HashSet();
|
||||
|
||||
MapOfScience entityJson = new MapOfScience(subjectEntityURI);
|
||||
|
@ -312,8 +316,10 @@ public class MapOfScienceVisualizationRequestHandler implements VisualizationReq
|
|||
|
||||
jsonContent.add(entityJson);
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_TYPE_KEY, "application/octet-stream");
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, json.toJson(jsonContent));
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, mapper.writeValueAsString(jsonContent));
|
||||
} else {
|
||||
if (StringUtils.isBlank(entityLabel)) {
|
||||
entityLabel = "no-organization";
|
||||
|
@ -356,26 +362,25 @@ public class MapOfScienceVisualizationRequestHandler implements VisualizationReq
|
|||
return fileData;
|
||||
}
|
||||
|
||||
private Map<String, String> prepareStandaloneDataErrorResponse() {
|
||||
private Map<String, String> prepareStandaloneDataErrorResponse() throws JsonProcessingException {
|
||||
|
||||
GenericQueryMap errorDataResponse = new GenericQueryMap();
|
||||
errorDataResponse.addEntry("error", "No Publications for this Entity found in VIVO.");
|
||||
|
||||
Gson jsonErrorResponse = new Gson();
|
||||
|
||||
Map<String, String> fileData = new HashMap<String, String>();
|
||||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_TYPE_KEY,
|
||||
"application/octet-stream");
|
||||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, jsonErrorResponse.toJson(errorDataResponse));
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, mapper.writeValueAsString(errorDataResponse));
|
||||
|
||||
return fileData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> generateDataVisualization(VitroRequest vitroRequest, Log log, Dataset dataset)
|
||||
throws MalformedQueryParametersException {
|
||||
throws MalformedQueryParametersException, JsonProcessingException {
|
||||
|
||||
String entityURI = vitroRequest.getParameter(VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY);
|
||||
|
||||
|
|
|
@ -9,10 +9,11 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.utilities.VisualizationCaches;
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import org.apache.jena.query.Dataset;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
|
||||
|
@ -35,7 +36,7 @@ public class ModelConstructorRequestHandler implements
|
|||
|
||||
@Override
|
||||
public Object generateAjaxVisualization(VitroRequest vitroRequest, Log log,
|
||||
Dataset dataSource) throws MalformedQueryParametersException {
|
||||
Dataset dataSource) throws MalformedQueryParametersException, JsonProcessingException {
|
||||
return regenerateConstructedModels(vitroRequest, dataSource);
|
||||
}
|
||||
|
||||
|
@ -82,7 +83,7 @@ public class ModelConstructorRequestHandler implements
|
|||
}
|
||||
|
||||
private Map<String, String> regenerateConstructedModels(VitroRequest vitroRequest,
|
||||
Dataset dataSource) {
|
||||
Dataset dataSource) throws JsonProcessingException {
|
||||
|
||||
VisualizationCaches.rebuildAll(vitroRequest.getRDFService());
|
||||
|
||||
|
@ -112,11 +113,10 @@ public class ModelConstructorRequestHandler implements
|
|||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_TYPE_KEY,
|
||||
"application/octet-stream");
|
||||
|
||||
Gson json = new Gson();
|
||||
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY,
|
||||
json.toJson(refreshedModels));
|
||||
mapper.writeValueAsString(refreshedModels));
|
||||
|
||||
return fileData;
|
||||
}
|
||||
|
|
|
@ -10,6 +10,11 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.model.OrganizationPeopleMap;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.utilities.CounterUtils;
|
||||
|
@ -19,7 +24,6 @@ import org.apache.commons.lang3.StringEscapeUtils;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import org.apache.jena.query.Dataset;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.AuthorizationRequest;
|
||||
|
@ -77,7 +81,7 @@ public class TemporalGrantVisualizationRequestHandler implements
|
|||
|
||||
@Override
|
||||
public Map<String, String> generateDataVisualization(VitroRequest vitroRequest, Log log, Dataset dataset)
|
||||
throws MalformedQueryParametersException {
|
||||
throws MalformedQueryParametersException, JsonProcessingException {
|
||||
|
||||
String entityURI = vitroRequest.getParameter(VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY);
|
||||
|
||||
|
@ -137,7 +141,7 @@ public class TemporalGrantVisualizationRequestHandler implements
|
|||
private Map<String, String> getSubjectEntityAndGenerateDataResponse(
|
||||
VitroRequest vitroRequest, Log log, Dataset dataset,
|
||||
String subjectEntityURI, VisConstants.DataVisMode visMode)
|
||||
throws MalformedQueryParametersException {
|
||||
throws MalformedQueryParametersException, JsonProcessingException {
|
||||
|
||||
RDFService rdfService = vitroRequest.getRDFService();
|
||||
|
||||
|
@ -184,7 +188,6 @@ public class TemporalGrantVisualizationRequestHandler implements
|
|||
|
||||
Map<String, String> fileData = new HashMap<String, String>();
|
||||
if (VisConstants.DataVisMode.JSON.equals(visMode)) {
|
||||
Gson json = new Gson();
|
||||
Set subEntitiesJson = new HashSet();
|
||||
|
||||
// For each suborganisation
|
||||
|
@ -234,8 +237,10 @@ public class TemporalGrantVisualizationRequestHandler implements
|
|||
|
||||
subEntitiesJson.add(subjectEntityJSON);
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_TYPE_KEY, "application/octet-stream");
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, json.toJson(subEntitiesJson));
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, mapper.writeValueAsString(subEntitiesJson));
|
||||
|
||||
} else {
|
||||
String entityLabel = orgLabelMap.get(subjectEntityURI);
|
||||
|
|
|
@ -10,6 +10,11 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.model.OrganizationPeopleMap;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.utilities.CounterUtils;
|
||||
|
@ -19,7 +24,6 @@ import org.apache.commons.lang3.StringEscapeUtils;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import org.apache.jena.query.Dataset;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.AuthorizationRequest;
|
||||
|
@ -74,7 +78,7 @@ public class TemporalPublicationVisualizationRequestHandler implements
|
|||
private Map<String, String> getSubjectEntityAndGenerateDataResponse(
|
||||
VitroRequest vitroRequest, Log log, Dataset dataset,
|
||||
String subjectEntityURI, VisConstants.DataVisMode visMode)
|
||||
throws MalformedQueryParametersException {
|
||||
throws MalformedQueryParametersException, JsonProcessingException {
|
||||
|
||||
RDFService rdfService = vitroRequest.getRDFService();
|
||||
|
||||
|
@ -121,7 +125,6 @@ public class TemporalPublicationVisualizationRequestHandler implements
|
|||
|
||||
Map<String, String> fileData = new HashMap<String, String>();
|
||||
if (VisConstants.DataVisMode.JSON.equals(visMode)) {
|
||||
Gson json = new Gson();
|
||||
Set subEntitiesJson = new HashSet();
|
||||
|
||||
// For each suborganisation
|
||||
|
@ -171,8 +174,10 @@ public class TemporalPublicationVisualizationRequestHandler implements
|
|||
|
||||
subEntitiesJson.add(subjectEntityJSON);
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_TYPE_KEY, "application/octet-stream");
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, json.toJson(subEntitiesJson));
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY, mapper.writeValueAsString(subEntitiesJson));
|
||||
|
||||
} else {
|
||||
String entityLabel = orgLabelMap.get(subjectEntityURI);
|
||||
|
@ -240,7 +245,7 @@ public class TemporalPublicationVisualizationRequestHandler implements
|
|||
|
||||
@Override
|
||||
public Map<String, String> generateDataVisualization(VitroRequest vitroRequest, Log log, Dataset dataset)
|
||||
throws MalformedQueryParametersException {
|
||||
throws MalformedQueryParametersException, JsonProcessingException {
|
||||
|
||||
String entityURI = vitroRequest.getParameter(VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY);
|
||||
|
||||
|
@ -308,4 +313,4 @@ public class TemporalPublicationVisualizationRequestHandler implements
|
|||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,11 @@ package edu.cornell.mannlib.vitro.webapp.visualization.utilities;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
|
@ -13,7 +18,6 @@ import org.apache.jena.iri.IRIFactory;
|
|||
import org.apache.jena.iri.Violation;
|
||||
import org.vivoweb.webapp.util.ModelUtils;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import org.apache.jena.query.Dataset;
|
||||
import org.apache.jena.query.QuerySolution;
|
||||
import org.apache.jena.query.ResultSet;
|
||||
|
@ -50,8 +54,8 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
|||
|
||||
public Object generateAjaxVisualization(VitroRequest vitroRequest,
|
||||
Log log,
|
||||
Dataset dataset)
|
||||
throws MalformedQueryParametersException {
|
||||
Dataset dataset)
|
||||
throws MalformedQueryParametersException, JsonProcessingException {
|
||||
|
||||
String individualURI = vitroRequest.getParameter(
|
||||
VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY);
|
||||
|
@ -79,11 +83,11 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
|||
|
||||
GenericQueryMap profilePropertiesToValues =
|
||||
profileQueryHandler.getQueryResult();
|
||||
|
||||
Gson profileInformation = new Gson();
|
||||
|
||||
return profileInformation.toJson(profilePropertiesToValues);
|
||||
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
return mapper.writeValueAsString(profilePropertiesToValues);
|
||||
|
||||
|
||||
} else if (VisualizationFrameworkConstants.IMAGE_UTILS_VIS_MODE
|
||||
.equalsIgnoreCase(visMode)) {
|
||||
|
@ -137,13 +141,14 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
|||
whereClause,
|
||||
groupOrderClause,
|
||||
dataset);
|
||||
|
||||
Gson publicationsInformation = new Gson();
|
||||
|
||||
NumPubsForIndividualConsumer consumer = new NumPubsForIndividualConsumer();
|
||||
numberOfPublicationsQueryHandler.sparqlSelectQuery(vitroRequest.getRDFService(), consumer);
|
||||
return publicationsInformation.toJson(consumer.getMap());
|
||||
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
return mapper.writeValueAsString(consumer.getMap());
|
||||
|
||||
} else if (VisualizationFrameworkConstants.ARE_GRANTS_AVAILABLE_UTILS_VIS_MODE
|
||||
.equalsIgnoreCase(visMode)) {
|
||||
|
||||
|
@ -179,12 +184,11 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
|||
"",
|
||||
dataset);
|
||||
|
||||
Gson grantsInformation = new Gson();
|
||||
|
||||
NumGrantsForIndividualConsumer consumer = new NumGrantsForIndividualConsumer();
|
||||
numberOfGrantsQueryHandler.sparqlSelectQuery(vitroRequest.getRDFService(), consumer);
|
||||
|
||||
return grantsInformation.toJson(consumer.getMap());
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
return mapper.writeValueAsString(consumer.getMap());
|
||||
|
||||
} else if (VisualizationFrameworkConstants.COAUTHOR_UTILS_VIS_MODE
|
||||
.equalsIgnoreCase(visMode)) {
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
/* $This file is distributed under the terms of the license in LICENSE$ */
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -11,13 +14,24 @@ import java.util.Set;
|
|||
* @author bkoniden
|
||||
* Deepak Konidena
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class JsonObject {
|
||||
|
||||
@JsonProperty
|
||||
private String label;
|
||||
|
||||
@JsonProperty
|
||||
private String lastCachedAtDateTime;
|
||||
|
||||
@JsonProperty
|
||||
private List<List<Integer>> data = new ArrayList<List<Integer>>();
|
||||
|
||||
@JsonProperty
|
||||
private String entityURI;
|
||||
|
||||
@JsonProperty
|
||||
private String visMode;
|
||||
|
||||
@JsonProperty
|
||||
private List<String> organizationType = new ArrayList<String>();
|
||||
|
||||
public List<String> getOrganizationTypes() {
|
||||
|
|
|
@ -1,21 +1,41 @@
|
|||
/* $This file is distributed under the terms of the license in LICENSE$ */
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class MapOfScience {
|
||||
|
||||
@JsonProperty
|
||||
private String uri;
|
||||
|
||||
@JsonProperty
|
||||
private String label;
|
||||
|
||||
@JsonProperty
|
||||
private String type;
|
||||
|
||||
@JsonProperty
|
||||
private int pubsMapped;
|
||||
|
||||
@JsonProperty
|
||||
private int pubsWithNoJournals;
|
||||
|
||||
@JsonProperty
|
||||
private int pubsWithInvalidJournals;
|
||||
|
||||
@JsonProperty
|
||||
private String lastCachedAtDateTime;
|
||||
|
||||
@JsonProperty
|
||||
private Map<Integer, Float> subdisciplineActivity = new HashMap<Integer, Float>();
|
||||
|
||||
@JsonProperty
|
||||
private Set<SubEntityInfo> subEntities = new HashSet<SubEntityInfo>();
|
||||
|
||||
public MapOfScience(String uri) {
|
||||
|
@ -84,11 +104,18 @@ public class MapOfScience {
|
|||
return subEntities;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private class SubEntityInfo {
|
||||
|
||||
@JsonProperty
|
||||
private String uri;
|
||||
|
||||
@JsonProperty
|
||||
private String label;
|
||||
|
||||
@JsonProperty
|
||||
private String type;
|
||||
|
||||
@JsonProperty
|
||||
private int pubs;
|
||||
|
||||
public SubEntityInfo(String uri, String label, String type, int pubs) {
|
||||
|
@ -129,7 +156,5 @@ public class MapOfScience {
|
|||
public void setPubs(int pubs) {
|
||||
this.pubs = pubs;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,12 +5,19 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Individual;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class SubjectEntityJSON {
|
||||
|
||||
@JsonProperty
|
||||
private String subjectEntityLabel;
|
||||
|
||||
@JsonProperty
|
||||
private String subjectEntityURI;
|
||||
|
||||
@JsonProperty
|
||||
private Map<String, String> parentURIToLabel = new HashMap<String, String>();
|
||||
|
||||
public SubjectEntityJSON(String subjectEntityURI, String label,
|
||||
|
|
|
@ -12,13 +12,15 @@ import java.util.TreeMap;
|
|||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.format.DateTimeFormatter;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||
|
@ -151,10 +153,10 @@ public class UtilityFunctions {
|
|||
GenericQueryMap errorDataResponse = new GenericQueryMap();
|
||||
errorDataResponse.addEntry("error", errorMessage);
|
||||
|
||||
Gson jsonErrorResponse = new Gson();
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
response.getWriter().write(jsonErrorResponse.toJson(errorDataResponse));
|
||||
mapper.writeValue(response.getWriter(), errorDataResponse);
|
||||
}
|
||||
|
||||
public static DateTime getValidParsedDateTimeObject(String unparsedDateTime) {
|
||||
|
|
|
@ -3,6 +3,7 @@ package edu.cornell.mannlib.vitro.webapp.visualization.visutils;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import org.apache.jena.query.Dataset;
|
||||
|
@ -38,10 +39,10 @@ public interface VisualizationRequestHandler {
|
|||
|
||||
Object generateAjaxVisualization(VitroRequest vitroRequest,
|
||||
Log log,
|
||||
Dataset dataSource) throws MalformedQueryParametersException;
|
||||
Dataset dataSource) throws MalformedQueryParametersException, JsonProcessingException;
|
||||
|
||||
Map<String, String> generateDataVisualization(VitroRequest vitroRequest,
|
||||
Log log,
|
||||
Dataset dataset) throws MalformedQueryParametersException;
|
||||
Dataset dataset) throws MalformedQueryParametersException, JsonProcessingException;
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue