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.
This commit is contained in:
parent
8713552eb5
commit
5f8e6e4172
37 changed files with 355 additions and 88 deletions
|
@ -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;
|
||||
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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<List<Integer>> yearPubCount = new ArrayList<List<Integer>>();
|
||||
|
||||
for (Map.Entry<String, Integer> pubEntry : UtilityFunctions
|
||||
.getYearToActivityCount(subentity.getActivities())
|
||||
.entrySet()) {
|
||||
|
||||
List<Integer> currentPubYear = new ArrayList<Integer>();
|
||||
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<String, Integer> journalToPublicationCount = new HashMap<String, Integer>();
|
||||
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) {
|
||||
|
|
|
@ -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()) "
|
||||
+ " } ";
|
||||
|
||||
|
|
|
@ -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()) "
|
||||
+ " } ";
|
||||
}
|
||||
|
|
|
@ -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()) "
|
||||
+ " } ";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
|
@ -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<String, Integer> subdisciplineActivity = new HashMap<String, Integer>();
|
||||
|
||||
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<String, Integer> subdisciplineActivity) {
|
||||
this.subdisciplineActivity = subdisciplineActivity;
|
||||
}
|
||||
public Map<String, Integer> getSubdisciplineActivity() {
|
||||
return subdisciplineActivity;
|
||||
}
|
||||
|
||||
public void setLastCachedAtDateTime(String lastCachedAtDateTime) {
|
||||
this.lastCachedAtDateTime = lastCachedAtDateTime;
|
||||
}
|
||||
|
||||
public String getLastCachedAtDateTime() {
|
||||
return lastCachedAtDateTime;
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
|
@ -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<String, Activity> getPublicationsWithJournalForAllSubOrganizations(
|
||||
Dataset dataset, Entity organizationEntity)
|
||||
throws MalformedQueryParametersException {
|
||||
Map<String, Activity> allDocumentURIToVOs = new HashMap<String, Activity>();
|
||||
|
||||
for (SubEntity subOrganization : organizationEntity.getSubEntities()) {
|
||||
|
||||
Model subOrganizationPublicationsModel = ModelConstructorUtilities
|
||||
.getOrConstructModel(
|
||||
subOrganization.getIndividualURI(),
|
||||
OrganizationToPublicationsForSubOrganizationsModelConstructor.MODEL_TYPE,
|
||||
dataset);
|
||||
|
||||
// System.out.println("getting publications for " + subOrganization.getIndividualLabel());
|
||||
|
||||
Map<String, String> fieldLabelToOutputFieldLabel = new HashMap<String, String>();
|
||||
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<ResultSet> 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<String, Activity> allDocumentURIToVOs) {
|
||||
|
@ -357,6 +410,54 @@ public class SelectOnModelUtilities {
|
|||
subEntity.addActivities(currentEntityPublications);
|
||||
}
|
||||
|
||||
private static void getPublicationWithJournalForEntity(
|
||||
ResultSet queryResult,
|
||||
SubEntity subEntity,
|
||||
Map<String, Activity> allDocumentURIToVOs) {
|
||||
|
||||
Set<Activity> currentEntityPublications = new HashSet<Activity>();
|
||||
|
||||
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<String, Activity> getPublicationsWithJournalForAssociatedPeople(
|
||||
Dataset dataset, Collection<SubEntity> people)
|
||||
throws MalformedQueryParametersException {
|
||||
Map<String, Activity> allDocumentURIToVOs = new HashMap<String, Activity>();
|
||||
|
||||
Model peoplePublicationsModel = ModelConstructorUtilities
|
||||
.getOrConstructModel(
|
||||
null,
|
||||
PeopleToPublicationsModelConstructor.MODEL_TYPE,
|
||||
dataset);
|
||||
|
||||
for (SubEntity person : people) {
|
||||
|
||||
// System.out.println("getting publications for " + person.getIndividualLabel());
|
||||
|
||||
Map<String, String> fieldLabelToOutputFieldLabel = new HashMap<String, String>();
|
||||
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<ResultSet> personPublicationsQuery =
|
||||
new GenericQueryRunnerOnModel(fieldLabelToOutputFieldLabel,
|
||||
"",
|
||||
whereClause,
|
||||
"",
|
||||
peoplePublicationsModel);
|
||||
|
||||
getPublicationWithJournalForEntity(personPublicationsQuery.getQueryResult(),
|
||||
person,
|
||||
allDocumentURIToVOs);
|
||||
|
||||
String lastCachedAtForEntity = getLastCachedAtDateTimeForEntityInModel(
|
||||
person,
|
||||
peoplePublicationsModel);
|
||||
|
||||
person.setLastCachedAtDateTime(lastCachedAtForEntity);
|
||||
|
||||
}
|
||||
return allDocumentURIToVOs;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue