comparison artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java @ 9246:c08d5cfa4981

some hibernate queries on bedheigts for salix
author gernotbelger
date Thu, 12 Jul 2018 11:15:42 +0200
parents b9505aa78cdd
children 600e1ac42049
comparison
equal deleted inserted replaced
9245:f5cff8708531 9246:c08d5cfa4981
81 81
82 rows.add(row1); 82 rows.add(row1);
83 result = new SalixLineCalculationNoScenarioResult("Ergebnis 1", null, rows); 83 result = new SalixLineCalculationNoScenarioResult("Ergebnis 1", null, rows);
84 } else { 84 } else {
85 85
86 if (scenario.equals("scenarioType.option1")) { 86 if (scenario.equals("scenarioType.option1")) { // REGIONAL
87 87
88 final int[] scenarios = accessSalix.getRegionalScenarioIntegers(); 88 final int[] scenarios = accessSalix.getRegionalScenarioIntegers();
89 final List<SalixScenario> list = new ArrayList<>(); 89 final List<SalixScenario> list = new ArrayList<>();
90 for (final int scen_val : scenarios) { 90 for (final int scen_val : scenarios) {
91 list.add(new SalixScenario(scen_val, 666.));// TODO: replace 666 by real calculated value 91 list.add(new SalixScenario(scen_val, 666.));// TODO: replace 666 by real calculated value
92 } 92 }
93 row1.putValue(UInfoResultType.customMultiRowColSalixRegionalValue_Dwspl, list);// 93 row1.putValue(UInfoResultType.customMultiRowColSalixRegionalValue_Dwspl, list);//
94 rows.add(row1); 94 rows.add(row1);
95 result = new SalixLineCalculationRegionalResult("Ergebnis 1 regional test", null, rows, scenarios); 95 result = new SalixLineCalculationRegionalResult("Ergebnis 1 regional test", null, rows, scenarios);
96 } else if (scenario.equals("scenarioType.option2")) { 96
97 // SupraRegional 97 } else if (scenario.equals("scenarioType.option2")) { // SUPRA-REGIONAL
98 98
99 final String supraRegional = accessSalix.getSupraRegionalString(); 99 final String supraRegional = accessSalix.getSupraRegionalString();
100 final List<SalixZone> list = SalixZone.parse(supraRegional); 100 final List<SalixZone> list = SalixZone.parse(supraRegional);
101 101
102 final Map<DoubleRange, SalixScenario> rangeScenarioMap = new HashMap<>(); 102 final Map<DoubleRange, SalixScenario> rangeScenarioMap = new HashMap<>();
110 final SalixScenario salixscen = new SalixScenario(zone.getDwsplValue(), salixValue); 110 final SalixScenario salixscen = new SalixScenario(zone.getDwsplValue(), salixValue);
111 111
112 rangeScenarioMap.put(zonerange, salixscen); 112 rangeScenarioMap.put(zonerange, salixscen);
113 } 113 }
114 114
115 // make calculation (replace 115 // make calculation
116 double currentKm = range.getMinimumDouble(); 116 double currentKm = range.getMinimumDouble();
117 final double step = 0.1; 117 final double step = 0.1; // TODO: get from global setting?
118 while (currentKm < range.getMaximumDouble()) { 118 while (currentKm < range.getMaximumDouble()) {
119 final ResultRow rowSupraRegional = ResultRow.create(). // 119 final ResultRow rowSupraRegional = ResultRow.create(). //
120 putValue(GeneralResultType.station, currentKm).// 120 putValue(GeneralResultType.station, currentKm).//
121 putValue(UInfoResultType.salixline, 28).// 121 putValue(UInfoResultType.salixline, 28).//
122 putValue(UInfoResultType.salix_delta_mw, 2); 122 putValue(UInfoResultType.salix_delta_mw, 2);
123 123
124 final SalixScenario scenarioCurrentKm = findScenarioByKm(currentKm, rangeScenarioMap); 124 final SalixScenario scenarioCurrentKm = findScenarioByKm(currentKm, rangeScenarioMap);
125 125
126 if (scenarioCurrentKm != null) { // should not happen, scenarioCurrentKm == 0 -> BUG 126 if (scenarioCurrentKm != null) { // should not happen, scenarioCurrentKm == null -> BUG
127 rowSupraRegional.putValue(UInfoResultType.salix_line_scenario, scenarioCurrentKm.getSalixValue()); 127 rowSupraRegional.putValue(UInfoResultType.salix_line_scenario, scenarioCurrentKm.getSalixValue());
128 rowSupraRegional.putValue(UInfoResultType.salix_line_scenario_dwspl, scenarioCurrentKm.getDwspl()); 128 rowSupraRegional.putValue(UInfoResultType.salix_line_scenario_dwspl, scenarioCurrentKm.getDwspl());
129 } 129 }
130 rows.add(rowSupraRegional); 130 rows.add(rowSupraRegional);
131 131
132 currentKm = currentKm + step; 132 currentKm = currentKm + step;
133 } 133 }
134 134
135 result = new SalixLineCalculationSupraRegionalResult("Ergebnis 1 supra regional test", null, rows); 135 result = new SalixLineCalculationSupraRegionalResult("Ergebnis 1 supra regional test", null, rows);
136 136
137 } else if (scenario.equals("scenarioType.option3")) { 137 } else if (scenario.equals("scenarioType.option3")) { // HISTORICAL
138 // historisch
139 row1.putValue(UInfoResultType.salixlinehist, 2).// 138 row1.putValue(UInfoResultType.salixlinehist, 2).//
140 putValue(UInfoResultType.salixlinescen, 82); 139 putValue(UInfoResultType.salixlinescen, 82);
141 } 140 }
142
143 } 141 }
144
145 results.addResult(result, problems); 142 results.addResult(result, problems);
146
147 return new CalculationResult(results, problems); 143 return new CalculationResult(results, problems);
148 } 144 }
149 145
150 private SalixScenario findScenarioByKm(final double km, final Map<DoubleRange, SalixScenario> rangeScenarioMap) { 146 private SalixScenario findScenarioByKm(final double km, final Map<DoubleRange, SalixScenario> rangeScenarioMap) {
151 final Iterator<DoubleRange> rangeIterator = rangeScenarioMap.keySet().iterator(); 147 final Iterator<DoubleRange> rangeIterator = rangeScenarioMap.keySet().iterator();
155 return rangeScenarioMap.get(range); 151 return rangeScenarioMap.get(range);
156 } 152 }
157 } 153 }
158 return null; 154 return null;
159 } 155 }
160
161 } 156 }

http://dive4elements.wald.intevation.org