1. Fix for http://issues.library.cornell.edu/browse/NIHVIVO-3070 made sure that the rows in the table for person level vis were created based on whether the entity in question has egoURI or not, instead of depending upon flash vis to provide sorted list with egoNode being the first element.
2. Tentative fix for http://issues.library.cornell.edu/browse/NIHVIVO-2953 will wait to hear more to change the UX further. 3. Fix for http://issues.library.cornell.edu/browse/NIHVIVO-2523 the current placement for downloading of this csv is subject to change.
This commit is contained in:
parent
c37ae62188
commit
6c3818f84a
8 changed files with 123 additions and 43 deletions
|
@ -93,6 +93,7 @@ public class VisualizationFrameworkConstants {
|
|||
* */
|
||||
public static final String DISCIPLINE_TO_ACTIVTY_VIS_MODE = "discipline";
|
||||
public static final String SUBDISCIPLINE_TO_ACTIVTY_VIS_MODE = "subdiscipline";
|
||||
public static final String SCIENCE_UNLOCATED_JOURNALS_VIS_MODE = "unlocated_journals";
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -176,8 +176,6 @@ public class MapOfScienceVisualizationRequestHandler implements
|
|||
}
|
||||
|
||||
/**
|
||||
* Provides response when json file containing the publication count over the
|
||||
* years is requested.
|
||||
* @param vitroRequest
|
||||
*
|
||||
* @param entity
|
||||
|
@ -210,6 +208,14 @@ public class MapOfScienceVisualizationRequestHandler implements
|
|||
|
||||
outputFileName += "_subdiscipline-to-publications" + ".csv";
|
||||
|
||||
} else if (VisualizationFrameworkConstants.SCIENCE_UNLOCATED_JOURNALS_VIS_MODE
|
||||
.equalsIgnoreCase(vitroRequest.getParameter(VisualizationFrameworkConstants.VIS_MODE_KEY))) {
|
||||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY,
|
||||
getUnlocatedJournalsCSVContent(entity));
|
||||
|
||||
outputFileName += "_unlocated-journals" + ".csv";
|
||||
|
||||
} else {
|
||||
|
||||
fileData.put(DataVisualizationController.FILE_CONTENT_KEY,
|
||||
|
@ -440,7 +446,7 @@ public class MapOfScienceVisualizationRequestHandler implements
|
|||
|
||||
}
|
||||
|
||||
return new PublicationJournalStats(publicationsWithNoJournalCount, journalToPublicationCount);
|
||||
return new PublicationJournalStats(publicationsWithNoJournalCount, journalToPublicationCount, null);
|
||||
}
|
||||
|
||||
private void updateEntityMapOfScienceInformation(MapOfScience entityJson,
|
||||
|
@ -488,7 +494,8 @@ public class MapOfScienceVisualizationRequestHandler implements
|
|||
|
||||
csvFileContent.append("Discipline, Publication Count, % Activity\n");
|
||||
|
||||
ScienceMappingResult result = extractScienceMappingResultFromActivities(subjectEntity);
|
||||
PublicationJournalStats stats = extractScienceMappingResultFromActivities(subjectEntity);
|
||||
ScienceMappingResult result = stats.scienceMapping;
|
||||
|
||||
Map<Integer, Float> disciplineToPublicationCount = new HashMap<Integer, Float>();
|
||||
|
||||
|
@ -550,14 +557,47 @@ public class MapOfScienceVisualizationRequestHandler implements
|
|||
return csvFileContent.toString();
|
||||
}
|
||||
|
||||
private String getUnlocatedJournalsCSVContent(Entity subjectEntity) {
|
||||
|
||||
StringBuilder csvFileContent = new StringBuilder();
|
||||
|
||||
csvFileContent.append("Journal, Publication Count\n");
|
||||
|
||||
PublicationJournalStats stats = extractScienceMappingResultFromActivities(subjectEntity);
|
||||
ScienceMappingResult result = stats.scienceMapping;
|
||||
|
||||
DecimalFormat percentageActivityFormat = new DecimalFormat("#.#");
|
||||
|
||||
csvFileContent.append(StringEscapeUtils.escapeCsv("No Journal"));
|
||||
csvFileContent.append(", ");
|
||||
csvFileContent.append(percentageActivityFormat.format(stats.noJournalCount));
|
||||
csvFileContent.append("\n");
|
||||
|
||||
if (result != null) {
|
||||
|
||||
Map<String, Float> mappedResult = result.getUnmappedResult();
|
||||
|
||||
for (Map.Entry<String, Float> currentUnMappedJournal : mappedResult.entrySet()) {
|
||||
|
||||
csvFileContent.append(StringEscapeUtils.escapeCsv(currentUnMappedJournal.getKey()));
|
||||
csvFileContent.append(", ");
|
||||
csvFileContent.append(percentageActivityFormat.format(currentUnMappedJournal.getValue()));
|
||||
csvFileContent.append("\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return csvFileContent.toString();
|
||||
}
|
||||
|
||||
private String getSubDisciplineToPublicationsCSVContent(Entity subjectEntity) {
|
||||
|
||||
StringBuilder csvFileContent = new StringBuilder();
|
||||
|
||||
csvFileContent.append("Sub-Discipline, Publication Count, % Activity\n");
|
||||
|
||||
ScienceMappingResult result = extractScienceMappingResultFromActivities(subjectEntity);
|
||||
PublicationJournalStats stats = extractScienceMappingResultFromActivities(subjectEntity);
|
||||
ScienceMappingResult result = stats.scienceMapping;
|
||||
|
||||
Float totalMappedPublications = new Float(0);
|
||||
|
||||
|
@ -603,7 +643,7 @@ public class MapOfScienceVisualizationRequestHandler implements
|
|||
return csvFileContent.toString();
|
||||
}
|
||||
|
||||
private ScienceMappingResult extractScienceMappingResultFromActivities(
|
||||
private PublicationJournalStats extractScienceMappingResultFromActivities(
|
||||
Entity subjectEntity) {
|
||||
Set<Activity> publicationsForEntity = new HashSet<Activity>();
|
||||
|
||||
|
@ -615,20 +655,24 @@ public class MapOfScienceVisualizationRequestHandler implements
|
|||
|
||||
PublicationJournalStats publicationStats = getPublicationJournalStats(publicationsForEntity);
|
||||
|
||||
ScienceMappingResult result = getScienceMappingResult(publicationStats.journalToPublicationCount);
|
||||
return result;
|
||||
publicationStats.scienceMapping = getScienceMappingResult(publicationStats.journalToPublicationCount);
|
||||
|
||||
return publicationStats;
|
||||
}
|
||||
|
||||
private class PublicationJournalStats {
|
||||
|
||||
int noJournalCount;
|
||||
Map<String, Integer> journalToPublicationCount;
|
||||
ScienceMappingResult scienceMapping;
|
||||
|
||||
public PublicationJournalStats(int noJournalCount,
|
||||
Map<String, Integer> journalToPublicationCount) {
|
||||
Map<String, Integer> journalToPublicationCount,
|
||||
ScienceMappingResult scienceMapping) {
|
||||
|
||||
this.noJournalCount = noJournalCount;
|
||||
this.journalToPublicationCount = journalToPublicationCount;
|
||||
this.scienceMapping = scienceMapping;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -64,11 +64,6 @@ public class TemporalGrantVisualizationRequestHandler implements
|
|||
|
||||
}
|
||||
|
||||
/* System.out.println("current models in the system are");
|
||||
for (Map.Entry<String, Model> entry : ConstructedModelTracker.getAllModels().entrySet()) {
|
||||
System.out.println(entry.getKey() + " -> " + entry.getValue().size());
|
||||
}
|
||||
*/
|
||||
return prepareStandaloneMarkupResponse(vitroRequest, entityURI);
|
||||
}
|
||||
|
||||
|
@ -176,15 +171,6 @@ public class TemporalGrantVisualizationRequestHandler implements
|
|||
Map<String, Activity> grantURIForAssociatedPeopleToVO = new HashMap<String, Activity>();
|
||||
Map<String, Activity> allGrantURIToVO = new HashMap<String, Activity>();
|
||||
|
||||
/**
|
||||
* TODO: Change this to use DataSet when an optimum solution is reached. Currently grant constructs are causing
|
||||
* endless wait times on a large dataset like UFl. When I tried to add all the datasets manually to the Datasource
|
||||
* it responded in an order of magnitude higher than with just the defaultOntModel.
|
||||
* Brian Lowe is looking into this weird behavior see http://issues.library.cornell.edu/browse/NIHVIVO-2275
|
||||
*/
|
||||
// DataSource dataSource = DatasetFactory.create();
|
||||
// dataSource.setDefaultModel(vitroRequest.getJenaOntModel());
|
||||
|
||||
allGrantURIToVO = SelectOnModelUtilities.getGrantsForAllSubOrganizations(dataset, organizationEntity);
|
||||
|
||||
Entity organizationWithAssociatedPeople = SelectOnModelUtilities
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue