diff --git a/src/main/java/edu/tamu/scholars/middleware/discovery/response/DiscoveryQuantityDistribution.java b/src/main/java/edu/tamu/scholars/middleware/discovery/response/DiscoveryQuantityDistribution.java index e8190b58b..3b6843d7b 100644 --- a/src/main/java/edu/tamu/scholars/middleware/discovery/response/DiscoveryQuantityDistribution.java +++ b/src/main/java/edu/tamu/scholars/middleware/discovery/response/DiscoveryQuantityDistribution.java @@ -17,10 +17,13 @@ public class DiscoveryQuantityDistribution { private final List distribution; + private Long total; + private DiscoveryQuantityDistribution(String label, String field) { this.label = label; this.field = field; this.distribution = new ArrayList<>(); + this.total = 0L; } public String getLabel() { @@ -35,18 +38,26 @@ public List getDistribution() { return distribution; } + public Long getTotal() { + return total; + } + public void parse(QueryResponse response) { - response.getFacetField(field) + response + .getFacetField(field) .getValues() .stream() .sorted(new Comparator() { - @Override - public int compare(Count o1, Count o2) { - return Long.compare(o2.getCount(), o1.getCount()); - } + @Override + public int compare(Count o1, Count o2) { + return Long.compare(o2.getCount(), o1.getCount()); + } - }).forEach(value -> distribution.add(new Slice(value.getName(), value.getCount()))); + }).forEach(value -> { + distribution.add(new Slice(value.getName(), value.getCount())); + total += value.getCount(); + }); } public static DiscoveryQuantityDistribution from(DiscoveryQuantityDistributionDescriptor quantityDistributionDescriptor) { diff --git a/src/main/java/edu/tamu/scholars/middleware/discovery/response/DiscoveryResearchAge.java b/src/main/java/edu/tamu/scholars/middleware/discovery/response/DiscoveryResearchAge.java index d7943af9e..c6d86fa1d 100644 --- a/src/main/java/edu/tamu/scholars/middleware/discovery/response/DiscoveryResearchAge.java +++ b/src/main/java/edu/tamu/scholars/middleware/discovery/response/DiscoveryResearchAge.java @@ -2,12 +2,12 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Collectors; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; @@ -97,6 +97,8 @@ public void from(DiscoveryResearchAgeDescriptor researcherAgeDescriptor, SolrDoc }); + Collections.sort(groups, new AgeGroupComparator()); + this.mean = results.size() > 0 ? sum.get() / results.size() : 0; this.median = results.size() > 0 ? DateUtility.ageInYearsFromEpochSecond((long) results.get(results.size() / 2).getFieldValue(ageField)) : 0; } @@ -114,15 +116,7 @@ public Map getRanges() { } public List getGroups() { - // NOTE: sorting on serialization in response - return groups.stream().sorted(new Comparator() { - - @Override - public int compare(AgeGroup o1, AgeGroup o2) { - return o1.getIndex().compareTo(o2.getIndex()); - } - - }).collect(Collectors.toList()); + return groups; } public double getMean() { @@ -157,4 +151,13 @@ public Integer getValue() { } } + private class AgeGroupComparator implements Comparator { + + @Override + public int compare(AgeGroup o1, AgeGroup o2) { + return o1.getIndex().compareTo(o2.getIndex()); + } + + } + } diff --git a/src/main/java/edu/tamu/scholars/middleware/export/utility/FilenameUtility.java b/src/main/java/edu/tamu/scholars/middleware/export/utility/FilenameUtility.java index d25bbc5f4..1d5a2bca4 100644 --- a/src/main/java/edu/tamu/scholars/middleware/export/utility/FilenameUtility.java +++ b/src/main/java/edu/tamu/scholars/middleware/export/utility/FilenameUtility.java @@ -3,6 +3,7 @@ import java.util.Date; import java.util.Locale; +import org.apache.commons.lang3.StringUtils; import org.springframework.context.i18n.LocaleContextHolder; import edu.tamu.scholars.middleware.discovery.model.AbstractIndexDocument; @@ -11,7 +12,6 @@ public class FilenameUtility { - private final static String SPACE = " "; private final static String UNDERSCORE = "_"; private FilenameUtility() { @@ -33,7 +33,7 @@ public static String normalizeExportFilename(Individual individual) { private static String localizeWhileUnderscoreReplaceSpaceWithUnderscore(String value) { Locale locale = LocaleContextHolder.getLocale(); return value.toLowerCase(locale) - .replace(SPACE, UNDERSCORE); + .replace(StringUtils.SPACE, UNDERSCORE); } private static String prefixWithTimestampAfterUnderscore(String value) { diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt index 846c48a5e..871c5ba44 100644 --- a/src/main/resources/banner.txt +++ b/src/main/resources/banner.txt @@ -1,5 +1,5 @@ ___ _ _ / __| __| |_ ___| |__ _ _ _ ___ - \__ \/ _| ' \/ _ \ / _` | '_(_-< + \__ \/ _| ' \/ _ \ / _` | '_/_-< |___/\__|_||_\___/_\__,_|_| /__/ \ No newline at end of file