1. Refactored freemarker templates & the directory structure.
2. Made chanegs to sparkline-related ftls to use the new geenric vis code geenrator. 3. Refactored vis code geenrators to be more geenric.
This commit is contained in:
parent
7dc4628302
commit
a3aa585a03
20 changed files with 506 additions and 350 deletions
|
@ -2,10 +2,12 @@
|
|||
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.freemarker.coauthorship;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Set;
|
||||
|
@ -18,8 +20,9 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMa
|
|||
import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.constants.VOConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.constants.VisConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Node;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SparklineData;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.Node;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.SparklineData;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.YearToEntityCountDataElement;
|
||||
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
|
@ -172,6 +175,7 @@ public class CoAuthorshipVisCodeGenerator {
|
|||
int uniqueCoAuthorCounter = 0;
|
||||
int renderedFullSparks = 0;
|
||||
Set<Node> allCoAuthorsWithKnownAuthorshipYears = new HashSet<Node>();
|
||||
List<YearToEntityCountDataElement> yearToUniqueCoauthorsCountDataTable = new ArrayList<YearToEntityCountDataElement>();
|
||||
|
||||
for (int publicationYear = minPubYearConsidered;
|
||||
publicationYear <= currentYear;
|
||||
|
@ -200,6 +204,11 @@ public class CoAuthorshipVisCodeGenerator {
|
|||
+ ", 1, "
|
||||
+ currentUniqueCoAuthors
|
||||
+ ");\n");
|
||||
|
||||
yearToUniqueCoauthorsCountDataTable.add(new YearToEntityCountDataElement(uniqueCoAuthorCounter,
|
||||
publicationYearAsString,
|
||||
currentUniqueCoAuthors));
|
||||
|
||||
uniqueCoAuthorCounter++;
|
||||
}
|
||||
|
||||
|
@ -210,6 +219,10 @@ public class CoAuthorshipVisCodeGenerator {
|
|||
* associated with it. Hence.
|
||||
* */
|
||||
renderedFullSparks = allCoAuthorsWithKnownAuthorshipYears.size();
|
||||
|
||||
sparklineData.setRenderedSparks(renderedFullSparks);
|
||||
|
||||
sparklineData.setYearToEntityCountDataTable(yearToUniqueCoauthorsCountDataTable);
|
||||
|
||||
/*
|
||||
* Total publications will also consider publications that have no year associated with
|
||||
|
@ -221,6 +234,7 @@ public class CoAuthorshipVisCodeGenerator {
|
|||
.get(VOConstants.DEFAULT_PUBLICATION_YEAR).size();
|
||||
}
|
||||
|
||||
sparklineData.setUnknownYearPublications(unknownYearCoauthors);
|
||||
|
||||
String sparklineDisplayOptions = "{width: 65, height: 30, showAxisLines: false, "
|
||||
+ "showValueLabels: false, labelPosition: 'none'}";
|
||||
|
@ -230,12 +244,15 @@ public class CoAuthorshipVisCodeGenerator {
|
|||
} else {
|
||||
visContainerID = DEFAULT_VISCONTAINER_DIV_ID;
|
||||
}
|
||||
|
||||
sparklineData.setVisContainerDivID(visContainerID);
|
||||
|
||||
/*
|
||||
* By default these represents the range of the rendered sparks. Only in case of
|
||||
* "short" sparkline mode we will set the Earliest RenderedPublication year to
|
||||
* "currentYear - 10".
|
||||
* */
|
||||
sparklineData.setEarliestYearConsidered(minPubYearConsidered);
|
||||
sparklineData.setEarliestRenderedPublicationYear(minPublishedYear);
|
||||
sparklineData.setLatestRenderedPublicationYear(currentYear);
|
||||
|
||||
|
@ -253,6 +270,9 @@ public class CoAuthorshipVisCodeGenerator {
|
|||
if (VisualizationFrameworkConstants.SHORT_SPARKLINE_VIS_MODE.equalsIgnoreCase(visMode)) {
|
||||
|
||||
sparklineData.setEarliestRenderedPublicationYear(shortSparkMinYear);
|
||||
|
||||
sparklineData.setShortVisMode(true);
|
||||
|
||||
generateShortSparklineVisualizationContent(currentYear,
|
||||
shortSparkMinYear,
|
||||
visContainerID,
|
||||
|
@ -260,6 +280,8 @@ public class CoAuthorshipVisCodeGenerator {
|
|||
unknownYearCoauthors,
|
||||
sparklineDisplayOptions);
|
||||
} else {
|
||||
sparklineData.setShortVisMode(false);
|
||||
|
||||
generateFullSparklineVisualizationContent(currentYear,
|
||||
minPubYearConsidered,
|
||||
visContainerID,
|
||||
|
|
|
@ -34,8 +34,7 @@ public class CoPIGrantCountRequestHandler implements VisualizationRequestHandler
|
|||
@Override
|
||||
public Object generateAjaxVisualization(VitroRequest vitroRequest, Log log,
|
||||
DataSource dataSource) throws MalformedQueryParametersException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
throw new UnsupportedOperationException("Co-PI Grant Count does not provide Ajax Response.");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -22,7 +22,7 @@ import edu.cornell.mannlib.vitro.webapp.visualization.constants.VOConstants;
|
|||
import edu.cornell.mannlib.vitro.webapp.visualization.constants.VisConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.Grant;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.SparklineData;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.YearGrantCountDataElement;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.YearToEntityCountDataElement;
|
||||
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
|
@ -190,7 +190,7 @@ public class PersonGrantCountVisCodeGenerator {
|
|||
*/
|
||||
int renderedFullSparks = 0;
|
||||
|
||||
List<YearGrantCountDataElement> yearToGrantCountDataTable = new ArrayList<YearGrantCountDataElement>();
|
||||
List<YearToEntityCountDataElement> yearToGrantCountDataTable = new ArrayList<YearToEntityCountDataElement>();
|
||||
|
||||
for (int grantYear = minGrantYearConsidered; grantYear <= currentYear; grantYear++) {
|
||||
|
||||
|
@ -208,7 +208,7 @@ public class PersonGrantCountVisCodeGenerator {
|
|||
+ ", 1, " + currentGrants + ");\n");
|
||||
|
||||
yearToGrantCountDataTable
|
||||
.add(new YearGrantCountDataElement(
|
||||
.add(new YearToEntityCountDataElement(
|
||||
grantCounter, stringInvestigatedYear,
|
||||
currentGrants));
|
||||
|
||||
|
@ -222,7 +222,7 @@ public class PersonGrantCountVisCodeGenerator {
|
|||
}
|
||||
|
||||
sparklineData
|
||||
.setYearToGrantCountDataTable(yearToGrantCountDataTable);
|
||||
.setYearToEntityCountDataTable(yearToGrantCountDataTable);
|
||||
|
||||
sparklineData.setRenderedSparks(renderedFullSparks);
|
||||
|
||||
|
|
|
@ -259,7 +259,8 @@ VisualizationRequestHandler {
|
|||
|
||||
Portal portal = vreq.getPortal();
|
||||
|
||||
String standaloneTemplate = "/visualization/publicationCount.ftl";
|
||||
// String standaloneTemplate = "/visualization/publication/personPublicationCountStandaloneActivator.ftl";
|
||||
String standaloneTemplate = "/visualization/personPublicationCountStandaloneActivator.ftl";
|
||||
|
||||
Map<String, Object> body = new HashMap<String, Object>();
|
||||
body.put("portalBean", portal);
|
||||
|
@ -284,7 +285,8 @@ VisualizationRequestHandler {
|
|||
|
||||
Portal portal = vreq.getPortal();
|
||||
|
||||
String dynamicTemplate = "/visualization/sparklineAjaxVisContent.ftl";
|
||||
// String dynamicTemplate = "/visualization/publication/personPublicationCountDynamicActivator.ftl";
|
||||
String dynamicTemplate = "/visualization/personPublicationCountDynamicActivator.ftl";
|
||||
|
||||
Map<String, Object> body = new HashMap<String, Object>();
|
||||
body.put("portalBean", portal);
|
||||
|
|
|
@ -22,7 +22,7 @@ import edu.cornell.mannlib.vitro.webapp.visualization.constants.VOConstants;
|
|||
import edu.cornell.mannlib.vitro.webapp.visualization.constants.VisConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.BiboDocument;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.SparklineData;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.YearPublicationCountDataElement;
|
||||
import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.YearToEntityCountDataElement;
|
||||
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
|
@ -200,7 +200,7 @@ public class PersonPublicationCountVisCodeGenerator {
|
|||
* */
|
||||
int renderedFullSparks = 0;
|
||||
|
||||
List<YearPublicationCountDataElement> yearToPublicationCountDataTable = new ArrayList<YearPublicationCountDataElement>();
|
||||
List<YearToEntityCountDataElement> yearToPublicationCountDataTable = new ArrayList<YearToEntityCountDataElement>();
|
||||
|
||||
for (int publicationYear = minPubYearConsidered;
|
||||
publicationYear <= currentYear;
|
||||
|
@ -225,7 +225,7 @@ public class PersonPublicationCountVisCodeGenerator {
|
|||
+ currentPublications
|
||||
+ ");\n");
|
||||
|
||||
yearToPublicationCountDataTable.add(new YearPublicationCountDataElement(publicationCounter, stringPublishedYear, currentPublications));
|
||||
yearToPublicationCountDataTable.add(new YearToEntityCountDataElement(publicationCounter, stringPublishedYear, currentPublications));
|
||||
|
||||
/*
|
||||
* Sparks that will be rendered will always be the one's which has
|
||||
|
@ -236,7 +236,7 @@ public class PersonPublicationCountVisCodeGenerator {
|
|||
|
||||
}
|
||||
|
||||
sparklineData.setYearToPublicationCountDataTable(yearToPublicationCountDataTable);
|
||||
sparklineData.setYearToEntityCountDataTable(yearToPublicationCountDataTable);
|
||||
|
||||
|
||||
sparklineData.setRenderedSparks(renderedFullSparks);
|
||||
|
|
|
@ -39,8 +39,7 @@ public class SparklineData {
|
|||
|
||||
private boolean isShortVisMode = true;
|
||||
|
||||
private List<YearPublicationCountDataElement> yearToPublicationCountDataTable;
|
||||
private List<YearGrantCountDataElement> yearToGrantCountDataTable;
|
||||
private List<YearToEntityCountDataElement> yearToEntityCountDataTable;
|
||||
|
||||
private int numOfYearsToBeRendered;
|
||||
|
||||
|
@ -85,15 +84,6 @@ public class SparklineData {
|
|||
this.unknownYearGrants = unknownYearGrants;
|
||||
}
|
||||
|
||||
public List<YearGrantCountDataElement> getYearToGrantCountDataTable() {
|
||||
return yearToGrantCountDataTable;
|
||||
}
|
||||
|
||||
public void setYearToGrantCountDataTable(
|
||||
List<YearGrantCountDataElement> yearToGrantCountDataTable) {
|
||||
this.yearToGrantCountDataTable = yearToGrantCountDataTable;
|
||||
}
|
||||
|
||||
public void setNumOfYearsToBeRendered(int numOfYearsToBeRendered) {
|
||||
this.numOfYearsToBeRendered = numOfYearsToBeRendered;
|
||||
}
|
||||
|
@ -102,13 +92,13 @@ public class SparklineData {
|
|||
return numOfYearsToBeRendered;
|
||||
}
|
||||
|
||||
public void setYearToPublicationCountDataTable(
|
||||
List<YearPublicationCountDataElement> yearToPublicationCountDataTable) {
|
||||
this.yearToPublicationCountDataTable = yearToPublicationCountDataTable;
|
||||
public void setYearToEntityCountDataTable(
|
||||
List<YearToEntityCountDataElement> yearToEntityCountDataTable) {
|
||||
this.yearToEntityCountDataTable = yearToEntityCountDataTable;
|
||||
}
|
||||
|
||||
public List<YearPublicationCountDataElement> getYearToPublicationCountDataTable() {
|
||||
return yearToPublicationCountDataTable;
|
||||
public List<YearToEntityCountDataElement> getYearToEntityCountDataTable() {
|
||||
return yearToEntityCountDataTable;
|
||||
}
|
||||
|
||||
public void setYearToActivityCount(Map<String, Integer> yearToActivityCount) {
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects;
|
||||
|
||||
/**
|
||||
* This object is used to store information about the yearToGrantCount Map in the format
|
||||
* easily expressed to Google Visualization's DataTableAPI.
|
||||
* @author bkoniden
|
||||
* Deepak Konidena
|
||||
*/
|
||||
|
||||
public class YearGrantCountDataElement {
|
||||
|
||||
private int grantCounter;
|
||||
private String investigatedYear;
|
||||
private int currentGrants;
|
||||
|
||||
public YearGrantCountDataElement(int grantCounter,
|
||||
String investigatedYear, int currentGrants) {
|
||||
this.grantCounter = grantCounter;
|
||||
this.investigatedYear = investigatedYear;
|
||||
this.currentGrants = currentGrants;
|
||||
}
|
||||
|
||||
public int getGrantCounter() {
|
||||
return grantCounter;
|
||||
}
|
||||
|
||||
public String getInvestigatedYear() {
|
||||
return investigatedYear;
|
||||
}
|
||||
|
||||
public int getCurrentGrants() {
|
||||
return currentGrants;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects;
|
||||
|
||||
/**
|
||||
* This object is used to store information about the yearToPublicationCount Map in the format
|
||||
* easily expressed to Google Visualization's DataTableAPI.
|
||||
* @author cdtank
|
||||
*
|
||||
*/
|
||||
public class YearPublicationCountDataElement {
|
||||
|
||||
private int publicationCounter;
|
||||
private String publishedYear;
|
||||
private int currentPublications;
|
||||
|
||||
public YearPublicationCountDataElement(int publicationCounter,
|
||||
String publishedYear, int currentPublications) {
|
||||
this.publicationCounter = publicationCounter;
|
||||
this.publishedYear = publishedYear;
|
||||
this.currentPublications = currentPublications;
|
||||
}
|
||||
|
||||
public int getPublicationCounter() {
|
||||
return publicationCounter;
|
||||
}
|
||||
|
||||
public String getPublishedYear() {
|
||||
return publishedYear;
|
||||
}
|
||||
|
||||
public int getCurrentPublications() {
|
||||
return currentPublications;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
package edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects;
|
||||
|
||||
/**
|
||||
* This object is used to store information about the yearToEntityCount Map in the format
|
||||
* easily expressed to Google Visualization's DataTableAPI.
|
||||
* @author cdtank
|
||||
*
|
||||
*/
|
||||
public class YearToEntityCountDataElement {
|
||||
|
||||
private int yearToEntityCounter;
|
||||
private String year;
|
||||
private int currentEntitiesCount;
|
||||
|
||||
public YearToEntityCountDataElement(int yearToEntityCounter,
|
||||
String year, int currentEntitiesCount) {
|
||||
this.yearToEntityCounter = yearToEntityCounter;
|
||||
this.year = year;
|
||||
this.currentEntitiesCount = currentEntitiesCount;
|
||||
}
|
||||
|
||||
public int getYearToEntityCounter() {
|
||||
return yearToEntityCounter;
|
||||
}
|
||||
|
||||
public String getYear() {
|
||||
return year;
|
||||
}
|
||||
|
||||
public int getCurrentEntitiesCount() {
|
||||
return currentEntitiesCount;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue