comparison 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
comparison
equal deleted inserted replaced
9315:2ff46d921917 9316:72b3270e1568
19 import org.dive4elements.river.artifacts.model.CalculationResult; 19 import org.dive4elements.river.artifacts.model.CalculationResult;
20 import org.dive4elements.river.artifacts.model.DataFacet; 20 import org.dive4elements.river.artifacts.model.DataFacet;
21 import org.dive4elements.river.artifacts.model.EmptyFacet; 21 import org.dive4elements.river.artifacts.model.EmptyFacet;
22 import org.dive4elements.river.artifacts.model.FacetTypes; 22 import org.dive4elements.river.artifacts.model.FacetTypes;
23 import org.dive4elements.river.artifacts.model.ReportFacet; 23 import org.dive4elements.river.artifacts.model.ReportFacet;
24 import org.dive4elements.river.artifacts.resources.Resources;
24 import org.dive4elements.river.artifacts.states.DefaultState; 25 import org.dive4elements.river.artifacts.states.DefaultState;
25 import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; 26 import org.dive4elements.river.artifacts.uinfo.UINFOArtifact;
26 27
27 /** 28 /**
28 * @author Domenico Nardi Tironi 29 * @author Domenico Nardi Tironi
66 * Compute result or returned object from cache, create facets. 67 * Compute result or returned object from cache, create facets.
67 * 68 *
68 * @param old 69 * @param old
69 * Object that was cached. 70 * Object that was cached.
70 */ 71 */
71 private Object compute(final UINFOArtifact sinfo, final CallContext context, final String hash, final List<Facet> facets, final Object old) { 72 private Object compute(final UINFOArtifact uinfo, final CallContext context, final String hash, final List<Facet> facets, final Object old) {
72 73
73 final CalculationResult res = doCompute(sinfo, context, old); 74 final CalculationResult res = doCompute(uinfo, context, old);
74 75
75 if (facets == null) 76 if (facets == null)
76 return res; 77 return res;
77 78
78 final SalixLineCalculationResults results = (SalixLineCalculationResults) res.getData(); 79 final SalixLineCalculationResults results = (SalixLineCalculationResults) res.getData();
79 80
80 final List<SalixLineCalculationNoScenarioResult> resultList = results.getResults(); 81 final List<SalixLineCalculationNoScenarioResult> resultList = results.getResults();
81 82
82 if (!resultList.isEmpty()) { 83 if (!resultList.isEmpty()) {
83 facets.add(SalixLineProcessor.createSalixLineFacet(context, hash, this.id, resultList.get(0), 0, 0, "Salix-Linie")); 84 facets.add(SalixLineProcessor.createSalixLineFacet(context, hash, this.id, resultList.get(0), 0, 0));
84 facets.add(SalixLineProcessor.createSalixMnwMwFacet(context, hash, this.id, resultList.get(0), 0, 0, "MNW-MW")); 85 facets.add(SalixLineProcessor.createSalixMnwMwFacet(context, hash, this.id, resultList.get(0), 0, 0));
86 if (resultList.get(0) instanceof SalixLineCalculationRegionalResult) {
87 final SalixLineCalculationRegionalResult result = (SalixLineCalculationRegionalResult) resultList.get(0);
88 for (int i = 0; i <= result.getScenarioCount() - 1; i++) {
89 final String sublabel = Resources.getMsg(context.getMeta(), "uinfo_salix_scenario_deltaw", "uinfo_salix_scenario_deltaw",
90 result.getScenarioLabel(i));
91 facets.add(SalixLineProcessor.createSalixScenarioFacet(context, hash, this.id, result, i, 0, sublabel));
92 }
93 }
94 else if (resultList.get(0) instanceof SalixLineCalculationSupraRegionalResult) {
95 final String sublabel = Resources.getMsg(context.getMeta(), "uinfo_salix_scenario_supraregional");
96 facets.add(SalixLineProcessor.createSalixScenarioFacet(context, hash, this.id, resultList.get(0), 0, 0, sublabel));
97 }
98
99 else if (resultList.get(0) instanceof SalixLineCalculationHistoricalResult) {
100 final String sublabel = Resources.getMsg(context.getMeta(), "uinfo_salix_scenario_historical");
101 facets.add(SalixLineProcessor.createSalixScenarioFacet(context, hash, this.id, resultList.get(0), 0, 0, sublabel));
102 }
85 103
86 final Facet csv = new DataFacet(FacetTypes.CSV, "CSV data", ComputeType.ADVANCE, hash, this.id); 104 final Facet csv = new DataFacet(FacetTypes.CSV, "CSV data", ComputeType.ADVANCE, hash, this.id);
87 final Facet pdf = new DataFacet(FacetTypes.PDF, "PDF data", ComputeType.ADVANCE, hash, this.id); 105 final Facet pdf = new DataFacet(FacetTypes.PDF, "PDF data", ComputeType.ADVANCE, hash, this.id);
88 106
89 facets.add(csv); 107 facets.add(csv);

http://dive4elements.wald.intevation.org