comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/FlowDepthProcessor.java @ 9203:9831f6c60473

AbstractSInfoLineProcessor refactoring
author gernotbelger
date Mon, 02 Jul 2018 13:00:59 +0200
parents 23945061daec
children 08f46ccd37ba
comparison
equal deleted inserted replaced
9202:b4402594213b 9203:9831f6c60473
11 package org.dive4elements.river.artifacts.sinfo.common; 11 package org.dive4elements.river.artifacts.sinfo.common;
12 12
13 import java.util.HashSet; 13 import java.util.HashSet;
14 import java.util.Set; 14 import java.util.Set;
15 15
16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
16 import org.dive4elements.artifactdatabase.state.Facet; 17 import org.dive4elements.artifactdatabase.state.Facet;
17 import org.dive4elements.artifacts.CallContext; 18 import org.dive4elements.artifacts.CallContext;
18 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; 19 import org.dive4elements.river.artifacts.common.AbstractCalculationResult;
19 20 import org.dive4elements.river.exports.DiagramGenerator;
20 public final class FlowDepthProcessor extends AbstractSInfoLineProcessor<AbstractCalculationResult> { 21 import org.dive4elements.river.themes.ThemeDocument;
22
23 public final class FlowDepthProcessor extends AbstractSInfoProcessor {
21 24
22 private static final String AXIS_LABEL = "sinfo.chart.flow_depth.section.yaxis.label"; 25 private static final String AXIS_LABEL = "sinfo.chart.flow_depth.section.yaxis.label";
23 26
24 private static final String SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL = "sinfo.chart.flow_depth.yaxis.label"; 27 private static final String SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL = "sinfo.chart.flow_depth.yaxis.label";
25 28
100 103
101 public FlowDepthProcessor() { 104 public FlowDepthProcessor() {
102 super(AXIS_LABEL, HANDLED_FACET_TYPES); 105 super(AXIS_LABEL, HANDLED_FACET_TYPES);
103 } 106 }
104 107
105 @Override 108 protected SInfoResultType doGetType(final String facetName) {
106 protected double[][] doGetPoints(final AbstractCalculationResult data, final String facetName) {
107 109
108 if (FACET_FLOW_DEPTH_FILTERED.contentEquals(facetName)) 110 if (FACET_FLOW_DEPTH_FILTERED.contentEquals(facetName))
109 return data.getStationPoints(SInfoResultType.flowdepth); 111 return SInfoResultType.flowdepth;
110 if (FACET_FLOW_DEPTH_RAW.contentEquals(facetName)) 112 if (FACET_FLOW_DEPTH_RAW.contentEquals(facetName))
111 return data.getStationPoints(SInfoResultType.flowdepth); 113 return SInfoResultType.flowdepth;
112 114
113 if (FACET_FLOW_DEPTH_TKH_FILTERED.contentEquals(facetName)) 115 if (FACET_FLOW_DEPTH_TKH_FILTERED.contentEquals(facetName))
114 return data.getStationPoints(SInfoResultType.flowdepthtkh); 116 return SInfoResultType.flowdepthtkh;
115 if (FACET_FLOW_DEPTH_TKH_RAW.contentEquals(facetName)) 117 if (FACET_FLOW_DEPTH_TKH_RAW.contentEquals(facetName))
116 return data.getStationPoints(SInfoResultType.flowdepthtkh); 118 return SInfoResultType.flowdepthtkh;
117 119
118 if (FACET_FLOW_DEPTH_MIN_FILTERED.contentEquals(facetName)) 120 if (FACET_FLOW_DEPTH_MIN_FILTERED.contentEquals(facetName))
119 return data.getStationPoints(SInfoResultType.flowdepthmin); 121 return SInfoResultType.flowdepthmin;
120 if (FACET_FLOW_DEPTH_MIN_RAW.contentEquals(facetName)) 122 if (FACET_FLOW_DEPTH_MIN_RAW.contentEquals(facetName))
121 return data.getStationPoints(SInfoResultType.flowdepthmin); 123 return SInfoResultType.flowdepthmin;
122 124
123 if (FACET_FLOW_DEPTH_MAX_FILTERED.contentEquals(facetName)) 125 if (FACET_FLOW_DEPTH_MAX_FILTERED.contentEquals(facetName))
124 return data.getStationPoints(SInfoResultType.flowdepthmax); 126 return SInfoResultType.flowdepthmax;
125 if (FACET_FLOW_DEPTH_MAX_RAW.contentEquals(facetName)) 127 if (FACET_FLOW_DEPTH_MAX_RAW.contentEquals(facetName))
126 return data.getStationPoints(SInfoResultType.flowdepthmax); 128 return SInfoResultType.flowdepthmax;
127 129
128 if (FACET_FLOW_DEPTH_CURRENT_FILTERED.contentEquals(facetName)) 130 if (FACET_FLOW_DEPTH_CURRENT_FILTERED.contentEquals(facetName))
129 return data.getStationPoints(SInfoResultType.flowdepthCurrent); 131 return SInfoResultType.flowdepthCurrent;
130 if (FACET_FLOW_DEPTH_CURRENT_RAW.contentEquals(facetName)) 132 if (FACET_FLOW_DEPTH_CURRENT_RAW.contentEquals(facetName))
131 return data.getStationPoints(SInfoResultType.flowdepthCurrent); 133 return SInfoResultType.flowdepthCurrent;
132 134
133 if (FACET_FLOW_DEPTH_HISTORICAL_FILTERED.contentEquals(facetName)) 135 if (FACET_FLOW_DEPTH_HISTORICAL_FILTERED.contentEquals(facetName))
134 return data.getStationPoints(SInfoResultType.flowdepthHistorical); 136 return SInfoResultType.flowdepthHistorical;
135 if (FACET_FLOW_DEPTH_HISTORICAL_RAW.contentEquals(facetName)) 137 if (FACET_FLOW_DEPTH_HISTORICAL_RAW.contentEquals(facetName))
136 return data.getStationPoints(SInfoResultType.flowdepthHistorical); 138 return SInfoResultType.flowdepthHistorical;
137 139
138 final String error = String.format("Unknown facet name: %s", facetName); 140 final String error = String.format("Unknown facet name: %s", facetName);
139 throw new UnsupportedOperationException(error); 141 throw new UnsupportedOperationException(error);
140 } 142 }
141 143
142 public static Facet createFlowDepthFilteredFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 144 public static Facet createFlowDepthFilteredFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
143 final int index) { 145 final int index) {
144 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_FILTERED, 146 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_FILTERED,
145 FACET_FLOW_DEPTH_FILTERED_DESCRIPTION); 147 FACET_FLOW_DEPTH_FILTERED_DESCRIPTION);
146 } 148 }
147 149
148 public static Facet createFlowDepthRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 150 public static Facet createFlowDepthRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
149 final int index) { 151 final int index) {
150 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_RAW, 152 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_RAW,
151 FACET_FLOW_DEPTH_RAW_DESCRIPTION); 153 FACET_FLOW_DEPTH_RAW_DESCRIPTION);
152 } 154 }
153 155
154 public static Facet createFlowDepthTkhFilteredFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 156 public static Facet createFlowDepthTkhFilteredFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
155 final int index) { 157 final int index) {
156 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_TKH_FILTERED, 158 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_TKH_FILTERED,
157 FACET_FLOW_DEPTH_TKH_FILTERED_DESCRIPTION); 159 FACET_FLOW_DEPTH_TKH_FILTERED_DESCRIPTION);
158 } 160 }
159 161
160 public static Facet createFlowDepthTkhRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 162 public static Facet createFlowDepthTkhRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
161 final int index) { 163 final int index) {
162 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_TKH_RAW, 164 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_TKH_RAW,
163 FACET_FLOW_DEPTH_TKH_RAW_DESCRIPTION); 165 FACET_FLOW_DEPTH_TKH_RAW_DESCRIPTION);
164 } 166 }
165 167
166 public static Facet createFlowDepthMinFilteredFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 168 public static Facet createFlowDepthMinFilteredFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
167 final int index) { 169 final int index) {
168 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_MIN_FILTERED, 170 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_MIN_FILTERED,
169 FACET_FLOW_DEPTH_MIN_FILTERED_DESCRIPTION); 171 FACET_FLOW_DEPTH_MIN_FILTERED_DESCRIPTION);
170 } 172 }
171 173
172 public static Facet createFlowDepthMinRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 174 public static Facet createFlowDepthMinRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
173 final int index) { 175 final int index) {
174 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_MIN_RAW, 176 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_MIN_RAW,
175 FACET_FLOW_DEPTH_MIN_RAW_DESCRIPTION); 177 FACET_FLOW_DEPTH_MIN_RAW_DESCRIPTION);
176 } 178 }
177 179
178 public static Facet createFlowDepthMaxFilteredFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 180 public static Facet createFlowDepthMaxFilteredFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
179 final int index) { 181 final int index) {
180 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_MAX_FILTERED, 182 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_MAX_FILTERED,
181 FACET_FLOW_DEPTH_MAX_FILTERED_DESCRIPTION); 183 FACET_FLOW_DEPTH_MAX_FILTERED_DESCRIPTION);
182 } 184 }
183 185
184 public static Facet createFlowDepthMaxRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 186 public static Facet createFlowDepthMaxRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
185 final int index) { 187 final int index) {
186 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_MAX_RAW, 188 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_MAX_RAW,
187 FACET_FLOW_DEPTH_MAX_RAW_DESCRIPTION); 189 FACET_FLOW_DEPTH_MAX_RAW_DESCRIPTION);
188 } 190 }
189 191
190 public static Facet createFlowDepthCurrentFilteredFacet(final CallContext context, final String hash, final String id, 192 public static Facet createFlowDepthCurrentFilteredFacet(final CallContext context, final String hash, final String id,
191 final AbstractCalculationResult result, final int index) { 193 final AbstractCalculationResult result, final int index) {
192 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_CURRENT_FILTERED, 194 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_CURRENT_FILTERED,
193 FACET_FLOW_DEPTH_CURRENT_FILTERED_DESCRIPTION); 195 FACET_FLOW_DEPTH_CURRENT_FILTERED_DESCRIPTION);
194 } 196 }
195 197
196 public static Facet createFlowDepthCurrentRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 198 public static Facet createFlowDepthCurrentRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
197 final int index) { 199 final int index) {
198 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_CURRENT_RAW, 200 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_CURRENT_RAW,
199 FACET_FLOW_DEPTH_CURRENT_RAW_DESCRIPTION); 201 FACET_FLOW_DEPTH_CURRENT_RAW_DESCRIPTION);
200 } 202 }
201 203
202 public static Facet createFlowDepthHistoricalFilteredFacet(final CallContext context, final String hash, final String id, 204 public static Facet createFlowDepthHistoricalFilteredFacet(final CallContext context, final String hash, final String id,
203 final AbstractCalculationResult result, final int index) { 205 final AbstractCalculationResult result, final int index) {
204 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, 206 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_HISTORICAL_FILTERED,
205 FACET_FLOW_DEPTH_HISTORICAL_FILTERED, FACET_FLOW_DEPTH_HISTORICAL_FILTERED_DESCRIPTION); 207 FACET_FLOW_DEPTH_HISTORICAL_FILTERED_DESCRIPTION);
206 } 208 }
207 209
208 public static Facet createFlowDepthHistoricalRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 210 public static Facet createFlowDepthHistoricalRawFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
209 final int index) { 211 final int index) {
210 return AbstractSInfoLineProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_HISTORICAL_RAW, 212 return AbstractSInfoProcessor.createFacet(context, hash, id, result, index, SINFO_CHART_FLOW_DEPTH_YAXIS_LABEL, FACET_FLOW_DEPTH_HISTORICAL_RAW,
211 FACET_FLOW_DEPTH_HISTORICAL_RAW_DESCRIPTION); 213 FACET_FLOW_DEPTH_HISTORICAL_RAW_DESCRIPTION);
212 } 214 }
215
216 @Override
217 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) {
218
219 return buildSeriesForType(generator, bundle, theme, visible, doGetType(bundle.getFacetName()), GAP_DISTANCE);
220 }
213 } 221 }

http://dive4elements.wald.intevation.org