1. Created a draft person level vis (integration of sparkline & co-authorship vis)
2. Modified the person pub count to use a single VO to give access to jsp to various contents of sparkline. 3. Modified test bed to include link to Person Level vis.
This commit is contained in:
parent
0e8e1dc9e2
commit
64ff99a222
7 changed files with 86 additions and 72 deletions
|
@ -2,6 +2,8 @@ package edu.cornell.mannlib.vitro.webapp.visualization.personlevel;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.RequestDispatcher;
|
||||
import javax.servlet.ServletException;
|
||||
|
@ -21,6 +23,8 @@ import edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.CoAuthorshipG
|
|||
import edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.QueryHandler;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.VisVOContainer;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisualizationCodeGenerator;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.BiboDocument;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
|
||||
|
||||
public class VisualizationRequestHandler {
|
||||
|
@ -53,18 +57,25 @@ public class VisualizationRequestHandler {
|
|||
|
||||
String visContainer = vitroRequest.getParameter(VisualizationFrameworkConstants.VIS_CONTAINER_URL_HANDLE);
|
||||
|
||||
QueryHandler queryManager =
|
||||
new QueryHandler(egoURIParam,
|
||||
edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.QueryHandler coAuthorshipQueryManager =
|
||||
new edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.QueryHandler(egoURIParam,
|
||||
resultFormatParam,
|
||||
rdfResultFormatParam,
|
||||
dataSource,
|
||||
|
||||
log);
|
||||
|
||||
edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.QueryHandler sparklineQueryManager =
|
||||
new edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.QueryHandler(egoURIParam,
|
||||
resultFormatParam,
|
||||
rdfResultFormatParam,
|
||||
dataSource,
|
||||
log);
|
||||
|
||||
try {
|
||||
|
||||
VisVOContainer authorNodesAndEdges = queryManager.getVisualizationJavaValueObjects();
|
||||
|
||||
edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.VisVOContainer coAuthorshipVO =
|
||||
coAuthorshipQueryManager.getVisualizationJavaValueObjects();
|
||||
|
||||
/*
|
||||
* In order to avoid unneeded computations we have pushed this "if" condition up.
|
||||
* This case arises when the render mode is data. In that case we dont want to generate
|
||||
|
@ -77,49 +88,46 @@ public class VisualizationRequestHandler {
|
|||
* When just the graphML file is required - based on which actual visualization will
|
||||
* be rendered.
|
||||
* */
|
||||
prepareVisualizationQueryDataResponse(authorNodesAndEdges);
|
||||
prepareVisualizationQueryDataResponse(coAuthorshipVO);
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
List<BiboDocument> authorDocuments = sparklineQueryManager.getVisualizationJavaValueObjects();
|
||||
|
||||
/*
|
||||
* Create a map from the year to number of publications. Use the BiboDocument's
|
||||
* parsedPublicationYear to populate the data.
|
||||
* */
|
||||
Map<String, Integer> yearToPublicationCount = sparklineQueryManager
|
||||
.getYearToPublicationCount(authorDocuments);
|
||||
|
||||
|
||||
/*
|
||||
* Computations required to generate HTML for the sparklines & related context.
|
||||
* */
|
||||
|
||||
/*
|
||||
* This is required because when deciding the range of years over which the vis
|
||||
* was rendered we dont want to be influenced by the "DEFAULT_PUBLICATION_YEAR".
|
||||
* */
|
||||
// publishedYearsForCollege.remove(VOConstants.DEFAULT_PUBLICATION_YEAR);
|
||||
edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisVOContainer sparklineVO =
|
||||
new edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisVOContainer();
|
||||
|
||||
/*
|
||||
VisualizationCodeGenerator visualizationCodeGenerator =
|
||||
new VisualizationCodeGenerator(yearToPublicationCount, log);
|
||||
|
||||
String visContentCode = visualizationCodeGenerator
|
||||
.getMainVisualizationCode(authorDocuments,
|
||||
publishedYears,
|
||||
visMode,
|
||||
visContainer);
|
||||
|
||||
String visContextCode = visualizationCodeGenerator
|
||||
.getVisualizationContextCode(vitroRequest.getRequestURI(),
|
||||
collegeURIParam,
|
||||
visMode);
|
||||
*/
|
||||
|
||||
/*
|
||||
* This is side-effecting because the response of this method is just to redirect to
|
||||
* a page with visualization on it.
|
||||
* */
|
||||
edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisualizationCodeGenerator visualizationCodeGenerator =
|
||||
new edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisualizationCodeGenerator(
|
||||
vitroRequest.getRequestURI(),
|
||||
egoURIParam,
|
||||
VisualizationCodeGenerator.FULL_SPARKLINE_MODE_URL_HANDLE,
|
||||
visContainer,
|
||||
authorDocuments,
|
||||
yearToPublicationCount,
|
||||
sparklineVO,
|
||||
log);
|
||||
|
||||
|
||||
RequestDispatcher requestDispatcher = null;
|
||||
|
||||
prepareVisualizationQueryStandaloneResponse(egoURIParam, request, response, vitroRequest);
|
||||
prepareVisualizationQueryStandaloneResponse(egoURIParam, sparklineVO, request, response, vitroRequest);
|
||||
|
||||
// requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
||||
requestDispatcher = request.getRequestDispatcher("/templates/page/blankPage.jsp");
|
||||
requestDispatcher = request.getRequestDispatcher("/templates/page/blankPage.jsp");
|
||||
|
||||
try {
|
||||
requestDispatcher.forward(request, response);
|
||||
|
@ -170,10 +178,12 @@ public class VisualizationRequestHandler {
|
|||
}
|
||||
}
|
||||
|
||||
private void prepareVisualizationQueryStandaloneResponse(String egoURIParam,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
VitroRequest vreq) {
|
||||
private void prepareVisualizationQueryStandaloneResponse(
|
||||
String egoURIParam,
|
||||
edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisVOContainer sparklineVO,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
VitroRequest vreq) {
|
||||
|
||||
Portal portal = vreq.getPortal();
|
||||
|
||||
|
@ -181,6 +191,7 @@ public class VisualizationRequestHandler {
|
|||
// request.setAttribute("visContextCode", visContextCode);
|
||||
|
||||
request.setAttribute("egoURIParam", egoURIParam);
|
||||
request.setAttribute("sparklineVO", sparklineVO);
|
||||
|
||||
request.setAttribute("bodyJsp", "/templates/visualization/person_level.jsp");
|
||||
request.setAttribute("portalBean", portal);
|
||||
|
|
|
@ -33,9 +33,9 @@ public class VisualizationCodeGenerator {
|
|||
|
||||
private static final String defaultVisContainerDivID = "vis_container";
|
||||
|
||||
private static final String SHORT_SPARKLINE_MODE_URL_HANDLE = "short";
|
||||
public static final String SHORT_SPARKLINE_MODE_URL_HANDLE = "short";
|
||||
|
||||
private static final String FULL_SPARKLINE_MODE_URL_HANDLE = "full";
|
||||
public static final String FULL_SPARKLINE_MODE_URL_HANDLE = "full";
|
||||
|
||||
private Map<String, Integer> yearToPublicationCount;
|
||||
|
||||
|
|
|
@ -123,10 +123,6 @@ public class VisualizationRequestHandler {
|
|||
log);
|
||||
|
||||
|
||||
String visContentCode = valueObjectContainer.getSparklineContent();
|
||||
|
||||
String visContextCode = valueObjectContainer.getSparklineContext();
|
||||
|
||||
System.out.println("ft url - " + valueObjectContainer.getFullTimelineNetworkLink());
|
||||
System.out.println("dnld fl - " + valueObjectContainer.getDownloadDataLink());
|
||||
System.out.println("table - " + valueObjectContainer.getTable());
|
||||
|
@ -143,12 +139,12 @@ public class VisualizationRequestHandler {
|
|||
if (VisualizationFrameworkConstants.DYNAMIC_RENDER_MODE_URL_VALUE.equalsIgnoreCase(renderMode)) {
|
||||
|
||||
prepareVisualizationQueryDynamicResponse(request, response, vitroRequest,
|
||||
visContentCode, visContextCode);
|
||||
valueObjectContainer);
|
||||
requestDispatcher = request.getRequestDispatcher("/templates/page/blankPage.jsp");
|
||||
|
||||
} else {
|
||||
prepareVisualizationQueryStandaloneResponse(request, response, vitroRequest,
|
||||
visContentCode, visContextCode, valueObjectContainer);
|
||||
valueObjectContainer);
|
||||
|
||||
requestDispatcher = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
||||
}
|
||||
|
@ -294,12 +290,10 @@ public class VisualizationRequestHandler {
|
|||
|
||||
private void prepareVisualizationQueryStandaloneResponse(HttpServletRequest request,
|
||||
HttpServletResponse response, VitroRequest vreq,
|
||||
String visContentCode, String visContextCode, VisVOContainer valueObjectContainer) {
|
||||
VisVOContainer valueObjectContainer) {
|
||||
|
||||
Portal portal = vreq.getPortal();
|
||||
|
||||
request.setAttribute("visContentCode", visContentCode);
|
||||
request.setAttribute("visContextCode", visContextCode);
|
||||
request.setAttribute("sparklineVO", valueObjectContainer);
|
||||
|
||||
request.setAttribute("bodyJsp", "/templates/visualization/publication_count.jsp");
|
||||
|
@ -310,13 +304,11 @@ public class VisualizationRequestHandler {
|
|||
}
|
||||
|
||||
private void prepareVisualizationQueryDynamicResponse(HttpServletRequest request,
|
||||
HttpServletResponse response, VitroRequest vreq,
|
||||
String visContentCode, String visContextCode) {
|
||||
HttpServletResponse response, VitroRequest vreq, VisVOContainer valueObjectContainer) {
|
||||
|
||||
Portal portal = vreq.getPortal();
|
||||
|
||||
request.setAttribute("visContentCode", visContentCode);
|
||||
request.setAttribute("visContextCode", visContextCode);
|
||||
request.setAttribute("sparklineVO", valueObjectContainer);
|
||||
|
||||
request.setAttribute("portalBean", portal);
|
||||
request.setAttribute("bodyJsp", "/templates/visualization/ajax_vis_content.jsp");
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
${requestScope.visContentCode}
|
||||
<%@ page import="edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisVOContainer" %>
|
||||
|
||||
${requestScope.visContextCode}
|
||||
<c:set var='sparkline' value='${requestScope.sparklineVO}'/>
|
||||
|
||||
${sparkline.sparklineContent}
|
||||
${sparkline.sparklineContext}
|
|
@ -211,6 +211,13 @@
|
|||
<c:param name="uri" value="http://vivo.library.cornell.edu/ns/0.1#individual12053"/>
|
||||
</c:url>
|
||||
|
||||
<c:url var="personLevel1" value="/admin/visQuery">
|
||||
<c:param name="vis" value="person_level"/>
|
||||
<c:param name="render_mode" value="standalone"/>
|
||||
<c:param name="container" value="ego_sparkline"/>
|
||||
<c:param name="uri" value="http://vivo.library.cornell.edu/ns/0.1#individual5748"/>
|
||||
</c:url>
|
||||
|
||||
<c:url var="loadingImageLink" value="/${themeDir}site_icons/visualization/ajax-loader.gif"></c:url>
|
||||
|
||||
<style type="text/css">
|
||||
|
@ -300,8 +307,11 @@ $(document).ready(function() {
|
|||
|
||||
<h1 id="test-bed">Visualization Testbed (Not to be seen by eventual end users)</h1>
|
||||
|
||||
|
||||
|
||||
<a href='<c:out value="${coAuthorship1}"/>'>vis link for coauthorship -> "Erb, Hollis Nancy"</a>
|
||||
<a href='<c:out value="${coAuthorship1Data}"/>'>Data</a>
|
||||
<a href='<c:out value="${coAuthorship1Data}"/>'>Data</a>
|
||||
<a href='<c:out value="${personLevel1}"/>'>Person Level</a>
|
||||
<br />
|
||||
<a href='<c:out value="${coAuthorship2}"/>'>vis link for coauthorship -> "Not Working" {"Crane, Brian"}</a>
|
||||
<a href='<c:out value="${coAuthorship2Data}"/>'>Data</a><br />
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
<%@ page import="edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisVOContainer" %>
|
||||
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
||||
|
||||
<c:set var="portalBean" value="${requestScope.portalBean}" />
|
||||
<c:set var="portalBean" value="${requestScope.portalBean}" />
|
||||
<c:set var="themeDir">
|
||||
<c:out value="${portalBean.themeDir}" />
|
||||
</c:set>
|
||||
<c:set var="contextPath">
|
||||
<c:out value="${pageContext.request.contextPath}" />
|
||||
</c:set>
|
||||
<c:set var="themeDir"><c:out value="${portalBean.themeDir}" /></c:set>
|
||||
<c:set var="contextPath"><c:out value="${pageContext.request.contextPath}" /></c:set>
|
||||
<c:set var='sparkline' value='${requestScope.sparklineVO}'/>
|
||||
|
||||
<c:url var="egoCoAuthorshipDataURL" value="/admin/visQuery">
|
||||
<c:param name="vis" value="coauthorship" />
|
||||
|
@ -112,7 +110,7 @@ var contextPath = "${contextPath}";
|
|||
<%-- Image --%>
|
||||
<div class="datatypeProperties">
|
||||
<div class="datatypePropertyValue">
|
||||
<div id="ego_profile-image" class="statementWrap thumbnail">
|
||||
<div id="ego_profile_image" class="statementWrap thumbnail">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -122,7 +120,7 @@ var contextPath = "${contextPath}";
|
|||
<div class="datatypePropertyValue">
|
||||
<div id="ego_sparkline">
|
||||
|
||||
${requestScope.egoURIParam}
|
||||
${sparkline.sparklineContent}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -250,10 +248,10 @@ $(document).ready(function(){
|
|||
|
||||
processProfileInformation("ego_label",
|
||||
"ego_moniker",
|
||||
"ego_profile-image",
|
||||
"ego_profile_image",
|
||||
jQuery.parseJSON(getWellFormedURLs("${requestScope.egoURIParam}", "profile_info")));
|
||||
|
||||
renderSparklineVisualization("${egoSparklineVisURL}");
|
||||
//renderSparklineVisualization("${egoSparklineVisURL}");
|
||||
|
||||
|
||||
var obj = jQuery.parseJSON('{"name":"John"}');
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
||||
|
||||
|
||||
<c:set var='sparkline' value='${requestScope.sparklineVO}'/>
|
||||
|
||||
<div class="staticPageBackground">
|
||||
|
||||
|
||||
<div id="vis_container">
|
||||
${requestScope.visContentCode}
|
||||
</div>
|
||||
${requestScope.visContextCode}
|
||||
${sparkline.sparklineContent}
|
||||
|
||||
</div>
|
||||
${sparkline.sparklineContext}
|
||||
</div>
|
Loading…
Add table
Reference in a new issue