public SimpleRangeStats getRangeStatsOfAllRanges(final RangeFacetExpression<T> facetExpression) { final String facetResultPath = facetExpression.resultPath(); final boolean facetIsOfTypeAllRanges = Optional.ofNullable(facetExpression.value()) .map(v -> v.trim().equals(":range(* to \"0\"),(\"0\" to *)")) .orElse(false); if (facetIsOfTypeAllRanges) { final RangeFacetResult facetResult = getRangeFacetResult(facetResultPath); return getSimpleRangeStats(facetResult.getRanges()); } else { throw new IllegalArgumentException("Facet result is not of type RangeFacetResult for all ranges, i.e. (* to \"0\"),(\"0\" to *): " + facetResultPath); } }
@Test public void buildsRangeFacetExpressionWithAlias() throws Exception { final RangeFacetExpression<Object> facet = RangeFacetExpression.of(ATTRIBUTE_PATH + RANGE_VALUE + AS_ALIAS); assertThat(facet.expression()).isEqualTo(ATTRIBUTE_PATH + RANGE_VALUE + AS_ALIAS); assertThat(facet.attributePath()).isEqualTo(ATTRIBUTE_PATH); assertThat(facet.value()).isEqualTo(RANGE_VALUE); assertThat(facet.alias()).isEqualTo(ALIAS); assertThat(facet.resultPath()).isEqualTo(ALIAS); }
@Test public void buildsRangeFacetExpression() throws Exception { final RangeFacetExpression<Object> facet = RangeFacetExpression.of(ATTRIBUTE_PATH + RANGE_VALUE); assertThat(facet.expression()).isEqualTo(ATTRIBUTE_PATH + RANGE_VALUE); assertThat(facet.attributePath()).isEqualTo(ATTRIBUTE_PATH); assertThat(facet.value()).isEqualTo(RANGE_VALUE); assertThat(facet.alias()).isNull(); assertThat(facet.resultPath()).isEqualTo(ATTRIBUTE_PATH); }
@Test public void buildsRangeFacetExpressionWithAlias() throws Exception { final RangeFacetExpression<Object> facet = RangeTermFacetSearchModel.of(ATTRIBUTE_PATH, ofNumber()).withAlias(ALIAS).onlyRange(FACET_RANGES); assertThat(facet.expression()).isEqualTo(ATTRIBUTE_PATH + RANGE_VALUE + AS_ALIAS); assertThat(facet.attributePath()).isEqualTo(ATTRIBUTE_PATH); assertThat(facet.value()).isEqualTo(RANGE_VALUE); assertThat(facet.alias()).isEqualTo(ALIAS); assertThat(facet.resultPath()).isEqualTo(ALIAS); }
@Test public void buildsRangeFacetExpression() throws Exception { final RangeFacetExpression<Object> facet = RangeTermFacetSearchModel.of(ATTRIBUTE_PATH, ofNumber()).onlyRange(FACET_RANGES); assertThat(facet.expression()).isEqualTo(ATTRIBUTE_PATH + RANGE_VALUE); assertThat(facet.attributePath()).isEqualTo(ATTRIBUTE_PATH); assertThat(facet.value()).isEqualTo(RANGE_VALUE); assertThat(facet.alias()).isNull(); assertThat(facet.resultPath()).isEqualTo(ATTRIBUTE_PATH); }