From 5f8e6e41722ccc1365e181da7d1aa7f93a408326 Mon Sep 17 00:00:00 2001 From: cdtank Date: Thu, 12 May 2011 20:51:47 +0000 Subject: [PATCH] 1. Refactored package structure for the java files to remove the work "freemarker". 2. Did more work for setting up the backend for the science map visualziation. --- .../visualizations-beans-injection-fm.xml | 9 +- productMods/WEB-INF/web.xml | 8 +- .../AjaxVisualizationController.java | 2 +- .../DataVisualizationController.java | 2 +- .../ShortURLVisualizationController.java | 2 +- .../StandardVisualizationController.java | 2 +- .../VisualizationFrameworkConstants.java | 2 +- .../VisualizationInjector.java | 2 +- .../VisualizationsDependencyInjector.java | 2 +- .../CoAuthorshipGraphMLWriter.java | 2 +- .../CoAuthorshipRequestHandler.java | 4 +- .../CoAuthorshipVisCodeGenerator.java | 2 +- .../constants/QueryFieldLabels.java | 2 + .../CoPIGrantCountRequestHandler.java | 4 +- .../CoPIGraphMLWriter.java | 2 +- .../CoPIVisCodeGenerator.java | 2 +- .../EntityPublicationCountRequestHandler.java | 6 +- ...poralGrantVisualizationRequestHandler.java | 8 +- ...ublicationVisualizationRequestHandler.java | 8 +- .../EntityGrantCountRequestHandler.java | 6 +- ...pOfScienceVisualizationRequestHandler.java | 81 +++++----- ...nsForSubOrganizationsModelConstructor.java | 7 + .../PeopleToPublicationsModelConstructor.java | 7 + .../PersonToPublicationsModelConstructor.java | 7 + .../PersonGrantCountRequestHandler.java | 4 +- .../PersonGrantCountVisCodeGenerator.java | 2 +- .../PersonLevelRequestHandler.java | 2 +- .../PersonPublicationCountRequestHandler.java | 4 +- ...ersonPublicationCountVisCodeGenerator.java | 2 +- .../utilities/UtilitiesRequestHandler.java | 2 +- .../valueobjects/MapOfScienceActivity.java | 19 +++ .../valueobjects/{ => json}/JsonObject.java | 2 +- .../valueobjects/json/MapOfScience.java | 66 ++++++++ .../{ => json}/SubjectEntityJSON.java | 4 +- .../visutils/SelectOnModelUtilities.java | 153 ++++++++++++++++++ .../visutils/UtilityFunctions.java | 2 +- .../individual/IndividualTemplateModel.java | 2 +- 37 files changed, 355 insertions(+), 88 deletions(-) rename src/edu/cornell/mannlib/vitro/webapp/controller/visualization/{freemarker => }/AjaxVisualizationController.java (99%) rename src/edu/cornell/mannlib/vitro/webapp/controller/visualization/{freemarker => }/DataVisualizationController.java (99%) rename src/edu/cornell/mannlib/vitro/webapp/controller/visualization/{freemarker => }/ShortURLVisualizationController.java (99%) rename src/edu/cornell/mannlib/vitro/webapp/controller/visualization/{freemarker => }/StandardVisualizationController.java (99%) rename src/edu/cornell/mannlib/vitro/webapp/controller/visualization/{freemarker => }/VisualizationFrameworkConstants.java (97%) rename src/edu/cornell/mannlib/vitro/webapp/controller/visualization/{freemarker => }/VisualizationInjector.java (95%) rename src/edu/cornell/mannlib/vitro/webapp/controller/visualization/{freemarker => }/VisualizationsDependencyInjector.java (99%) create mode 100644 src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/MapOfScienceActivity.java rename src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/{ => json}/JsonObject.java (99%) create mode 100644 src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/MapOfScience.java rename src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/{ => json}/SubjectEntityJSON.java (93%) diff --git a/productMods/WEB-INF/visualization/visualizations-beans-injection-fm.xml b/productMods/WEB-INF/visualization/visualizations-beans-injection-fm.xml index 6e3e9b5f..4f275f63 100644 --- a/productMods/WEB-INF/visualization/visualizations-beans-injection-fm.xml +++ b/productMods/WEB-INF/visualization/visualizations-beans-injection-fm.xml @@ -40,8 +40,11 @@ + + + class="edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationInjector"> @@ -106,6 +109,10 @@ + + + + diff --git a/productMods/WEB-INF/web.xml b/productMods/WEB-INF/web.xml index 6e8c325e..bfb2f9ce 100644 --- a/productMods/WEB-INF/web.xml +++ b/productMods/WEB-INF/web.xml @@ -1235,12 +1235,12 @@ StandardVisualizationController - edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.StandardVisualizationController + edu.cornell.mannlib.vitro.webapp.controller.visualization.StandardVisualizationController ShortURLVisualizationController - edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.ShortURLVisualizationController + edu.cornell.mannlib.vitro.webapp.controller.visualization.ShortURLVisualizationController @@ -1263,7 +1263,7 @@ AjaxVisualizationController - edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.AjaxVisualizationController + edu.cornell.mannlib.vitro.webapp.controller.visualization.AjaxVisualizationController @@ -1273,7 +1273,7 @@ DataVisualizationController - edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController + edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/AjaxVisualizationController.java b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/AjaxVisualizationController.java similarity index 99% rename from src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/AjaxVisualizationController.java rename to src/edu/cornell/mannlib/vitro/webapp/controller/visualization/AjaxVisualizationController.java index d9499c48..cfc9e7c2 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/AjaxVisualizationController.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/AjaxVisualizationController.java @@ -1,6 +1,6 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker; +package edu.cornell.mannlib.vitro.webapp.controller.visualization; import java.io.IOException; diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/DataVisualizationController.java b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/DataVisualizationController.java similarity index 99% rename from src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/DataVisualizationController.java rename to src/edu/cornell/mannlib/vitro/webapp/controller/visualization/DataVisualizationController.java index 534536b4..b032528b 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/DataVisualizationController.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/DataVisualizationController.java @@ -1,6 +1,6 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker; +package edu.cornell.mannlib.vitro.webapp.controller.visualization; import java.io.IOException; import java.util.Map; diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/ShortURLVisualizationController.java b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/ShortURLVisualizationController.java similarity index 99% rename from src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/ShortURLVisualizationController.java rename to src/edu/cornell/mannlib/vitro/webapp/controller/visualization/ShortURLVisualizationController.java index 20652bac..204c0b9d 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/ShortURLVisualizationController.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/ShortURLVisualizationController.java @@ -1,6 +1,6 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker; +package edu.cornell.mannlib.vitro.webapp.controller.visualization; import java.util.ArrayList; import java.util.HashMap; diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/StandardVisualizationController.java b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/StandardVisualizationController.java similarity index 99% rename from src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/StandardVisualizationController.java rename to src/edu/cornell/mannlib/vitro/webapp/controller/visualization/StandardVisualizationController.java index 4eeed864..d01a9e38 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/StandardVisualizationController.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/StandardVisualizationController.java @@ -1,6 +1,6 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker; +package edu.cornell.mannlib.vitro.webapp.controller.visualization; import javax.servlet.ServletContext; diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationFrameworkConstants.java b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationFrameworkConstants.java similarity index 97% rename from src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationFrameworkConstants.java rename to src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationFrameworkConstants.java index f1f69366..8289d4be 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationFrameworkConstants.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationFrameworkConstants.java @@ -1,6 +1,6 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker; +package edu.cornell.mannlib.vitro.webapp.controller.visualization; import java.util.regex.Pattern; diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationInjector.java b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationInjector.java similarity index 95% rename from src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationInjector.java rename to src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationInjector.java index 19dd2423..afc7a557 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationInjector.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationInjector.java @@ -1,5 +1,5 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker; +package edu.cornell.mannlib.vitro.webapp.controller.visualization; import java.util.Map; diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationsDependencyInjector.java b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationsDependencyInjector.java similarity index 99% rename from src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationsDependencyInjector.java rename to src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationsDependencyInjector.java index 9fe4388f..d358e196 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/freemarker/VisualizationsDependencyInjector.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/visualization/VisualizationsDependencyInjector.java @@ -1,5 +1,5 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker; +package edu.cornell.mannlib.vitro.webapp.controller.visualization; import java.util.Map; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipGraphMLWriter.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipGraphMLWriter.java index 8dc3166c..0051fb69 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipGraphMLWriter.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipGraphMLWriter.java @@ -10,7 +10,7 @@ import java.util.Set; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaborationComparator; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaborationData; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaboratorComparator; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipRequestHandler.java index e497d1fd..5030b1d8 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipRequestHandler.java @@ -16,8 +16,8 @@ import com.hp.hpl.jena.query.Dataset; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaborationData; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Collaborator; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipVisCodeGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipVisCodeGenerator.java index 27006e03..28423d1e 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipVisCodeGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipVisCodeGenerator.java @@ -14,7 +14,7 @@ import java.util.Set; import org.apache.commons.logging.Log; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +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.Collaborator; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/constants/QueryFieldLabels.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/constants/QueryFieldLabels.java index 9b98a9f0..c4de5630 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/constants/QueryFieldLabels.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/constants/QueryFieldLabels.java @@ -27,6 +27,8 @@ public class QueryFieldLabels { public static final String DOCUMENT_PUBLICATION_YEAR_USING_1_1_PROPERTY = "publicationYearOldLit"; public static final String DOCUMENT_PUBLICATION_YEAR_MONTH = "publicationYearMonthLit"; public static final String DOCUMENT_PUBLICATION_DATE = "publicationDateLit"; + public static final String DOCUMENT_JOURNAL_LABEL = "journalLabelLit"; + /* * Image related field labels diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGrantCountRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGrantCountRequestHandler.java index 79714a18..dfa8f7d5 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGrantCountRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGrantCountRequestHandler.java @@ -15,8 +15,8 @@ import com.hp.hpl.jena.rdf.model.Model; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaborationData; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Collaborator; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGraphMLWriter.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGraphMLWriter.java index 666c9337..00d5c890 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGraphMLWriter.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGraphMLWriter.java @@ -10,7 +10,7 @@ import java.util.Set; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaborationComparator; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaborationData; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaboratorComparator; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIVisCodeGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIVisCodeGenerator.java index 10370ad1..73c38f47 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIVisCodeGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIVisCodeGenerator.java @@ -14,7 +14,7 @@ import java.util.Set; import org.apache.commons.logging.Log; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +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.Collaborator; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/EntityPublicationCountRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/EntityPublicationCountRequestHandler.java index 276bda1f..2acf7fe5 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/EntityPublicationCountRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/EntityPublicationCountRequestHandler.java @@ -20,13 +20,13 @@ import com.hp.hpl.jena.rdf.model.Model; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +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.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Entity; -import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.JsonObject; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubEntity; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.JsonObject; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.ModelConstructor; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryRunner; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/cached/TemporalGrantVisualizationRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/cached/TemporalGrantVisualizationRequestHandler.java index f51e5ef8..cd0c2078 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/cached/TemporalGrantVisualizationRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/cached/TemporalGrantVisualizationRequestHandler.java @@ -19,17 +19,17 @@ import com.hp.hpl.jena.query.Dataset; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +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.entitycomparison.OrganizationUtilityFunctions; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Activity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Entity; -import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.JsonObject; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubEntity; -import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubjectEntityJSON; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.JsonObject; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.SubjectEntityJSON; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.SelectOnModelUtilities; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/cached/TemporalPublicationVisualizationRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/cached/TemporalPublicationVisualizationRequestHandler.java index 36cf0d1c..25cb695a 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/cached/TemporalPublicationVisualizationRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/entitycomparison/cached/TemporalPublicationVisualizationRequestHandler.java @@ -19,17 +19,17 @@ import com.hp.hpl.jena.query.Dataset; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +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.entitycomparison.OrganizationUtilityFunctions; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Activity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Entity; -import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.JsonObject; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubEntity; -import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubjectEntityJSON; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.JsonObject; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.SubjectEntityJSON; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.SelectOnModelUtilities; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/entitygrantcount/EntityGrantCountRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/entitygrantcount/EntityGrantCountRequestHandler.java index ad2d4005..9006c401 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/entitygrantcount/EntityGrantCountRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/entitygrantcount/EntityGrantCountRequestHandler.java @@ -20,14 +20,14 @@ import com.hp.hpl.jena.rdf.model.Model; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +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.entitycomparison.OrganizationUtilityFunctions; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Entity; -import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.JsonObject; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubEntity; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.JsonObject; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.ModelConstructor; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.QueryRunner; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/mapofscience/MapOfScienceVisualizationRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/mapofscience/MapOfScienceVisualizationRequestHandler.java index 454c465b..b4b2a00c 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/mapofscience/MapOfScienceVisualizationRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/mapofscience/MapOfScienceVisualizationRequestHandler.java @@ -19,17 +19,19 @@ import com.hp.hpl.jena.query.Dataset; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +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.entitycomparison.OrganizationUtilityFunctions; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Activity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Entity; -import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.JsonObject; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.MapOfScienceActivity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubEntity; -import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubjectEntityJSON; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.JsonObject; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.MapOfScience; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json.SubjectEntityJSON; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.SelectOnModelUtilities; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler; @@ -265,7 +267,7 @@ public class MapOfScienceVisualizationRequestHandler implements fileData.put(DataVisualizationController.FILE_CONTENT_TYPE_KEY, "application/octet-stream"); fileData.put(DataVisualizationController.FILE_CONTENT_KEY, - writePublicationsOverTimeJSON(vitroRequest, + writeMapOfScienceDataJSON(vitroRequest, entity)); return fileData; } @@ -295,58 +297,53 @@ public class MapOfScienceVisualizationRequestHandler implements * @param subentities * @param subOrganizationTypesResult */ - private String writePublicationsOverTimeJSON(VitroRequest vreq, - Entity subjectEntity) { + private String writeMapOfScienceDataJSON(VitroRequest vreq, + Entity subjectEntity) { Gson json = new Gson(); - Set subEntitiesJson = new HashSet(); + Set jsonContent = new HashSet(); for (SubEntity subentity : subjectEntity.getSubEntities()) { - JsonObject entityJson = new JsonObject( - subentity.getIndividualLabel()); - - List> yearPubCount = new ArrayList>(); - - for (Map.Entry pubEntry : UtilityFunctions - .getYearToActivityCount(subentity.getActivities()) - .entrySet()) { - - List currentPubYear = new ArrayList(); - if (pubEntry.getKey().equals(VOConstants.DEFAULT_PUBLICATION_YEAR)) { - currentPubYear.add(-1); - } else { - currentPubYear.add(Integer.parseInt(pubEntry.getKey())); - } - - currentPubYear.add(pubEntry.getValue()); - yearPubCount.add(currentPubYear); - } + MapOfScience entityJson = new MapOfScience(subentity.getIndividualURI()); - entityJson.setYearToActivityCount(yearPubCount); - - entityJson.setOrganizationTypes(subentity.getEntityTypeLabels()); - - entityJson.setEntityURI(subentity.getIndividualURI()); + entityJson.setLabel(subentity.getIndividualLabel()); entityJson.setLastCachedAtDateTime(subentity.getLastCachedAtDateTime()); if (subentity.getEntityClass().equals(VOConstants.EntityClassType.PERSON)) { - entityJson.setVisMode("PERSON"); + entityJson.setType("PERSON"); } else if (subentity.getEntityClass().equals(VOConstants.EntityClassType.ORGANIZATION)) { - entityJson.setVisMode("ORGANIZATION"); + entityJson.setType("ORGANIZATION"); } - subEntitiesJson.add(entityJson); + + Map journalToPublicationCount = new HashMap(); + int i = 0; + for (Activity activity : subentity.getActivities()) { + System.out.println(i); + System.out.println(activity.getActivityURI()); + System.out.println("------"); + + String journalName = ((MapOfScienceActivity) activity).getPublishedInJournal().trim(); + + if (journalToPublicationCount.containsKey(journalName)) { + + journalToPublicationCount.put(journalName, + journalToPublicationCount.get(journalName) + 1); + } else { + + journalToPublicationCount.put(journalName, 1); + } + i++; + } + + entityJson.setSubdisciplineActivity(journalToPublicationCount); + + jsonContent.add(entityJson); } - SubjectEntityJSON subjectEntityJSON = new SubjectEntityJSON(subjectEntity.getEntityLabel(), - subjectEntity.getEntityURI(), - subjectEntity.getParents()); - - subEntitiesJson.add(subjectEntityJSON); - - return json.toJson(subEntitiesJson); + return json.toJson(jsonContent); } private String getEntityPublicationsPerYearCSVContent(Entity entity) { diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/OrganizationToPublicationsForSubOrganizationsModelConstructor.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/OrganizationToPublicationsForSubOrganizationsModelConstructor.java index 25344e72..81082cb1 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/OrganizationToPublicationsForSubOrganizationsModelConstructor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/OrganizationToPublicationsForSubOrganizationsModelConstructor.java @@ -47,6 +47,8 @@ public class OrganizationToPublicationsForSubOrganizationsModelConstructor imple + " ?Document rdfs:label ?DocumentLabel . " + " ?Document core:dateTimeValue ?dateTimeValue . " + " ?dateTimeValue core:dateTime ?publicationDate . " + + " ?Document core:hasPublicationVenue ?journal ." + + " ?journal rdfs:label ?journalLabel . " + " } " + " WHERE { " + " <" + organizationURI + "> rdfs:label ?organizationLabel . " @@ -62,6 +64,11 @@ public class OrganizationToPublicationsForSubOrganizationsModelConstructor imple + " ?dateTimeValue core:dateTime ?publicationDate . " + " } " + " " + + " OPTIONAL { " + + " ?Document core:hasPublicationVenue ?journal ." + + " ?journal rdfs:label ?journalLabel . " + + " } " + + " " + " LET(?now := afn:now()) " + " } "; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/PeopleToPublicationsModelConstructor.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/PeopleToPublicationsModelConstructor.java index bf87900b..d716054d 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/PeopleToPublicationsModelConstructor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/PeopleToPublicationsModelConstructor.java @@ -43,6 +43,8 @@ public class PeopleToPublicationsModelConstructor implements ModelConstructor { + " ?Document rdfs:label ?DocumentLabel . " + " ?Document core:dateTimeValue ?dateTimeValue . " + " ?dateTimeValue core:dateTime ?publicationDate . " + + " ?Document core:hasPublicationVenue ?journal ." + + " ?journal rdfs:label ?journalLabel . " + " } " + " WHERE { " + " ?person core:authorInAuthorship ?Resource . " @@ -54,6 +56,11 @@ public class PeopleToPublicationsModelConstructor implements ModelConstructor { + " ?dateTimeValue core:dateTime ?publicationDate . " + " } " + " " + + " OPTIONAL { " + + " ?Document core:hasPublicationVenue ?journal ." + + " ?journal rdfs:label ?journalLabel . " + + " } " + + " " + " LET(?now := afn:now()) " + " } "; } diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/PersonToPublicationsModelConstructor.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/PersonToPublicationsModelConstructor.java index 19818ee1..fcfbbd29 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/PersonToPublicationsModelConstructor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/modelconstructor/PersonToPublicationsModelConstructor.java @@ -46,6 +46,8 @@ public class PersonToPublicationsModelConstructor implements ModelConstructor { + " ?Document rdfs:label ?DocumentLabel . " + " ?Document core:dateTimeValue ?dateTimeValue . " + " ?dateTimeValue core:dateTime ?publicationDate . " + + " ?Document core:hasPublicationVenue ?journal ." + + " ?journal rdfs:label ?journalLabel . " + " } " + " WHERE { " + " <" + personURI + "> core:authorInAuthorship ?Resource . " @@ -57,6 +59,11 @@ public class PersonToPublicationsModelConstructor implements ModelConstructor { + " ?dateTimeValue core:dateTime ?publicationDate . " + " } " + " " + + " OPTIONAL { " + + " ?Document core:hasPublicationVenue ?journal ." + + " ?journal rdfs:label ?journalLabel . " + + " } " + + " " + " LET(?now := afn:now()) " + " } "; } diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountRequestHandler.java index 15cd9b8b..b491ffff 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountRequestHandler.java @@ -16,8 +16,8 @@ import com.hp.hpl.jena.query.Dataset; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Activity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Individual; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountVisCodeGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountVisCodeGenerator.java index 4d4ed129..9afbdb05 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountVisCodeGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountVisCodeGenerator.java @@ -13,7 +13,7 @@ import java.util.Set; import org.apache.commons.logging.Log; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +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.SparklineData; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/personlevel/PersonLevelRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/personlevel/PersonLevelRequestHandler.java index c12417be..a81ae922 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/personlevel/PersonLevelRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/personlevel/PersonLevelRequestHandler.java @@ -15,7 +15,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.CoAuthorshipQueryRunner; import edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.CoAuthorshipVisCodeGenerator; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaborationData; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountRequestHandler.java index ed75910b..c6d3fc7f 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountRequestHandler.java @@ -16,8 +16,8 @@ import com.hp.hpl.jena.query.Dataset; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.DataVisualizationController; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.DataVisualizationController; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Activity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Individual; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountVisCodeGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountVisCodeGenerator.java index bc1d70f5..46d6af8e 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountVisCodeGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountVisCodeGenerator.java @@ -13,7 +13,7 @@ import java.util.Set; import org.apache.commons.logging.Log; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +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.SparklineData; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/utilities/UtilitiesRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/utilities/UtilitiesRequestHandler.java index 9c2da768..95572651 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/utilities/UtilitiesRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/utilities/UtilitiesRequestHandler.java @@ -22,7 +22,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.filestorage.FileServingHelper; import edu.cornell.mannlib.vitro.webapp.visualization.constants.QueryFieldLabels; import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/MapOfScienceActivity.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/MapOfScienceActivity.java new file mode 100644 index 00000000..b66d3d8f --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/MapOfScienceActivity.java @@ -0,0 +1,19 @@ +package edu.cornell.mannlib.vitro.webapp.visualization.valueobjects; + +public class MapOfScienceActivity extends Activity { + + private String publishedInJournal = "NONE"; + + public MapOfScienceActivity(String activityURI) { + super(activityURI); + } + + public void setPublishedInJournal(String publishedInJournal) { + this.publishedInJournal = publishedInJournal; + } + + public String getPublishedInJournal() { + return publishedInJournal; + } + +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/JsonObject.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/JsonObject.java similarity index 99% rename from src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/JsonObject.java rename to src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/JsonObject.java index 017dabe6..ee00ab7a 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/JsonObject.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/JsonObject.java @@ -1,5 +1,5 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.visualization.valueobjects; +package edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json; import java.util.ArrayList; import java.util.List; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/MapOfScience.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/MapOfScience.java new file mode 100644 index 00000000..d4d8e720 --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/MapOfScience.java @@ -0,0 +1,66 @@ +package edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json; + +import java.util.HashMap; +import java.util.Map; + +public class MapOfScience { + + private String uri; + private String label; + private String type; + private int pubsMapped; + private int pubsUnmapped; + private String lastCachedAtDateTime; + private Map subdisciplineActivity = new HashMap(); + + public MapOfScience(String uri) { + this.uri = uri; + } + + public void setType(String type) { + this.type = type; + } + public String getType() { + return type; + } + public void setUri(String uri) { + this.uri = uri; + } + public String getUri() { + return uri; + } + + public void setLabel(String label) { + this.label = label; + } + public String getLabel() { + return label; + } + public void setPubsMapped(int pubsMapped) { + this.pubsMapped = pubsMapped; + } + public int getPubsMapped() { + return pubsMapped; + } + public void setPubsUnmapped(int pubsUnmapped) { + this.pubsUnmapped = pubsUnmapped; + } + public int getPubsUnmapped() { + return pubsUnmapped; + } + public void setSubdisciplineActivity(Map subdisciplineActivity) { + this.subdisciplineActivity = subdisciplineActivity; + } + public Map getSubdisciplineActivity() { + return subdisciplineActivity; + } + + public void setLastCachedAtDateTime(String lastCachedAtDateTime) { + this.lastCachedAtDateTime = lastCachedAtDateTime; + } + + public String getLastCachedAtDateTime() { + return lastCachedAtDateTime; + } + +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/SubjectEntityJSON.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/SubjectEntityJSON.java similarity index 93% rename from src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/SubjectEntityJSON.java rename to src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/SubjectEntityJSON.java index e3bcd6fb..2c0e5a08 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/SubjectEntityJSON.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/valueobjects/json/SubjectEntityJSON.java @@ -1,10 +1,12 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.visualization.valueobjects; +package edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.json; import java.util.HashMap; import java.util.Map; import java.util.Set; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Individual; + public class SubjectEntityJSON { private String subjectEntityLabel; diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/visutils/SelectOnModelUtilities.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/visutils/SelectOnModelUtilities.java index 53501679..8738f8ad 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/visutils/SelectOnModelUtilities.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/visutils/SelectOnModelUtilities.java @@ -29,6 +29,7 @@ import edu.cornell.mannlib.vitro.webapp.visualization.modelconstructor.SubOrgani import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Activity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Entity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Individual; +import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.MapOfScienceActivity; import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.SubEntity; public class SelectOnModelUtilities { @@ -317,6 +318,58 @@ public class SelectOnModelUtilities { return allDocumentURIToVOs; } + public static Map getPublicationsWithJournalForAllSubOrganizations( + Dataset dataset, Entity organizationEntity) + throws MalformedQueryParametersException { + Map allDocumentURIToVOs = new HashMap(); + + for (SubEntity subOrganization : organizationEntity.getSubEntities()) { + + Model subOrganizationPublicationsModel = ModelConstructorUtilities + .getOrConstructModel( + subOrganization.getIndividualURI(), + OrganizationToPublicationsForSubOrganizationsModelConstructor.MODEL_TYPE, + dataset); + +// System.out.println("getting publications for " + subOrganization.getIndividualLabel()); + + Map fieldLabelToOutputFieldLabel = new HashMap(); + fieldLabelToOutputFieldLabel.put("document", QueryFieldLabels.DOCUMENT_URL); + fieldLabelToOutputFieldLabel.put("documentLabel", QueryFieldLabels.DOCUMENT_LABEL); + fieldLabelToOutputFieldLabel.put("documentPublicationDate", QueryFieldLabels.DOCUMENT_PUBLICATION_DATE); + fieldLabelToOutputFieldLabel.put("journalLabel", QueryFieldLabels.DOCUMENT_JOURNAL_LABEL); + + String whereClause = "" + + " <" + subOrganization.getIndividualURI() + "> vivosocnet:hasPersonWithPublication ?document . " + + " ?document rdfs:label ?documentLabel . " + + " OPTIONAL { " + + " ?document core:dateTimeValue ?dateTimeValue . " + + " ?dateTimeValue core:dateTime ?documentPublicationDate } . " + + " OPTIONAL { " + + " ?document core:hasPublicationVenue ?journal . " + + " ?journal rdfs:label ?journalLabel . } "; + + QueryRunner subOrganizationPublicationsQuery = + new GenericQueryRunnerOnModel(fieldLabelToOutputFieldLabel, + "", + whereClause, + "", + subOrganizationPublicationsModel); + + getPublicationWithJournalForEntity(subOrganizationPublicationsQuery.getQueryResult(), + subOrganization, + allDocumentURIToVOs); + + String lastCachedAtForEntity = getLastCachedAtDateTimeForEntityInModel( + subOrganization, + subOrganizationPublicationsModel); + + subOrganization.setLastCachedAtDateTime(lastCachedAtForEntity); + + } + return allDocumentURIToVOs; + } + private static void getPublicationForEntity( ResultSet queryResult, SubEntity subEntity, Map allDocumentURIToVOs) { @@ -357,6 +410,54 @@ public class SelectOnModelUtilities { subEntity.addActivities(currentEntityPublications); } + private static void getPublicationWithJournalForEntity( + ResultSet queryResult, + SubEntity subEntity, + Map allDocumentURIToVOs) { + + Set currentEntityPublications = new HashSet(); + + while (queryResult.hasNext()) { + + QuerySolution solution = queryResult.nextSolution(); + + if (StringUtils.isEmpty(subEntity.getLastCachedAtDateTime())) { + + RDFNode lastCachedAtNode = solution.get(QueryFieldLabels.LAST_CACHED_AT_DATETIME); + if (lastCachedAtNode != null) { + subEntity.setLastCachedAtDateTime(lastCachedAtNode.toString()); + } + } + + RDFNode documentNode = solution.get(QueryFieldLabels.DOCUMENT_URL); + Activity biboDocument; + + if (allDocumentURIToVOs.containsKey(documentNode.toString())) { + biboDocument = allDocumentURIToVOs.get(documentNode.toString()); + + } else { + + biboDocument = new MapOfScienceActivity(documentNode.toString()); + allDocumentURIToVOs.put(documentNode.toString(), biboDocument); + + RDFNode publicationDateNode = solution.get(QueryFieldLabels + .DOCUMENT_PUBLICATION_DATE); + if (publicationDateNode != null) { + biboDocument.setActivityDate(publicationDateNode.toString()); + } + + RDFNode publicationJournalNode = solution.get(QueryFieldLabels + .DOCUMENT_JOURNAL_LABEL); + + if (publicationJournalNode != null) { + ((MapOfScienceActivity) biboDocument).setPublishedInJournal(publicationJournalNode.toString()); + } + } + currentEntityPublications.add(biboDocument); + } + subEntity.addActivities(currentEntityPublications); + } + public static String getLastCachedAtForEntity(ResultSet queryResult) { String lastCachedAtDateTime = null; @@ -638,5 +739,57 @@ public class SelectOnModelUtilities { } return allDocumentURIToVOs; } + + public static Map getPublicationsWithJournalForAssociatedPeople( + Dataset dataset, Collection people) + throws MalformedQueryParametersException { + Map allDocumentURIToVOs = new HashMap(); + + Model peoplePublicationsModel = ModelConstructorUtilities + .getOrConstructModel( + null, + PeopleToPublicationsModelConstructor.MODEL_TYPE, + dataset); + + for (SubEntity person : people) { + +// System.out.println("getting publications for " + person.getIndividualLabel()); + + Map fieldLabelToOutputFieldLabel = new HashMap(); + fieldLabelToOutputFieldLabel.put("document", QueryFieldLabels.DOCUMENT_URL); + fieldLabelToOutputFieldLabel.put("documentLabel", QueryFieldLabels.DOCUMENT_LABEL); + fieldLabelToOutputFieldLabel.put("documentPublicationDate", QueryFieldLabels.DOCUMENT_PUBLICATION_DATE); + fieldLabelToOutputFieldLabel.put("journalLabel", QueryFieldLabels.DOCUMENT_JOURNAL_LABEL); + + String whereClause = "" + + " <" + person.getIndividualURI() + "> vivosocnet:hasPublication ?document . " + + " ?document rdfs:label ?documentLabel . " + + " OPTIONAL { " + + " ?document core:dateTimeValue ?dateTimeValue . " + + " ?dateTimeValue core:dateTime ?documentPublicationDate } . " + + " OPTIONAL { " + + " ?document core:hasPublicationVenue ?journal . " + + " ?journal rdfs:label ?journalLabel . } "; + + QueryRunner personPublicationsQuery = + new GenericQueryRunnerOnModel(fieldLabelToOutputFieldLabel, + "", + whereClause, + "", + peoplePublicationsModel); + + getPublicationWithJournalForEntity(personPublicationsQuery.getQueryResult(), + person, + allDocumentURIToVOs); + + String lastCachedAtForEntity = getLastCachedAtDateTimeForEntityInModel( + person, + peoplePublicationsModel); + + person.setLastCachedAtDateTime(lastCachedAtForEntity); + + } + return allDocumentURIToVOs; + } } diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/visutils/UtilityFunctions.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/visutils/UtilityFunctions.java index 00df4df7..4a555817 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/visutils/UtilityFunctions.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/visutils/UtilityFunctions.java @@ -24,7 +24,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CollaborationData; import edu.cornell.mannlib.vitro.webapp.visualization.constants.VOConstants; import edu.cornell.mannlib.vitro.webapp.visualization.constants.VisConstants; diff --git a/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java b/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java index f4e85460..4b02eb18 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java +++ b/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java @@ -19,7 +19,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Route; -import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; +import edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationFrameworkConstants; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; public class IndividualTemplateModel extends BaseIndividualTemplateModel {