diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/temporalgraph/TemporalGrantVisualizationRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/temporalgraph/TemporalGrantVisualizationRequestHandler.java index 00808e5c..a23af95c 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/temporalgraph/TemporalGrantVisualizationRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/temporalgraph/TemporalGrantVisualizationRequestHandler.java @@ -2,6 +2,7 @@ package edu.cornell.mannlib.vitro.webapp.visualization.temporalgraph; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; @@ -157,13 +158,13 @@ public class TemporalGrantVisualizationRequestHandler implements Set orgGrants = new HashSet(); Set orgGrantsPeople = new HashSet(); - Map> subOrgPublicationsMap = new HashMap>(); + Map> subOrgGrantsMap = new HashMap>(); OrgUtils.getObjectMappingsForOrgAnSubOrgs( subjectEntityURI, orgGrants, orgGrantsPeople, - subOrgPublicationsMap, + subOrgGrantsMap, subOrgMap, organisationToPeopleMap, personToGrantMap @@ -183,15 +184,19 @@ public class TemporalGrantVisualizationRequestHandler implements Set subEntitiesJson = new HashSet(); // For each suborganisation - for (String subOrg : subOrgPublicationsMap.keySet()) { + for (String subOrg : subOrgGrantsMap.keySet()) { JsonObject entityJson = new JsonObject(orgLabelMap.get(subOrg)); - List> yearPubCounts = CounterUtils.getObjectCountByYear(subOrgPublicationsMap.get(subOrg), grantToYearMap); + if (subOrgGrantsMap.containsKey(subOrg)) { + List> yearPubCounts = CounterUtils.getObjectCountByYear(subOrgGrantsMap.get(subOrg), grantToYearMap); + entityJson.setYearToActivityCount(yearPubCounts); + } else { + entityJson.setYearToActivityCount(new ArrayList>()); + } String type = orgMostSpecificLabelMap.get(subOrg); - - entityJson.setYearToActivityCount(yearPubCounts); entityJson.setOrganizationTypes(Arrays.asList(type == null ? "Organization" : type)); + entityJson.setEntityURI(subOrg); entityJson.setVisMode("ORGANIZATION"); @@ -202,12 +207,16 @@ public class TemporalGrantVisualizationRequestHandler implements for (String person : orgGrantsPeople) { JsonObject entityJson = new JsonObject(personLabelMap.get(person)); - List> yearPubCounts = CounterUtils.getObjectCountByYear(personToGrantMap.get(person), grantToYearMap); + if (personToGrantMap.containsKey(person)) { + List> yearPubCounts = CounterUtils.getObjectCountByYear(personToGrantMap.get(person), grantToYearMap); + entityJson.setYearToActivityCount(yearPubCounts); + } else { + entityJson.setYearToActivityCount(new ArrayList>()); + } String type = personMostSpecificLabelMap.get(person); - - entityJson.setYearToActivityCount(yearPubCounts); entityJson.setOrganizationTypes(Arrays.asList(type == null ? "Person" : type)); + entityJson.setEntityURI(person); entityJson.setVisMode("PERSON"); @@ -234,11 +243,11 @@ public class TemporalGrantVisualizationRequestHandler implements csvFileContent.append("Entity Name, Grant Count, Entity Type\n"); - for (String subOrg : subOrgPublicationsMap.keySet()) { + for (String subOrg : subOrgGrantsMap.keySet()) { csvFileContent.append(StringEscapeUtils.escapeCsv(orgLabelMap.get(subOrg))); csvFileContent.append(", "); - csvFileContent.append(subOrgPublicationsMap.get(subOrg).size()); + csvFileContent.append(subOrgGrantsMap.get(subOrg).size()); csvFileContent.append(", "); csvFileContent.append("Organization"); diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/temporalgraph/TemporalPublicationVisualizationRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/temporalgraph/TemporalPublicationVisualizationRequestHandler.java index 452ece12..d82b5648 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/temporalgraph/TemporalPublicationVisualizationRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/temporalgraph/TemporalPublicationVisualizationRequestHandler.java @@ -2,6 +2,7 @@ package edu.cornell.mannlib.vitro.webapp.visualization.temporalgraph; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; @@ -126,12 +127,16 @@ public class TemporalPublicationVisualizationRequestHandler implements for (String subOrg : subOrgPublicationsMap.keySet()) { JsonObject entityJson = new JsonObject(orgLabelMap.get(subOrg)); - List> yearPubCounts = CounterUtils.getObjectCountByYear(subOrgPublicationsMap.get(subOrg), publicationToYearMap); + if (subOrgPublicationsMap.containsKey(subOrg)) { + List> yearPubCounts = CounterUtils.getObjectCountByYear(subOrgPublicationsMap.get(subOrg), publicationToYearMap); + entityJson.setYearToActivityCount(yearPubCounts); + } else { + entityJson.setYearToActivityCount(new ArrayList>()); + } String type = orgMostSpecificLabelMap.get(subOrg); - - entityJson.setYearToActivityCount(yearPubCounts); entityJson.setOrganizationTypes(Arrays.asList(type == null ? "Organization" : type)); + entityJson.setEntityURI(subOrg); entityJson.setVisMode("ORGANIZATION"); @@ -142,12 +147,16 @@ public class TemporalPublicationVisualizationRequestHandler implements for (String person : orgPublicationsPeople) { JsonObject entityJson = new JsonObject(personLabelMap.get(person)); - List> yearPubCounts = CounterUtils.getObjectCountByYear(personToPublicationMap.get(person), publicationToYearMap); + if (personToPublicationMap.containsKey(person)) { + List> yearPubCounts = CounterUtils.getObjectCountByYear(personToPublicationMap.get(person), publicationToYearMap); + entityJson.setYearToActivityCount(yearPubCounts); + } else { + entityJson.setYearToActivityCount(new ArrayList>()); + } String type = personMostSpecificLabelMap.get(person); - - entityJson.setYearToActivityCount(yearPubCounts); entityJson.setOrganizationTypes(Arrays.asList(type == null ? "Person" : type)); + entityJson.setEntityURI(person); entityJson.setVisMode("PERSON"); diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/utilities/OrgUtils.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/utilities/OrgUtils.java index 5472bd23..e90f6386 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/utilities/OrgUtils.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/utilities/OrgUtils.java @@ -65,8 +65,8 @@ public class OrgUtils { Set people = organisationToPeopleMap.get(orgUri); if (people != null) { for (String person : people) { - if (personToObjectMap.containsKey(person)) { - if (orgObjectsIncludesPeople.add(person)) { + if (orgObjectsIncludesPeople.add(person)) { + if (personToObjectMap.containsKey(person)) { orgObjects.addAll(personToObjectMap.get(person)); } }