1. Added updated flash vis from Asik.

2. Modified the front end for person level vis so that when the flash vis height decreases it does not leave a trail of whitepace below it. All the wrapping containers adjust properly now.
3. Made the person pub count use set instead of list. I had already made other viss do this.
This commit is contained in:
cdtank 2010-07-30 17:29:34 +00:00
parent 0ba1e950aa
commit 8372464464
8 changed files with 40 additions and 77 deletions

View file

@ -211,8 +211,13 @@ function visLoaded(nodes){
}
function changeVisHeight(newHeight) {
$("#CoAuthorVis").css("height", newHeight);
$("#bodyPannel").css("height", newHeight);
}
function createTable(tableID, tableContainer, tableData) {
var table = $('<table>');
table.attr('id', tableID);
@ -324,7 +329,7 @@ function renderCoAuthorshipVisualization() {
"width", "600",
"height", "840",
"align", "middle",
"id", "CoAuthor",
"id", "CoAuthorVis",
"quality", "high",
"bgcolor", "#ffffff",
"name", "CoAuthor",
@ -341,7 +346,7 @@ function renderCoAuthorshipVisualization() {
"width", "600",
"height", "850",
"align", "top",
"id", "CoAuthor",
"id", "CoAuthorVis",
"quality", "high",
"bgcolor", "#ffffff",
"name", "CoAuthor",

View file

@ -105,7 +105,8 @@ public class VisualizationController extends BaseEditController {
String resourcePath =
getServletContext()
.getRealPath("/WEB-INF/visualization/visualizations-beans-injection.xml");
.getRealPath(VisualizationFrameworkConstants
.RELATIVE_LOCATION_OF_VISUALIZATIONS_BEAN);
ApplicationContext context = new ClassPathXmlApplicationContext(
"file:" + resourcePath);
@ -118,7 +119,7 @@ public class VisualizationController extends BaseEditController {
visualizationIDsToClass = visualizationInjector.getVisualizationIDToClass();
} catch (Exception e) {
e.printStackTrace();
log.error(e);
}
}

View file

@ -4,6 +4,16 @@ package edu.cornell.mannlib.vitro.webapp.controller.visualization;
public class VisualizationFrameworkConstants {
/*
* Contains the location of bean containing info on all the visualizations available
* in that instance. Currently it is stored under "productMods/WEB-INF..."
* */
public static final String RELATIVE_LOCATION_OF_VISUALIZATIONS_BEAN =
"/WEB-INF/visualization/visualizations-beans-injection.xml";
/*
* Vis URL prefix that is seen by all the users
* */
public static final String VISUALIZATION_URL_PREFIX = "/visualization";
public static final String VIS_TYPE_URL_HANDLE = "vis";

View file

@ -65,7 +65,7 @@ public class PersonLevelRequestHandler implements VisualizationRequestHandler {
dataSource,
log);
QueryHandler<List<BiboDocument>> publicationQueryManager =
QueryHandler<Set<BiboDocument>> publicationQueryManager =
new PersonPublicationCountQueryHandler(egoURIParam,
dataSource,
log);
@ -114,15 +114,14 @@ public class PersonLevelRequestHandler implements VisualizationRequestHandler {
}
List<BiboDocument> authorDocuments = publicationQueryManager
Set<BiboDocument> authorDocuments = publicationQueryManager
.getVisualizationJavaValueObjects();
/*
* Create a map from the year to number of publications. Use the BiboDocument's
* parsedPublicationYear to populate the data.
* */
Map<String, Integer> yearToPublicationCount =
((PersonPublicationCountQueryHandler) publicationQueryManager)
.getYearToPublicationCount(authorDocuments);
UtilityFunctions.getYearToPublicationCount(authorDocuments);
/*
* Computations required to generate HTML for the sparklines & related context.

View file

@ -3,8 +3,10 @@
package edu.cornell.mannlib.vitro.webapp.visualization.personpubcount;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import org.apache.commons.lang.StringUtils;
@ -36,7 +38,7 @@ import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryHandler;
* @author cdtank
*
*/
public class PersonPublicationCountQueryHandler implements QueryHandler<List<BiboDocument>> {
public class PersonPublicationCountQueryHandler implements QueryHandler<Set<BiboDocument>> {
protected static final Syntax SYNTAX = Syntax.syntaxARQ;
@ -81,8 +83,8 @@ public class PersonPublicationCountQueryHandler implements QueryHandler<List<Bib
}
private List<BiboDocument> createJavaValueObjects(ResultSet resultSet) {
List<BiboDocument> authorDocuments = new ArrayList<BiboDocument>();
private Set<BiboDocument> createJavaValueObjects(ResultSet resultSet) {
Set<BiboDocument> authorDocuments = new HashSet<BiboDocument>();
while (resultSet.hasNext()) {
QuerySolution solution = resultSet.nextSolution();
@ -192,7 +194,7 @@ public class PersonPublicationCountQueryHandler implements QueryHandler<List<Bib
return sparqlQuery;
}
public List<BiboDocument> getVisualizationJavaValueObjects()
public Set<BiboDocument> getVisualizationJavaValueObjects()
throws MalformedQueryParametersException {
if (StringUtils.isNotBlank(this.queryParam)) {
@ -219,57 +221,4 @@ public class PersonPublicationCountQueryHandler implements QueryHandler<List<Bib
return createJavaValueObjects(resultSet);
}
public Map<String, Integer> getYearToPublicationCount(
List<BiboDocument> authorDocuments) {
//List<Integer> publishedYears = new ArrayList<Integer>();
/*
* Create a map from the year to number of publications. Use the BiboDocument's
* parsedPublicationYear to populate the data.
* */
Map<String, Integer> yearToPublicationCount = new TreeMap<String, Integer>();
for (BiboDocument curr : authorDocuments) {
/*
* Increment the count because there is an entry already available for
* that particular year.
*
* I am pushing the logic to check for validity of year in "getPublicationYear" itself
* because,
* 1. We will be using getPub... multiple times & this will save us duplication of code
* 2. If we change the logic of validity of a pub year we would not have to make
* changes all throughout the codebase.
* 3. We are asking for a publication year & we should get a proper one or NOT at all.
* */
String publicationYear;
if (curr.getPublicationYear() != null) {
publicationYear = curr.getPublicationYear();
} else {
publicationYear = curr.getParsedPublicationYear();
}
if (yearToPublicationCount.containsKey(publicationYear)) {
yearToPublicationCount.put(publicationYear,
yearToPublicationCount
.get(publicationYear) + 1);
} else {
yearToPublicationCount.put(publicationYear, 1);
}
// if (!parsedPublicationYear.equalsIgnoreCase(BiboDocument.DEFAULT_PUBLICATION_YEAR)) {
// publishedYears.add(Integer.parseInt(parsedPublicationYear));
// }
}
return yearToPublicationCount;
}
}

View file

@ -7,6 +7,7 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import javax.servlet.RequestDispatcher;
@ -61,21 +62,20 @@ public class PersonPublicationCountRequestHandler implements VisualizationReques
VisualizationFrameworkConstants
.VIS_CONTAINER_URL_HANDLE);
QueryHandler<List<BiboDocument>> queryManager =
QueryHandler<Set<BiboDocument>> queryManager =
new PersonPublicationCountQueryHandler(individualURIParam,
dataSource,
log);
try {
List<BiboDocument> authorDocuments = queryManager.getVisualizationJavaValueObjects();
Set<BiboDocument> authorDocuments = queryManager.getVisualizationJavaValueObjects();
/*
* Create a map from the year to number of publications. Use the BiboDocument's
* parsedPublicationYear to populate the data.
* */
Map<String, Integer> yearToPublicationCount =
((PersonPublicationCountQueryHandler) queryManager)
.getYearToPublicationCount(authorDocuments);
Map<String, Integer> yearToPublicationCount =
UtilityFunctions.getYearToPublicationCount(authorDocuments);
/*
* In order to avoid unneeded computations we have pushed this "if" condition up.
@ -165,7 +165,7 @@ public class PersonPublicationCountRequestHandler implements VisualizationReques
private void prepareVisualizationQueryPDFResponse(
Individual author,
List<BiboDocument> authorDocuments,
Set<BiboDocument> authorDocuments,
Map<String, Integer> yearToPublicationCount,
HttpServletResponse response) {
@ -227,7 +227,7 @@ public class PersonPublicationCountRequestHandler implements VisualizationReques
private void prepareVisualizationQueryDataResponse(
Individual author,
List<BiboDocument> authorDocuments,
Set<BiboDocument> authorDocuments,
Map<String, Integer> yearToPublicationCount,
HttpServletResponse response) {

View file

@ -8,7 +8,6 @@ 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;
@ -56,7 +55,7 @@ public class PersonPublicationCountVisCodeGenerator {
String individualURIParam,
String visMode,
String visContainer,
List<BiboDocument> authorDocuments,
Set<BiboDocument> authorDocuments,
Map<String, Integer> yearToPublicationCount,
SparklineVOContainer valueObjectContainer,
Log log) {
@ -79,7 +78,7 @@ public class PersonPublicationCountVisCodeGenerator {
private void generateVisualizationCode(String visMode,
String visContainer,
List<BiboDocument> authorDocuments) {
Set<BiboDocument> authorDocuments) {
valueObjectContainer.setSparklineContent(getMainVisualizationCode(authorDocuments,
visMode,
@ -90,7 +89,7 @@ public class PersonPublicationCountVisCodeGenerator {
}
private String getMainVisualizationCode(List<BiboDocument> authorDocuments,
private String getMainVisualizationCode(Set<BiboDocument> authorDocuments,
String visMode,
String providedVisContainerID) {