Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/FlowDepthDevelopmentPerYearProcessor.java @ 8980:b194fa64506a
SINFO - show results themes according to spec, either raw data or floating mean values.
Some improvements to error handling and handling of empty results.
author | gernotbelger |
---|---|
date | Thu, 05 Apr 2018 18:30:34 +0200 |
parents | ee5ce13016ed |
children | 23945061daec |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/FlowDepthDevelopmentPerYearProcessor.java Thu Apr 05 17:12:23 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/FlowDepthDevelopmentPerYearProcessor.java Thu Apr 05 18:30:34 2018 +0200 @@ -15,8 +15,6 @@ import org.dive4elements.artifactdatabase.state.Facet; import org.dive4elements.artifacts.CallContext; -import org.dive4elements.river.artifacts.resources.Resources; -import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; public final class FlowDepthDevelopmentPerYearProcessor extends AbstractSInfoLineProcessor<AbstractSInfoCalculationResult> { @@ -25,16 +23,23 @@ private static final String SINFO_CHART_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_YAXIS_LABEL = "sinfo.chart.flow_depth_development_per_year.yaxis.label"; /* Theme name, usually defined in 'FacetTypes', but that is soooo bad dependencies... */ - // REMARK: these mustend with 'filtered' so extra handling happens in chart: point are always recalculated, because data + // REMARK: these must end with 'filtered' so extra handling happens in chart: point are always recalculated, because + // data // changes depending on zoom state + public static final String FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED = "sinfo_facet_flow_depth_development_per_year.filtered"; - private static final String I18N_FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED_DESCRIPTION = "sinfo.facet.flow_depth_development_per_year.filtered.description"; + private static final String FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED_DESCRIPTION = "sinfo.facet.flow_depth_development_per_year.filtered.description"; + + public static final String FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_RAW = "sinfo_facet_flow_depth_development_per_year"; + + private static final String FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_RAW_DESCRIPTION = "sinfo.facet.flow_depth_development_per_year.raw.description"; private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>(); static { HANDLED_FACET_TYPES.add(FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED); + HANDLED_FACET_TYPES.add(FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_RAW); } public FlowDepthDevelopmentPerYearProcessor() { @@ -46,16 +51,22 @@ if (FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED.contentEquals(facetName)) return data.getStationPoints(SInfoResultType.flowdepthDevelopmentPerYear); + if (FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_RAW.contentEquals(facetName)) + return data.getStationPoints(SInfoResultType.flowdepthDevelopmentPerYear); final String error = String.format("Unknown facet name: %s", facetName); throw new UnsupportedOperationException(error); } - public static Facet createFlowDepthDevelopmentFacet(final CallContext context, final String hash, final String id, + public static Facet createFlowDepthDevelopmentFilteredFacet(final CallContext context, final String hash, final String id, final AbstractSInfoCalculationResult result, final int index) { - final String facetFlowDepthFilteredDescription = Resources.getMsg(context.getMeta(), I18N_FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED_DESCRIPTION, - I18N_FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED_DESCRIPTION, result.getLabel()); - return new SInfoResultFacet(index, FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED, facetFlowDepthFilteredDescription, - SINFO_CHART_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_YAXIS_LABEL, ComputeType.ADVANCE, id, hash); + return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_YAXIS_LABEL, + FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED, FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_FILTERED_DESCRIPTION); + } + + public static Facet createFlowDepthDevelopmentRawFacet(final CallContext context, final String hash, final String id, + final AbstractSInfoCalculationResult result, final int index) { + return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_YAXIS_LABEL, + FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_RAW, FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_RAW_DESCRIPTION); } } \ No newline at end of file