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