1. Refactored code to make it more amenable to dependency injection. Removed unnecessary state preservation from all the VisRequestHandlers.
This commit is contained in:
parent
107eabbe14
commit
e22b5d7d23
8 changed files with 153 additions and 184 deletions
|
@ -102,12 +102,17 @@ public class VisualizationController extends BaseEditController {
|
||||||
public static final String UTILITIES_URL_VALUE
|
public static final String UTILITIES_URL_VALUE
|
||||||
= "utilities";
|
= "utilities";
|
||||||
|
|
||||||
public VisualizationController() {
|
@Override
|
||||||
super();
|
public void init() throws ServletException {
|
||||||
|
super.init();
|
||||||
|
try {
|
||||||
|
|
||||||
|
String resourcePath =
|
||||||
|
getServletContext()
|
||||||
|
.getRealPath("/WEB-INF/visualization/visualizations-beans-injection.xml");
|
||||||
|
|
||||||
try {
|
|
||||||
ApplicationContext context = new ClassPathXmlApplicationContext(
|
ApplicationContext context = new ClassPathXmlApplicationContext(
|
||||||
"WEB-INF/visualization/visualizations-beans-injection.xml");
|
resourcePath);
|
||||||
|
|
||||||
BeanFactory factory = context;
|
BeanFactory factory = context;
|
||||||
|
|
||||||
|
@ -118,10 +123,10 @@ public class VisualizationController extends BaseEditController {
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
||||||
System.out.println(e.getMessage());
|
e.printStackTrace();
|
||||||
|
System.out.println(e);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -144,30 +149,25 @@ public class VisualizationController extends BaseEditController {
|
||||||
|
|
||||||
if (PERSON_PUBLICATION_COUNT_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
if (PERSON_PUBLICATION_COUNT_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
visRequestHandler =
|
visRequestHandler = new PersonPublicationCountRequestHandler();
|
||||||
new PersonPublicationCountRequestHandler(vreq, request, response, log);
|
|
||||||
|
|
||||||
} else if (COLLEGE_PUBLICATION_COUNT_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
} else if (COLLEGE_PUBLICATION_COUNT_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
visRequestHandler =
|
visRequestHandler = new CollegePublicationCountRequestHandler();
|
||||||
new CollegePublicationCountRequestHandler(vreq, request, response, log);
|
|
||||||
|
|
||||||
} else if (COAUTHORSHIP_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
} else if (COAUTHORSHIP_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
visRequestHandler =
|
visRequestHandler = new CoAuthorshipRequestHandler();
|
||||||
new CoAuthorshipRequestHandler(vreq, request, response, log);
|
|
||||||
|
|
||||||
|
|
||||||
} else if (PERSON_LEVEL_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
} else if (PERSON_LEVEL_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
visRequestHandler =
|
visRequestHandler = new PersonLevelRequestHandler();
|
||||||
new PersonLevelRequestHandler(vreq, request, response, log);
|
|
||||||
|
|
||||||
} else if (UTILITIES_URL_VALUE
|
} else if (UTILITIES_URL_VALUE
|
||||||
.equalsIgnoreCase(visTypeURLHandle)) {
|
.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
visRequestHandler =
|
visRequestHandler = new UtilitiesRequestHandler();
|
||||||
new UtilitiesRequestHandler(vreq, request, response, log);
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ public class VisualizationController extends BaseEditController {
|
||||||
* This is side-effecting because the visualization content is added
|
* This is side-effecting because the visualization content is added
|
||||||
* to the request object.
|
* to the request object.
|
||||||
* */
|
* */
|
||||||
visRequestHandler.generateVisualization(dataSource);
|
visRequestHandler.generateVisualization(vreq, request, response, log, dataSource);
|
||||||
|
|
||||||
System.out.println(" VIS ID TO CLASS " + visualizationIDsToClass);
|
System.out.println(" VIS ID TO CLASS " + visualizationIDsToClass);
|
||||||
|
|
||||||
|
@ -239,8 +239,8 @@ public class VisualizationController extends BaseEditController {
|
||||||
HttpSession session = request.getSession(true);
|
HttpSession session = request.getSession(true);
|
||||||
|
|
||||||
session.setAttribute("postLoginRequest",
|
session.setAttribute("postLoginRequest",
|
||||||
vreq.getRequestURI()+( vreq.getQueryString()!=null?('?' + vreq.getQueryString()):"" ));
|
vreq.getRequestURI()+( vreq.getQueryString()!=null?('?' + vreq.getQueryString()):"" ));
|
||||||
String redirectURL = request.getContextPath() + Controllers.SITE_ADMIN + "?login=block";
|
String redirectURL = request.getContextPath() + Controllers.SITE_ADMIN + "?login=block";
|
||||||
response.sendRedirect(redirectURL);
|
response.sendRedirect(redirectURL);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,19 +31,14 @@ import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryHandler;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
||||||
|
|
||||||
public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
public class CoAuthorshipRequestHandler implements VisualizationRequestHandler {
|
||||||
|
|
||||||
|
public void generateVisualization(VitroRequest vitroRequest,
|
||||||
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log,
|
||||||
|
DataSource dataSource) {
|
||||||
|
|
||||||
public CoAuthorshipRequestHandler(VitroRequest vitroRequest,
|
|
||||||
HttpServletRequest request, HttpServletResponse response, Log log) {
|
|
||||||
|
|
||||||
super(vitroRequest, request, response, log);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void generateVisualization(DataSource dataSource) {
|
|
||||||
|
|
||||||
VitroRequest vitroRequest = super.getVitroRequest();
|
|
||||||
String egoURIParam = vitroRequest.getParameter(
|
String egoURIParam = vitroRequest.getParameter(
|
||||||
VisualizationFrameworkConstants
|
VisualizationFrameworkConstants
|
||||||
.INDIVIDUAL_URI_URL_HANDLE);
|
.INDIVIDUAL_URI_URL_HANDLE);
|
||||||
|
@ -56,7 +51,6 @@ public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
||||||
VisualizationFrameworkConstants
|
VisualizationFrameworkConstants
|
||||||
.VIS_MODE_URL_HANDLE);
|
.VIS_MODE_URL_HANDLE);
|
||||||
|
|
||||||
Log log = super.getLog();
|
|
||||||
QueryHandler<CoAuthorshipVOContainer> queryManager =
|
QueryHandler<CoAuthorshipVOContainer> queryManager =
|
||||||
new CoAuthorshipQueryHandler(egoURIParam,
|
new CoAuthorshipQueryHandler(egoURIParam,
|
||||||
dataSource,
|
dataSource,
|
||||||
|
@ -89,7 +83,8 @@ public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
||||||
* When the csv file is required - based on which sparkline visualization will
|
* When the csv file is required - based on which sparkline visualization will
|
||||||
* be rendered.
|
* be rendered.
|
||||||
* */
|
* */
|
||||||
prepareVisualizationQuerySparklineDataResponse(authorNodesAndEdges);
|
prepareVisualizationQuerySparklineDataResponse(authorNodesAndEdges,
|
||||||
|
response);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -97,14 +92,14 @@ public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
||||||
* When the graphML file is required - based on which coauthorship network
|
* When the graphML file is required - based on which coauthorship network
|
||||||
* visualization will be rendered.
|
* visualization will be rendered.
|
||||||
* */
|
* */
|
||||||
prepareVisualizationQueryNetworkDataResponse(authorNodesAndEdges);
|
prepareVisualizationQueryNetworkDataResponse(authorNodesAndEdges, response);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (MalformedQueryParametersException e) {
|
} catch (MalformedQueryParametersException e) {
|
||||||
try {
|
try {
|
||||||
handleMalformedParameters(e.getMessage());
|
handleMalformedParameters(e.getMessage(), vitroRequest, request, response, log);
|
||||||
} catch (ServletException e1) {
|
} catch (ServletException e1) {
|
||||||
log.error(e1.getStackTrace());
|
log.error(e1.getStackTrace());
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
|
@ -116,13 +111,13 @@ public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void prepareVisualizationQueryNetworkDataResponse(
|
private void prepareVisualizationQueryNetworkDataResponse(
|
||||||
CoAuthorshipVOContainer authorNodesAndEdges) {
|
CoAuthorshipVOContainer authorNodesAndEdges, HttpServletResponse response) {
|
||||||
|
|
||||||
super.getResponse().setContentType("text/xml");
|
response.setContentType("text/xml");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
PrintWriter responseWriter = super.getResponse().getWriter();
|
PrintWriter responseWriter = response.getWriter();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We are side-effecting responseWriter since we are directly manipulating the response
|
* We are side-effecting responseWriter since we are directly manipulating the response
|
||||||
|
@ -141,7 +136,7 @@ public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void prepareVisualizationQuerySparklineDataResponse(
|
private void prepareVisualizationQuerySparklineDataResponse(
|
||||||
CoAuthorshipVOContainer authorNodesAndEdges) {
|
CoAuthorshipVOContainer authorNodesAndEdges, HttpServletResponse response) {
|
||||||
|
|
||||||
String outputFileName;
|
String outputFileName;
|
||||||
Map<String, Set<Node>> yearToCoauthors = new TreeMap<String, Set<Node>>();
|
Map<String, Set<Node>> yearToCoauthors = new TreeMap<String, Set<Node>>();
|
||||||
|
@ -159,7 +154,6 @@ public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
||||||
outputFileName = "no_coauthors-per-year" + ".csv";
|
outputFileName = "no_coauthors-per-year" + ".csv";
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpServletResponse response = super.getResponse();
|
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
response.setHeader("Content-Disposition",
|
response.setHeader("Content-Disposition",
|
||||||
"attachment;filename=" + outputFileName);
|
"attachment;filename=" + outputFileName);
|
||||||
|
@ -247,12 +241,15 @@ public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
||||||
return yearToCoAuthors;
|
return yearToCoAuthors;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleMalformedParameters(String errorMessage)
|
private void handleMalformedParameters(String errorMessage,
|
||||||
|
VitroRequest vitroRequest,
|
||||||
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log)
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
|
|
||||||
Portal portal = super.getVitroRequest().getPortal();
|
Portal portal = vitroRequest.getPortal();
|
||||||
|
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
request.setAttribute("error", errorMessage);
|
request.setAttribute("error", errorMessage);
|
||||||
|
|
||||||
RequestDispatcher requestDispatcher =
|
RequestDispatcher requestDispatcher =
|
||||||
|
@ -264,9 +261,8 @@ public class CoAuthorshipRequestHandler extends VisualizationRequestHandler {
|
||||||
"Visualization Query Error - Individual Publication Count");
|
"Visualization Query Error - Individual Publication Count");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
requestDispatcher.forward(request, super.getResponse());
|
requestDispatcher.forward(request, response);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log log = super.getLog();
|
|
||||||
log.error("EntityEditController could not forward to view.");
|
log.error("EntityEditController could not forward to view.");
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
log.error(e.getStackTrace());
|
log.error(e.getStackTrace());
|
||||||
|
|
|
@ -46,18 +46,13 @@ import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryHandler;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
||||||
|
|
||||||
public class CollegePublicationCountRequestHandler extends VisualizationRequestHandler {
|
public class CollegePublicationCountRequestHandler implements VisualizationRequestHandler {
|
||||||
|
|
||||||
public CollegePublicationCountRequestHandler(VitroRequest vitroRequest,
|
public void generateVisualization(VitroRequest vitroRequest,
|
||||||
HttpServletRequest request, HttpServletResponse response, Log log) {
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
super(vitroRequest, request, response, log);
|
Log log,
|
||||||
|
DataSource dataSource) {
|
||||||
}
|
|
||||||
|
|
||||||
public void generateVisualization(DataSource dataSource) {
|
|
||||||
|
|
||||||
ServletRequest vitroRequest = super.getVitroRequest();
|
|
||||||
|
|
||||||
String collegeURIParam = vitroRequest.getParameter(
|
String collegeURIParam = vitroRequest.getParameter(
|
||||||
VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE);
|
VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE);
|
||||||
|
@ -71,7 +66,6 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
String visContainer = vitroRequest.getParameter(
|
String visContainer = vitroRequest.getParameter(
|
||||||
VisualizationFrameworkConstants.VIS_CONTAINER_URL_HANDLE);
|
VisualizationFrameworkConstants.VIS_CONTAINER_URL_HANDLE);
|
||||||
|
|
||||||
Log log = super.getLog();
|
|
||||||
QueryHandler<Set<VivoEmployee>> queryManager =
|
QueryHandler<Set<VivoEmployee>> queryManager =
|
||||||
new CollegePublicationCountQueryHandler(collegeURIParam,
|
new CollegePublicationCountQueryHandler(collegeURIParam,
|
||||||
dataSource,
|
dataSource,
|
||||||
|
@ -119,8 +113,9 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
* */
|
* */
|
||||||
if (VisualizationFrameworkConstants.DATA_RENDER_MODE_URL_VALUE.equalsIgnoreCase(renderMode)) {
|
if (VisualizationFrameworkConstants.DATA_RENDER_MODE_URL_VALUE.equalsIgnoreCase(renderMode)) {
|
||||||
prepareVisualizationQueryDataResponse(
|
prepareVisualizationQueryDataResponse(
|
||||||
departmentToPublicationsOverTime,
|
departmentToPublicationsOverTime,
|
||||||
((CollegePublicationCountQueryHandler) queryManager).getCollegeURLToVO());
|
((CollegePublicationCountQueryHandler) queryManager).getCollegeURLToVO(),
|
||||||
|
response);
|
||||||
|
|
||||||
log.debug(publishedYearsForCollege);
|
log.debug(publishedYearsForCollege);
|
||||||
return;
|
return;
|
||||||
|
@ -148,7 +143,7 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
|
|
||||||
} catch (MalformedQueryParametersException e) {
|
} catch (MalformedQueryParametersException e) {
|
||||||
try {
|
try {
|
||||||
handleMalformedParameters(e.getMessage());
|
handleMalformedParameters(e.getMessage(), vitroRequest, request, response, log);
|
||||||
} catch (ServletException e1) {
|
} catch (ServletException e1) {
|
||||||
log.error(e1.getStackTrace());
|
log.error(e1.getStackTrace());
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
|
@ -211,7 +206,8 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
|
|
||||||
private void prepareVisualizationQueryPDFResponse(Individual college,
|
private void prepareVisualizationQueryPDFResponse(Individual college,
|
||||||
List<BiboDocument> authorDocuments,
|
List<BiboDocument> authorDocuments,
|
||||||
Map<String, Integer> yearToPublicationCount) {
|
Map<String, Integer> yearToPublicationCount,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
String authorName = null;
|
String authorName = null;
|
||||||
|
|
||||||
|
@ -233,7 +229,6 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
String outputFileName = UtilityFunctions.slugify(authorName + "-report")
|
String outputFileName = UtilityFunctions.slugify(authorName + "-report")
|
||||||
+ ".pdf";
|
+ ".pdf";
|
||||||
|
|
||||||
HttpServletResponse response = super.getResponse();
|
|
||||||
response.setContentType("application/pdf");
|
response.setContentType("application/pdf");
|
||||||
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
||||||
|
|
||||||
|
@ -271,7 +266,7 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
|
|
||||||
private void prepareVisualizationQueryDataResponse(
|
private void prepareVisualizationQueryDataResponse(
|
||||||
Map<VivoDepartmentOrDivision, Map<String, Integer>> departmentToPublicationsOverTime,
|
Map<VivoDepartmentOrDivision, Map<String, Integer>> departmentToPublicationsOverTime,
|
||||||
Map<String, VivoCollegeOrSchool> collegeURLToVO) {
|
Map<String, VivoCollegeOrSchool> collegeURLToVO, HttpServletResponse response) {
|
||||||
|
|
||||||
String collegeName = null;
|
String collegeName = null;
|
||||||
|
|
||||||
|
@ -296,7 +291,6 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
|
|
||||||
String outputFileName = UtilityFunctions.slugify(collegeName) + "depts-pub-count" + ".csv";
|
String outputFileName = UtilityFunctions.slugify(collegeName) + "depts-pub-count" + ".csv";
|
||||||
|
|
||||||
HttpServletResponse response = super.getResponse();
|
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
||||||
|
|
||||||
|
@ -394,12 +388,15 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleMalformedParameters(String errorMessage)
|
private void handleMalformedParameters(String errorMessage,
|
||||||
|
VitroRequest vitroRequest,
|
||||||
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log)
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
|
|
||||||
Portal portal = super.getVitroRequest().getPortal();
|
Portal portal = vitroRequest.getPortal();
|
||||||
|
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
request.setAttribute("error", errorMessage);
|
request.setAttribute("error", errorMessage);
|
||||||
|
|
||||||
RequestDispatcher requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
RequestDispatcher requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
||||||
|
@ -408,9 +405,8 @@ public class CollegePublicationCountRequestHandler extends VisualizationRequestH
|
||||||
request.setAttribute("title", "Visualization Query Error - Individual Publication Count");
|
request.setAttribute("title", "Visualization Query Error - Individual Publication Count");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
requestDispatcher.forward(request, super.getResponse());
|
requestDispatcher.forward(request, response);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log log = super.getLog();
|
|
||||||
log.error("EntityEditController could not forward to view.");
|
log.error("EntityEditController could not forward to view.");
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
log.error(e.getStackTrace());
|
log.error(e.getStackTrace());
|
||||||
|
|
|
@ -38,22 +38,18 @@ import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryHandler;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
||||||
|
|
||||||
public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
public class PersonLevelRequestHandler implements VisualizationRequestHandler {
|
||||||
|
|
||||||
private static final String EGO_PUB_SPARKLINE_VIS_CONTAINER_ID = "ego_pub_sparkline";
|
private static final String EGO_PUB_SPARKLINE_VIS_CONTAINER_ID = "ego_pub_sparkline";
|
||||||
private static final String UNIQUE_COAUTHORS_SPARKLINE_VIS_CONTAINER_ID =
|
private static final String UNIQUE_COAUTHORS_SPARKLINE_VIS_CONTAINER_ID =
|
||||||
"unique_coauthors_sparkline";
|
"unique_coauthors_sparkline";
|
||||||
|
|
||||||
public PersonLevelRequestHandler(VitroRequest vitroRequest,
|
public void generateVisualization(VitroRequest vitroRequest,
|
||||||
HttpServletRequest request, HttpServletResponse response, Log log) {
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log,
|
||||||
|
DataSource dataSource) {
|
||||||
|
|
||||||
super(vitroRequest, request, response, log);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void generateVisualization(DataSource dataSource) {
|
|
||||||
|
|
||||||
VitroRequest vitroRequest = super.getVitroRequest();
|
|
||||||
String egoURIParam = vitroRequest.getParameter(
|
String egoURIParam = vitroRequest.getParameter(
|
||||||
VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE);
|
VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE);
|
||||||
|
|
||||||
|
@ -63,7 +59,6 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
String visMode = vitroRequest.getParameter(
|
String visMode = vitroRequest.getParameter(
|
||||||
VisualizationFrameworkConstants.VIS_MODE_URL_HANDLE);
|
VisualizationFrameworkConstants.VIS_MODE_URL_HANDLE);
|
||||||
|
|
||||||
Log log = super.getLog();
|
|
||||||
QueryHandler<CoAuthorshipVOContainer>
|
QueryHandler<CoAuthorshipVOContainer>
|
||||||
coAuthorshipQueryManager =
|
coAuthorshipQueryManager =
|
||||||
new CoAuthorshipQueryHandler(egoURIParam,
|
new CoAuthorshipQueryHandler(egoURIParam,
|
||||||
|
@ -103,7 +98,8 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
* When the csv file is required - containing the unique co-authors vs how
|
* When the csv file is required - containing the unique co-authors vs how
|
||||||
* many times they have co-authored with the ego.
|
* many times they have co-authored with the ego.
|
||||||
* */
|
* */
|
||||||
prepareVisualizationQueryListCoauthorsDataResponse(coAuthorshipVO);
|
prepareVisualizationQueryListCoauthorsDataResponse(coAuthorshipVO,
|
||||||
|
response);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -111,7 +107,7 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
* When the graphML file is required - based on which co-authorship
|
* When the graphML file is required - based on which co-authorship
|
||||||
* network visualization will be rendered.
|
* network visualization will be rendered.
|
||||||
* */
|
* */
|
||||||
prepareVisualizationQueryNetworkDataResponse(coAuthorshipVO);
|
prepareVisualizationQueryNetworkDataResponse(coAuthorshipVO, response);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,20 +155,20 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
|
|
||||||
RequestDispatcher requestDispatcher = null;
|
RequestDispatcher requestDispatcher = null;
|
||||||
|
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
|
|
||||||
prepareVisualizationQueryStandaloneResponse(
|
prepareVisualizationQueryStandaloneResponse(
|
||||||
egoURIParam,
|
egoURIParam,
|
||||||
publicationSparklineVO,
|
publicationSparklineVO,
|
||||||
uniqueCoauthorsSparklineVO,
|
uniqueCoauthorsSparklineVO,
|
||||||
coAuthorshipVO,
|
coAuthorshipVO,
|
||||||
EGO_PUB_SPARKLINE_VIS_CONTAINER_ID,
|
EGO_PUB_SPARKLINE_VIS_CONTAINER_ID,
|
||||||
UNIQUE_COAUTHORS_SPARKLINE_VIS_CONTAINER_ID);
|
UNIQUE_COAUTHORS_SPARKLINE_VIS_CONTAINER_ID,
|
||||||
|
vitroRequest,
|
||||||
|
request);
|
||||||
|
|
||||||
requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
requestDispatcher.forward(request, super.getResponse());
|
requestDispatcher.forward(request, response);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("EntityEditController could not forward to view.");
|
log.error("EntityEditController could not forward to view.");
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
|
@ -181,7 +177,11 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
|
|
||||||
} catch (MalformedQueryParametersException e) {
|
} catch (MalformedQueryParametersException e) {
|
||||||
try {
|
try {
|
||||||
handleMalformedParameters(e.getMessage());
|
handleMalformedParameters(e.getMessage(),
|
||||||
|
vitroRequest,
|
||||||
|
request,
|
||||||
|
response,
|
||||||
|
log);
|
||||||
} catch (ServletException e1) {
|
} catch (ServletException e1) {
|
||||||
log.error(e1.getStackTrace());
|
log.error(e1.getStackTrace());
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
|
@ -229,7 +229,7 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void prepareVisualizationQueryNetworkDataResponse(
|
private void prepareVisualizationQueryNetworkDataResponse(
|
||||||
CoAuthorshipVOContainer coAuthorsipVO) {
|
CoAuthorshipVOContainer coAuthorsipVO, HttpServletResponse response) {
|
||||||
|
|
||||||
String outputFileName = "";
|
String outputFileName = "";
|
||||||
|
|
||||||
|
@ -244,7 +244,6 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpServletResponse response = super.getResponse();
|
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
||||||
|
|
||||||
|
@ -269,7 +268,7 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void prepareVisualizationQueryListCoauthorsDataResponse(
|
private void prepareVisualizationQueryListCoauthorsDataResponse(
|
||||||
CoAuthorshipVOContainer coAuthorshipVO) {
|
CoAuthorshipVOContainer coAuthorshipVO, HttpServletResponse response) {
|
||||||
|
|
||||||
String outputFileName = "";
|
String outputFileName = "";
|
||||||
Map<String, Integer> coAuthorsToCount = new TreeMap<String, Integer>();
|
Map<String, Integer> coAuthorsToCount = new TreeMap<String, Integer>();
|
||||||
|
@ -287,7 +286,6 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpServletResponse response = super.getResponse();
|
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
||||||
|
|
||||||
|
@ -349,11 +347,12 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
SparklineVOContainer uniqueCoauthorsSparklineVO,
|
SparklineVOContainer uniqueCoauthorsSparklineVO,
|
||||||
CoAuthorshipVOContainer coAuthorshipVO,
|
CoAuthorshipVOContainer coAuthorshipVO,
|
||||||
String egoPubSparklineVisContainer,
|
String egoPubSparklineVisContainer,
|
||||||
String uniqueCoauthorsSparklineVisContainer) {
|
String uniqueCoauthorsSparklineVisContainer,
|
||||||
|
VitroRequest vitroRequest,
|
||||||
|
HttpServletRequest request) {
|
||||||
|
|
||||||
Portal portal = super.getVitroRequest().getPortal();
|
Portal portal = vitroRequest.getPortal();
|
||||||
|
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
request.setAttribute("egoURIParam", egoURIParam);
|
request.setAttribute("egoURIParam", egoURIParam);
|
||||||
|
|
||||||
String title = "";
|
String title = "";
|
||||||
|
@ -381,12 +380,15 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
request.setAttribute("bodyJsp", "/templates/visualization/person_level.jsp");
|
request.setAttribute("bodyJsp", "/templates/visualization/person_level.jsp");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleMalformedParameters(String errorMessage)
|
private void handleMalformedParameters(String errorMessage,
|
||||||
|
VitroRequest vitroRequest,
|
||||||
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log)
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
|
|
||||||
Portal portal = super.getVitroRequest().getPortal();
|
Portal portal = vitroRequest.getPortal();
|
||||||
|
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
request.setAttribute("error", errorMessage);
|
request.setAttribute("error", errorMessage);
|
||||||
|
|
||||||
RequestDispatcher requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
RequestDispatcher requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
||||||
|
@ -395,9 +397,8 @@ public class PersonLevelRequestHandler extends VisualizationRequestHandler {
|
||||||
request.setAttribute("title", "Visualization Query Error - Individual Publication Count");
|
request.setAttribute("title", "Visualization Query Error - Individual Publication Count");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
requestDispatcher.forward(request, super.getResponse());
|
requestDispatcher.forward(request, response);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log log = super.getLog();
|
|
||||||
log.error("EntityEditController could not forward to view.");
|
log.error("EntityEditController could not forward to view.");
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
log.error(e.getStackTrace());
|
log.error(e.getStackTrace());
|
||||||
|
|
|
@ -37,18 +37,14 @@ import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryHandler;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
||||||
|
|
||||||
public class PersonPublicationCountRequestHandler extends VisualizationRequestHandler {
|
public class PersonPublicationCountRequestHandler implements VisualizationRequestHandler {
|
||||||
|
|
||||||
public PersonPublicationCountRequestHandler(VitroRequest vitroRequest,
|
public void generateVisualization(VitroRequest vitroRequest,
|
||||||
HttpServletRequest request, HttpServletResponse response, Log log) {
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log,
|
||||||
|
DataSource dataSource) {
|
||||||
|
|
||||||
super(vitroRequest, request, response, log);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void generateVisualization(DataSource dataSource) {
|
|
||||||
|
|
||||||
VitroRequest vitroRequest = super.getVitroRequest();
|
|
||||||
String individualURIParam = vitroRequest.getParameter(
|
String individualURIParam = vitroRequest.getParameter(
|
||||||
VisualizationFrameworkConstants
|
VisualizationFrameworkConstants
|
||||||
.INDIVIDUAL_URI_URL_HANDLE);
|
.INDIVIDUAL_URI_URL_HANDLE);
|
||||||
|
@ -65,7 +61,6 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
VisualizationFrameworkConstants
|
VisualizationFrameworkConstants
|
||||||
.VIS_CONTAINER_URL_HANDLE);
|
.VIS_CONTAINER_URL_HANDLE);
|
||||||
|
|
||||||
Log log = super.getLog();
|
|
||||||
QueryHandler<List<BiboDocument>> queryManager =
|
QueryHandler<List<BiboDocument>> queryManager =
|
||||||
new PersonPublicationCountQueryHandler(individualURIParam,
|
new PersonPublicationCountQueryHandler(individualURIParam,
|
||||||
dataSource,
|
dataSource,
|
||||||
|
@ -94,7 +89,8 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
|
|
||||||
prepareVisualizationQueryDataResponse(author,
|
prepareVisualizationQueryDataResponse(author,
|
||||||
authorDocuments,
|
authorDocuments,
|
||||||
yearToPublicationCount);
|
yearToPublicationCount,
|
||||||
|
response);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +100,8 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
|
|
||||||
prepareVisualizationQueryPDFResponse(author,
|
prepareVisualizationQueryPDFResponse(author,
|
||||||
authorDocuments,
|
authorDocuments,
|
||||||
yearToPublicationCount);
|
yearToPublicationCount,
|
||||||
|
response);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,8 +127,6 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
* a page with visualization on it.
|
* a page with visualization on it.
|
||||||
* */
|
* */
|
||||||
RequestDispatcher requestDispatcher = null;
|
RequestDispatcher requestDispatcher = null;
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
HttpServletResponse response = super.getResponse();
|
|
||||||
|
|
||||||
if (VisualizationFrameworkConstants.DYNAMIC_RENDER_MODE_URL_VALUE
|
if (VisualizationFrameworkConstants.DYNAMIC_RENDER_MODE_URL_VALUE
|
||||||
.equalsIgnoreCase(renderMode)) {
|
.equalsIgnoreCase(renderMode)) {
|
||||||
|
@ -157,7 +152,7 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
|
|
||||||
} catch (MalformedQueryParametersException e) {
|
} catch (MalformedQueryParametersException e) {
|
||||||
try {
|
try {
|
||||||
handleMalformedParameters(e.getMessage());
|
handleMalformedParameters(e.getMessage(), vitroRequest, request, response, log);
|
||||||
} catch (ServletException e1) {
|
} catch (ServletException e1) {
|
||||||
log.error(e1.getStackTrace());
|
log.error(e1.getStackTrace());
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
|
@ -171,7 +166,8 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
private void prepareVisualizationQueryPDFResponse(
|
private void prepareVisualizationQueryPDFResponse(
|
||||||
Individual author,
|
Individual author,
|
||||||
List<BiboDocument> authorDocuments,
|
List<BiboDocument> authorDocuments,
|
||||||
Map<String, Integer> yearToPublicationCount) {
|
Map<String, Integer> yearToPublicationCount,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
String authorName = null;
|
String authorName = null;
|
||||||
|
|
||||||
|
@ -191,7 +187,6 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
}
|
}
|
||||||
|
|
||||||
String outputFileName = UtilityFunctions.slugify(authorName) + "_report" + ".pdf";
|
String outputFileName = UtilityFunctions.slugify(authorName) + "_report" + ".pdf";
|
||||||
HttpServletResponse response = super.getResponse();
|
|
||||||
|
|
||||||
response.setContentType("application/pdf");
|
response.setContentType("application/pdf");
|
||||||
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
||||||
|
@ -233,7 +228,8 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
private void prepareVisualizationQueryDataResponse(
|
private void prepareVisualizationQueryDataResponse(
|
||||||
Individual author,
|
Individual author,
|
||||||
List<BiboDocument> authorDocuments,
|
List<BiboDocument> authorDocuments,
|
||||||
Map<String, Integer> yearToPublicationCount) {
|
Map<String, Integer> yearToPublicationCount,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
String authorName = null;
|
String authorName = null;
|
||||||
|
|
||||||
|
@ -255,7 +251,6 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
String outputFileName = UtilityFunctions.slugify(authorName)
|
String outputFileName = UtilityFunctions.slugify(authorName)
|
||||||
+ "_publications-per-year" + ".csv";
|
+ "_publications-per-year" + ".csv";
|
||||||
|
|
||||||
HttpServletResponse response = super.getResponse();
|
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName);
|
||||||
|
|
||||||
|
@ -333,11 +328,14 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleMalformedParameters(String errorMessage)
|
private void handleMalformedParameters(String errorMessage,
|
||||||
|
VitroRequest vitroRequest,
|
||||||
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log)
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
|
|
||||||
Portal portal = super.getVitroRequest().getPortal();
|
Portal portal = vitroRequest.getPortal();
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
|
|
||||||
request.setAttribute("error", errorMessage);
|
request.setAttribute("error", errorMessage);
|
||||||
|
|
||||||
|
@ -347,9 +345,8 @@ public class PersonPublicationCountRequestHandler extends VisualizationRequestHa
|
||||||
request.setAttribute("title", "Visualization Query Error - Individual Publication Count");
|
request.setAttribute("title", "Visualization Query Error - Individual Publication Count");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
requestDispatcher.forward(request, super.getResponse());
|
requestDispatcher.forward(request, response);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log log = super.getLog();
|
|
||||||
log.error("EntityEditController could not forward to view.");
|
log.error("EntityEditController could not forward to view.");
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
log.error(e.getStackTrace());
|
log.error(e.getStackTrace());
|
||||||
|
|
|
@ -36,18 +36,14 @@ import edu.cornell.mannlib.vitro.webapp.visualization.visutils.GenericQueryHandl
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryHandler;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryHandler;
|
||||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
||||||
|
|
||||||
public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
||||||
|
|
||||||
public UtilitiesRequestHandler(VitroRequest vitroRequest,
|
public void generateVisualization(VitroRequest vitroRequest,
|
||||||
HttpServletRequest request, HttpServletResponse response, Log log) {
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log,
|
||||||
|
DataSource dataSource) {
|
||||||
|
|
||||||
super(vitroRequest, request, response, log);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void generateVisualization(DataSource dataSource) {
|
|
||||||
|
|
||||||
VitroRequest vitroRequest = super.getVitroRequest();
|
|
||||||
String individualURIParam = vitroRequest.getParameter(
|
String individualURIParam = vitroRequest.getParameter(
|
||||||
VisualizationFrameworkConstants
|
VisualizationFrameworkConstants
|
||||||
.INDIVIDUAL_URI_URL_HANDLE);
|
.INDIVIDUAL_URI_URL_HANDLE);
|
||||||
|
@ -57,8 +53,6 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
|
|
||||||
String preparedURL = "";
|
String preparedURL = "";
|
||||||
|
|
||||||
Log log = super.getLog();
|
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -89,15 +83,16 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
|
|
||||||
Gson profileInformation = new Gson();
|
Gson profileInformation = new Gson();
|
||||||
|
|
||||||
prepareVisualizationQueryResponse(profileInformation
|
prepareVisualizationQueryResponse(
|
||||||
.toJson(profilePropertiesToValues));
|
profileInformation.toJson(profilePropertiesToValues),
|
||||||
|
response);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
} catch (MalformedQueryParametersException e) {
|
} catch (MalformedQueryParametersException e) {
|
||||||
try {
|
try {
|
||||||
handleMalformedParameters(e.getMessage());
|
handleMalformedParameters(e.getMessage(), vitroRequest, request, response, log);
|
||||||
} catch (ServletException e1) {
|
} catch (ServletException e1) {
|
||||||
log.error(e1.getStackTrace());
|
log.error(e1.getStackTrace());
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
|
@ -140,13 +135,13 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
imageQueryHandler.getVisualizationJavaValueObjects(),
|
imageQueryHandler.getVisualizationJavaValueObjects(),
|
||||||
fieldLabelToOutputFieldLabel);
|
fieldLabelToOutputFieldLabel);
|
||||||
|
|
||||||
prepareVisualizationQueryResponse(thumbnailAccessURL);
|
prepareVisualizationQueryResponse(thumbnailAccessURL, response);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
} catch (MalformedQueryParametersException e) {
|
} catch (MalformedQueryParametersException e) {
|
||||||
try {
|
try {
|
||||||
handleMalformedParameters(e.getMessage());
|
handleMalformedParameters(e.getMessage(), vitroRequest, request, response, log);
|
||||||
} catch (ServletException e1) {
|
} catch (ServletException e1) {
|
||||||
log.error(e1.getStackTrace());
|
log.error(e1.getStackTrace());
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
|
@ -181,7 +176,7 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
.toString();
|
.toString();
|
||||||
|
|
||||||
|
|
||||||
prepareVisualizationQueryResponse(preparedURL);
|
prepareVisualizationQueryResponse(preparedURL, response);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
} else if (VisualizationFrameworkConstants.PERSON_LEVEL_UTILS_VIS_MODE
|
} else if (VisualizationFrameworkConstants.PERSON_LEVEL_UTILS_VIS_MODE
|
||||||
|
@ -207,7 +202,7 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
.STANDALONE_RENDER_MODE_URL_VALUE,
|
.STANDALONE_RENDER_MODE_URL_VALUE,
|
||||||
VisualizationController.URL_ENCODING_SCHEME).toString();
|
VisualizationController.URL_ENCODING_SCHEME).toString();
|
||||||
|
|
||||||
prepareVisualizationQueryResponse(preparedURL);
|
prepareVisualizationQueryResponse(preparedURL, response);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -219,7 +214,7 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
+ "=" + URLEncoder.encode(individualURIParam,
|
+ "=" + URLEncoder.encode(individualURIParam,
|
||||||
VisualizationController.URL_ENCODING_SCHEME).toString();
|
VisualizationController.URL_ENCODING_SCHEME).toString();
|
||||||
|
|
||||||
prepareVisualizationQueryResponse(preparedURL);
|
prepareVisualizationQueryResponse(preparedURL, response);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -256,13 +251,14 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
return finalThumbNailLocation;
|
return finalThumbNailLocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void prepareVisualizationQueryResponse(String preparedURL) {
|
private void prepareVisualizationQueryResponse(String preparedURL,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
super.getResponse().setContentType("text/plain");
|
response.setContentType("text/plain");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
PrintWriter responseWriter = super.getResponse().getWriter();
|
PrintWriter responseWriter = response.getWriter();
|
||||||
|
|
||||||
responseWriter.append(preparedURL);
|
responseWriter.append(preparedURL);
|
||||||
|
|
||||||
|
@ -273,12 +269,15 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleMalformedParameters(String errorMessage)
|
private void handleMalformedParameters(String errorMessage,
|
||||||
|
VitroRequest vitroRequest,
|
||||||
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Log log)
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
|
|
||||||
Portal portal = super.getVitroRequest().getPortal();
|
Portal portal = vitroRequest.getPortal();
|
||||||
|
|
||||||
HttpServletRequest request = super.getRequest();
|
|
||||||
request.setAttribute("error", errorMessage);
|
request.setAttribute("error", errorMessage);
|
||||||
|
|
||||||
RequestDispatcher requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
RequestDispatcher requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
||||||
|
@ -287,9 +286,8 @@ public class UtilitiesRequestHandler extends VisualizationRequestHandler {
|
||||||
request.setAttribute("title", "Visualization Query Error - Individual Publication Count");
|
request.setAttribute("title", "Visualization Query Error - Individual Publication Count");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
requestDispatcher.forward(request, super.getResponse());
|
requestDispatcher.forward(request, response);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log log = super.getLog();
|
|
||||||
log.error("EntityEditController could not forward to view.");
|
log.error("EntityEditController could not forward to view.");
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
log.error(e.getStackTrace());
|
log.error(e.getStackTrace());
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
package edu.cornell.mannlib.vitro.webapp.visualization.visutils;
|
||||||
|
|
||||||
|
public interface IVisRequestHandler {
|
||||||
|
public void doSomething();
|
||||||
|
}
|
|
@ -10,37 +10,12 @@ import com.hp.hpl.jena.query.DataSource;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
|
|
||||||
public abstract class VisualizationRequestHandler {
|
public interface VisualizationRequestHandler {
|
||||||
|
|
||||||
private VitroRequest vitroRequest;
|
void generateVisualization(VitroRequest vitroRequest,
|
||||||
private HttpServletRequest request;
|
HttpServletRequest request,
|
||||||
private HttpServletResponse response;
|
HttpServletResponse response,
|
||||||
private Log log;
|
Log log,
|
||||||
|
DataSource dataSource);
|
||||||
public VisualizationRequestHandler(VitroRequest vitroRequest,
|
|
||||||
HttpServletRequest request, HttpServletResponse response, Log log) {
|
|
||||||
this.vitroRequest = vitroRequest;
|
|
||||||
this.request = request;
|
|
||||||
this.response = response;
|
|
||||||
this.log = log;
|
|
||||||
}
|
|
||||||
|
|
||||||
public abstract void generateVisualization(DataSource dataSource);
|
|
||||||
|
|
||||||
public VitroRequest getVitroRequest() {
|
|
||||||
return vitroRequest;
|
|
||||||
}
|
|
||||||
|
|
||||||
public HttpServletRequest getRequest() {
|
|
||||||
return request;
|
|
||||||
}
|
|
||||||
|
|
||||||
public HttpServletResponse getResponse() {
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Log getLog() {
|
|
||||||
return log;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue