comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculation.java @ 9229:0dcd1cd41915

Different themes/facets for left bank and right bank infrastructures in S-Info flood durations, some fixmes done
author mschaefer
date Thu, 05 Jul 2018 16:49:42 +0200
parents 0fc9c82e744e
children b515ed950d39
comparison
equal deleted inserted replaced
9228:dba14da43f23 9229:0dcd1cd41915
47 final RiverInfo riverInfo = new RiverInfo(river); 47 final RiverInfo riverInfo = new RiverInfo(river);
48 final DoubleRange calcRange = access.getRange(); 48 final DoubleRange calcRange = access.getRange();
49 49
50 final RiverInfoProvider infoProvider = RiverInfoProvider.forRange(this.context, river, calcRange); 50 final RiverInfoProvider infoProvider = RiverInfoProvider.forRange(this.context, river, calcRange);
51 final String calcModeLabel = Resources.getMsg(this.context.getMeta(), sinfo.getCalculationMode().name()); 51 final String calcModeLabel = Resources.getMsg(this.context.getMeta(), sinfo.getCalculationMode().name());
52 final String riverside = Resources.getMsg(this.context.getMeta(), access.getRiverside());
53 final Infrastructure infrasSeries = Infrastructure.getSeries(river); 52 final Infrastructure infrasSeries = Infrastructure.getSeries(river);
54 final String infrasType = (infrasSeries != null) ? infrasSeries.getType().getName() : "?"; 53 final String infrasType = (infrasSeries != null) ? infrasSeries.getType().getName() : "?";
54 final String label = infrasType + ", " + Resources.getMsg(this.context.getMeta(), access.getRiverside().getKey());
55 55
56 final Calculation problems = new Calculation(); 56 final Calculation problems = new Calculation();
57 57
58 // Calculate the selected main values, if any 58 // Calculate the selected main values, if any
59 /* misuse winfo-artifact to calculate waterlevels in the same way */ 59 /* misuse winfo-artifact to calculate waterlevels in the same way */
60 final WINFOArtifact winfo = new WinfoArtifactWrapper(sinfo); 60 final WINFOArtifact winfo = new WinfoArtifactWrapper(sinfo);
61 // TODO Aktivieren wenn Step-Eingabe im Workflow weg: winfo.addStringData("ld_step", "100");
61 62
62 final FloodDurationCalculationResults results = new FloodDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange); 63 final FloodDurationCalculationResults results = new FloodDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange);
63 64
64 final FloodDurationCalculationResult result = calculateResult(infrasType, riverside, calcRange, infoProvider, 65 final FloodDurationCalculationResult result = calculateResult(label, calcRange, infoProvider, access.getRiverside(), problems, winfo);
65 RiversideChoiceKey.fromKey(access.getRiverside()), problems, winfo);
66 results.addResult(result, problems); 66 results.addResult(result, problems);
67 67
68 return new CalculationResult(results, problems); 68 return new CalculationResult(results, problems);
69 } 69 }
70 70
71 /** 71 /**
72 * Calculates the flood durations of the infrastructures of a km range of a river 72 * Calculates the flood durations of the infrastructures of a km range of a river
73 */ 73 */
74 private FloodDurationCalculationResult calculateResult(final String infrastructureType, final String riverside, final DoubleRange calcRange, 74 private FloodDurationCalculationResult calculateResult(final String label, final DoubleRange calcRange, final RiverInfoProvider riverInfoProvider,
75 final RiverInfoProvider riverInfoProvider, final RiversideChoiceKey riversideKey, final Calculation problems, final WINFOArtifact winfo) { 75 final RiversideChoiceKey riverside, final Calculation problems, final WINFOArtifact winfo) {
76 76
77 final FloodDurationCalculator calculator = new FloodDurationCalculator(this.context, riverInfoProvider); 77 final FloodDurationCalculator calculator = new FloodDurationCalculator(this.context, riverInfoProvider);
78 final String label = infrastructureType + ", " + riverside; 78 return calculator.execute(problems, label, calcRange, riverside, winfo);
79 return calculator.execute(problems, label, calcRange, riversideKey, winfo);
80 } 79 }
81 } 80 }

http://dive4elements.wald.intevation.org