From 9a6a7ce3fb45a328ca93ab8697500cff0eb53cab Mon Sep 17 00:00:00 2001 From: cdtank Date: Wed, 23 Jun 2010 02:34:29 +0000 Subject: [PATCH] 1. SPARQL query was illegally modified due to Refactor. This led to "foaf:Person" being changed to "foaf:Individual". 2. Changed the slugify logic so that only first 10 letters are considered for the file nam, else the filenames become very very big, especially for schools like CALS. --- .../mannlib/vitro/webapp/visualization/TestJava.java | 2 +- .../visualization/collegepubcount/QueryHandler.java | 2 +- .../collegepubcount/VisualizationRequestHandler.java | 6 ++++-- .../visualization/personpubcount/QueryHandler.java | 4 ++-- .../personpubcount/VisualizationRequestHandler.java | 12 ++++++------ .../visualization/valueobjects/Individual.java | 2 +- .../visualization/valueobjects/VivoEmployee.java | 2 +- 7 files changed, 16 insertions(+), 14 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/TestJava.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/TestJava.java index 0f3c70f87..d4c8ded46 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/TestJava.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/TestJava.java @@ -36,7 +36,7 @@ public class TestJava { System.out.println(sampleBlurns); for (String blurb : sampleBlurns) { - System.out.println(blurb); + System.out.println(blurb.substring(0, 10)); } Map yearToPublicationCount = new TreeMap(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/collegepubcount/QueryHandler.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/collegepubcount/QueryHandler.java index 2c433abc3..3712a3c0e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/collegepubcount/QueryHandler.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/collegepubcount/QueryHandler.java @@ -276,7 +276,7 @@ public class QueryHandler { String ontologyHandle) { String sparqlQuery = " {?department " + ontologyHandle + " ?" + employeeHandle + " . " - + "?" + employeeHandle + " rdf:type foaf:Individual; rdfs:label ?authorLabel. " + + "?" + employeeHandle + " rdf:type foaf:Person; rdfs:label ?authorLabel. " + "OPTIONAL { ?" + employeeHandle + " vivo:authorOf ?document ." + " ?document rdf:type bibo:Document ." + " ?document rdfs:label ?documentLabel ." + diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/collegepubcount/VisualizationRequestHandler.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/collegepubcount/VisualizationRequestHandler.java index fbb1104d9..1d361212c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/collegepubcount/VisualizationRequestHandler.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/collegepubcount/VisualizationRequestHandler.java @@ -40,6 +40,8 @@ import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.VivoEmployee; public class VisualizationRequestHandler { + private static final int MAX_NAME_TEXT_LENGTH = 10; + public static final String VIS_CONTAINER_URL_HANDLE = "container"; public static final String COLLEGE_URI_URL_HANDLE = "uri"; @@ -348,7 +350,7 @@ public class VisualizationRequestHandler { collegeName = ""; } - String outputFileName = slugify(collegeName + "depts-pub-count") + ".csv"; + String outputFileName = slugify(collegeName) + "depts-pub-count" + ".csv"; response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition","attachment;filename=" + outputFileName); @@ -379,7 +381,7 @@ public class VisualizationRequestHandler { * @return */ private String slugify(String textToBeSlugified) { - return textToBeSlugified.toLowerCase().replaceAll("[^a-zA-Z0-9-]", "-"); + return textToBeSlugified.toLowerCase().replaceAll("[^a-zA-Z0-9-]", "-").substring(0, MAX_NAME_TEXT_LENGTH); } private void generateCsvFileBuffer( diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/QueryHandler.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/QueryHandler.java index 3ef787c09..afc267be2 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/QueryHandler.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/QueryHandler.java @@ -166,7 +166,7 @@ public class QueryHandler { + SPARQL_QUERY_COMMON_SELECT_CLAUSE + "(str(<" + queryURI + ">) as ?authPersonLit) " + "WHERE { " - + "<" + queryURI + "> rdf:type foaf:Individual ; vivo:authorOf ?document ; rdfs:label ?authorLabel. " + + "<" + queryURI + "> rdf:type foaf:Person ; vivo:authorOf ?document ; rdfs:label ?authorLabel. " + SPARQL_QUERY_COMMON_WHERE_CLAUSE + "}"; @@ -179,7 +179,7 @@ public class QueryHandler { throws MalformedQueryParametersException { if(this.queryParam == null || "".equals(queryParam)) { - throw new MalformedQueryParametersException("URI parameter is either null or empty."); + throw new MalformedQueryParametersException("URL parameter is either null or empty."); } else { /* diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/VisualizationRequestHandler.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/VisualizationRequestHandler.java index 4585190c7..8d8d35e15 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/VisualizationRequestHandler.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/VisualizationRequestHandler.java @@ -34,6 +34,8 @@ import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.BiboDocument; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Individual; public class VisualizationRequestHandler { + + private static final int MAX_NAME_TEXT_LENGTH = 10; public static final String VIS_CONTAINER_URL_HANDLE = "container"; @@ -97,7 +99,7 @@ public class VisualizationRequestHandler { * */ Map yearToPublicationCount = queryManager.getYearToPublicationCount(authorDocuments); - + /* * 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 @@ -205,8 +207,7 @@ public class VisualizationRequestHandler { authorName = ""; } - String outputFileName = slugify(authorName + "report") - + ".pdf"; + String outputFileName = slugify(authorName) + "report" + ".pdf"; response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "attachment;filename=" + outputFileName); @@ -262,8 +263,7 @@ public class VisualizationRequestHandler { authorName = ""; } - String outputFileName = slugify(authorName + "pub-count-sparkline") - + ".csv"; + String outputFileName = slugify(authorName) + "pub-count-sparkline" + ".csv"; response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition","attachment;filename=" + outputFileName); @@ -293,7 +293,7 @@ public class VisualizationRequestHandler { * @return */ private String slugify(String textToBeSlugified) { - return textToBeSlugified.toLowerCase().replaceAll("[^a-zA-Z0-9-]", "-"); + return textToBeSlugified.toLowerCase().replaceAll("[^a-zA-Z0-9-]", "-").substring(0, MAX_NAME_TEXT_LENGTH); } private void generateCsvFileBuffer(Map yearToPublicationCount, diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/Individual.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/Individual.java index d8d599361..57032200f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/Individual.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/Individual.java @@ -6,8 +6,8 @@ public class Individual { private String individualURL; public Individual(String individualURL, String individualLabel) { - this.individualLabel = individualLabel; this.individualURL = individualURL; + this.individualLabel = individualLabel; } public Individual(String individualURL) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/VivoEmployee.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/VivoEmployee.java index d15060da1..9903233b4 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/VivoEmployee.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/VivoEmployee.java @@ -11,7 +11,7 @@ import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.VOConstants.E * @author cdtank * */ -public class VivoEmployee extends Individual{ +public class VivoEmployee extends Individual { private EmployeeType employeeType; private Set parentDepartments = new HashSet();