Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineState.java @ 9316:72b3270e1568
U-Info salix line with regional and supraregional scenario calculation and chart display
author | mschaefer |
---|---|
date | Thu, 26 Jul 2018 17:28:32 +0200 |
parents | 385b52ccde23 |
children | a978b601a034 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineState.java Thu Jul 26 17:23:49 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineState.java Thu Jul 26 17:28:32 2018 +0200 @@ -21,6 +21,7 @@ import org.dive4elements.river.artifacts.model.EmptyFacet; import org.dive4elements.river.artifacts.model.FacetTypes; import org.dive4elements.river.artifacts.model.ReportFacet; +import org.dive4elements.river.artifacts.resources.Resources; import org.dive4elements.river.artifacts.states.DefaultState; import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; @@ -68,9 +69,9 @@ * @param old * Object that was cached. */ - private Object compute(final UINFOArtifact sinfo, final CallContext context, final String hash, final List<Facet> facets, final Object old) { + private Object compute(final UINFOArtifact uinfo, final CallContext context, final String hash, final List<Facet> facets, final Object old) { - final CalculationResult res = doCompute(sinfo, context, old); + final CalculationResult res = doCompute(uinfo, context, old); if (facets == null) return res; @@ -80,8 +81,25 @@ final List<SalixLineCalculationNoScenarioResult> resultList = results.getResults(); if (!resultList.isEmpty()) { - facets.add(SalixLineProcessor.createSalixLineFacet(context, hash, this.id, resultList.get(0), 0, 0, "Salix-Linie")); - facets.add(SalixLineProcessor.createSalixMnwMwFacet(context, hash, this.id, resultList.get(0), 0, 0, "MNW-MW")); + facets.add(SalixLineProcessor.createSalixLineFacet(context, hash, this.id, resultList.get(0), 0, 0)); + facets.add(SalixLineProcessor.createSalixMnwMwFacet(context, hash, this.id, resultList.get(0), 0, 0)); + if (resultList.get(0) instanceof SalixLineCalculationRegionalResult) { + final SalixLineCalculationRegionalResult result = (SalixLineCalculationRegionalResult) resultList.get(0); + for (int i = 0; i <= result.getScenarioCount() - 1; i++) { + final String sublabel = Resources.getMsg(context.getMeta(), "uinfo_salix_scenario_deltaw", "uinfo_salix_scenario_deltaw", + result.getScenarioLabel(i)); + facets.add(SalixLineProcessor.createSalixScenarioFacet(context, hash, this.id, result, i, 0, sublabel)); + } + } + else if (resultList.get(0) instanceof SalixLineCalculationSupraRegionalResult) { + final String sublabel = Resources.getMsg(context.getMeta(), "uinfo_salix_scenario_supraregional"); + facets.add(SalixLineProcessor.createSalixScenarioFacet(context, hash, this.id, resultList.get(0), 0, 0, sublabel)); + } + + else if (resultList.get(0) instanceof SalixLineCalculationHistoricalResult) { + final String sublabel = Resources.getMsg(context.getMeta(), "uinfo_salix_scenario_historical"); + facets.add(SalixLineProcessor.createSalixScenarioFacet(context, hash, this.id, resultList.get(0), 0, 0, sublabel)); + } final Facet csv = new DataFacet(FacetTypes.CSV, "CSV data", ComputeType.ADVANCE, hash, this.id); final Facet pdf = new DataFacet(FacetTypes.PDF, "PDF data", ComputeType.ADVANCE, hash, this.id);