List of usage examples for org.apache.solr.client.solrj.response FieldStatsInfo FieldStatsInfo
public FieldStatsInfo(NamedList<Object> nl, String fname)
From source file:au.org.ala.biocache.web.ChartController.java
License:Open Source License
private void insertZeros(List<Map> seriesFqs) { if (seriesFqs.size() > 1) { //build list List all = new ArrayList(); for (Map s : seriesFqs) { List data = (List) s.get("data"); for (Object o : data) { if (o instanceof FieldStatsItem) { all.add(((FieldStatsItem) o).getLabel()); } else if (o instanceof FieldResultDTO) { all.add(((FieldResultDTO) o).getLabel()); }//from w w w . ja v a 2s . c o m } } //insert zeros Map m = new HashMap(); m.put("count", 0L); for (Map s : seriesFqs) { Set<String> current = new HashSet(all); List data = (List) s.get("data"); boolean fieldStatsItem = false; for (Object o : data) { if (o instanceof FieldStatsItem) { fieldStatsItem = true; current.remove(((FieldStatsItem) o).getLabel()); } else if (o instanceof FieldResultDTO) { current.remove(((FieldResultDTO) o).getLabel()); } } for (String c : current) { if (fieldStatsItem) { data.add(new FieldStatsItem(new FieldStatsInfo(new NamedList<>(m), c))); } else { data.add(new FieldResultDTO(c, 0)); } } //sort Collections.sort(data, new Comparator() { @Override public int compare(Object o1, Object o2) { String label1 = "", label2 = ""; if (o1 instanceof FieldStatsItem) { label1 = ((FieldStatsItem) o1).getLabel(); label2 = ((FieldStatsItem) o2).getLabel(); } else if (o1 instanceof FieldResultDTO) { label1 = ((FieldResultDTO) o1).getLabel(); label2 = ((FieldResultDTO) o2).getLabel(); } if (label1 == null) label1 = ""; if (label2 == null) label2 = ""; return label1.compareTo(label2); } }); s.put("data", data); } } }
From source file:org.springframework.data.solr.core.ResultHelperTests.java
License:Apache License
/** * @see DATASOLR-160//from ww w. j a va 2s. co m */ @Test public void testConvertSingleFieldStatsInfoToStatsResultMap() { Map<String, FieldStatsInfo> fieldStatsInfos = new HashMap<String, FieldStatsInfo>(); NamedList<Object> nl = createFieldStatNameList("min", "max", 20D, 10L, 5L, 22.5D, 15.5D, 1D); fieldStatsInfos.put("field", new FieldStatsInfo(nl, "field")); Map<String, FieldStatsResult> converted = ResultHelper .convertFieldStatsInfoToFieldStatsResultMap(fieldStatsInfos); FieldStatsResult fieldStatsResult = converted.get("field"); Assert.assertEquals("min", fieldStatsResult.getMin()); Assert.assertEquals("max", fieldStatsResult.getMax()); Assert.assertEquals(Double.valueOf(20), fieldStatsResult.getSum()); Assert.assertEquals(Double.valueOf(22.5), fieldStatsResult.getMean()); Assert.assertEquals(Long.valueOf(10), fieldStatsResult.getCount()); Assert.assertEquals(Long.valueOf(5), fieldStatsResult.getMissing()); Assert.assertEquals(Double.valueOf(15.5), fieldStatsResult.getStddev()); Assert.assertEquals(Double.valueOf(1D), fieldStatsResult.getSumOfSquares()); }
From source file:org.springframework.data.solr.core.ResultHelperTests.java
License:Apache License
/** * @see DATASOLR-160//from w w w .j ava2 s . c o m */ @Test public void testConvertFieldStatsInfoMapWithEmptyNamedListToStatsResultMap() { Map<String, FieldStatsResult> converted = ResultHelper.convertFieldStatsInfoToFieldStatsResultMap( Collections.<String, FieldStatsInfo>singletonMap("field", new FieldStatsInfo(new NamedList<Object>(), "field"))); Assert.assertThat(converted, IsNull.notNullValue()); Assert.assertThat(converted.keySet(), IsIterableContainingInOrder.contains("field")); }
From source file:org.springframework.data.solr.core.ResultHelperTests.java
License:Apache License
/** * @see DATASOLR-160/*www . jav a 2 s. c o m*/ */ @Test public void testConvertFieldStatsInfoToStatsResultMap() { Map<String, FieldStatsInfo> fieldStatsInfos = new HashMap<String, FieldStatsInfo>(); NamedList<Object> values = new NamedList<Object>(); NamedList<Object> facets = new NamedList<Object>(); NamedList<Object> nl = createFieldStatNameList("min", "max", 20D, 10L, 5L, 22.5D, 15.5D, 1D); nl.add("facets", facets); facets.add("facetField", values); values.add("value1", createFieldStatNameList("f1v1min", "f1v1max", 110D, 111L, 112L, 113D, 11.3D, 1D)); values.add("value2", createFieldStatNameList("f1v2min", "f1v2max", 120D, 121L, 122L, 123D, 12.3D, 1D)); fieldStatsInfos.put("field", new FieldStatsInfo(nl, "field")); // convert Map<String, FieldStatsResult> converted = ResultHelper .convertFieldStatsInfoToFieldStatsResultMap(fieldStatsInfos); // field FieldStatsResult fieldStatsResult = converted.get("field"); Assert.assertEquals("min", fieldStatsResult.getMin()); Assert.assertEquals("max", fieldStatsResult.getMax()); Assert.assertEquals(Double.valueOf(20), fieldStatsResult.getSum()); Assert.assertEquals(Double.valueOf(22.5), fieldStatsResult.getMean()); Assert.assertEquals(Long.valueOf(10), fieldStatsResult.getCount()); Assert.assertEquals(Long.valueOf(5), fieldStatsResult.getMissing()); Assert.assertEquals(Double.valueOf(15.5), fieldStatsResult.getStddev()); // facets Map<String, Map<String, StatsResult>> facetStatsResults = fieldStatsResult.getFacetStatsResults(); Assert.assertEquals(1, facetStatsResults.size()); // facet field Map<String, StatsResult> facetStatsResult = facetStatsResults.get("facetField"); Assert.assertNotNull(facetStatsResult); // facet values StatsResult facetValue1StatsResult = facetStatsResult.get("value1"); Assert.assertEquals("f1v1min", facetValue1StatsResult.getMin()); Assert.assertEquals("f1v1max", facetValue1StatsResult.getMax()); Assert.assertEquals(Double.valueOf(110), facetValue1StatsResult.getSum()); Assert.assertEquals(Double.valueOf(113), facetValue1StatsResult.getMean()); Assert.assertEquals(Long.valueOf(111), facetValue1StatsResult.getCount()); Assert.assertEquals(Long.valueOf(112), facetValue1StatsResult.getMissing()); Assert.assertEquals(Double.valueOf(11.3), facetValue1StatsResult.getStddev()); StatsResult facetValue2StatsResult = facetStatsResult.get("value2"); Assert.assertEquals("f1v2min", facetValue2StatsResult.getMin()); Assert.assertEquals("f1v2max", facetValue2StatsResult.getMax()); Assert.assertEquals(Double.valueOf(120), facetValue2StatsResult.getSum()); Assert.assertEquals(Double.valueOf(123), facetValue2StatsResult.getMean()); Assert.assertEquals(Long.valueOf(121), facetValue2StatsResult.getCount()); Assert.assertEquals(Long.valueOf(122), facetValue2StatsResult.getMissing()); Assert.assertEquals(Double.valueOf(12.3), facetValue2StatsResult.getStddev()); }