comparison gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java @ 439:8975de9d7483

Loop through configuration to chart generation. gnv-artifacts/trunk@487 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 28 Dec 2009 16:24:05 +0000
parents bed9735adf84
children eb2ac62e853a
comparison
equal deleted inserted replaced
438:7399bb8f83ea 439:8975de9d7483
32 import de.intevation.gnv.chart.ChartLabels; 32 import de.intevation.gnv.chart.ChartLabels;
33 import de.intevation.gnv.chart.HorizontalCrossProfileChart; 33 import de.intevation.gnv.chart.HorizontalCrossProfileChart;
34 34
35 import de.intevation.gnv.utils.DistanceCalculator; 35 import de.intevation.gnv.utils.DistanceCalculator;
36 import de.intevation.gnv.utils.WKTUtils; 36 import de.intevation.gnv.utils.WKTUtils;
37 import de.intevation.gnv.utils.StringUtils;
38
39 import de.intevation.artifacts.CallContext;
37 40
38 import org.jfree.chart.ChartTheme; 41 import org.jfree.chart.ChartTheme;
39 42
40 import com.vividsolutions.jts.geom.Coordinate; 43 import com.vividsolutions.jts.geom.Coordinate;
41 import com.vividsolutions.jts.geom.LineString; 44 import com.vividsolutions.jts.geom.LineString;
42 import com.vividsolutions.jts.io.WKTReader; 45 import com.vividsolutions.jts.io.WKTReader;
43
44 46
45 /** 47 /**
46 * @author Tim Englich <tim.englich@intevation.de> 48 * @author Tim Englich <tim.englich@intevation.de>
47 * 49 *
48 */ 50 */
90 Collection dates, 92 Collection dates,
91 Object result, 93 Object result,
92 Locale locale, 94 Locale locale,
93 String uuid, 95 String uuid,
94 boolean linesVisible, 96 boolean linesVisible,
95 boolean shapesVisible 97 boolean shapesVisible,
98 CallContext callContext
96 ) { 99 ) {
97 Chart chart = null; 100 Chart chart = null;
98 if (CACHE_CHART) { 101 if (CACHE_CHART) {
99 log.info("Try to get horizontalprofilemeshcross chart from cache."); 102 log.info("Try to get horizontalprofilemeshcross chart from cache.");
100 chart = (Chart) getChartFromCache(uuid); 103 chart = (Chart) getChartFromCache(uuid, callContext);
101 } 104 }
102 105
103 if (chart != null) 106 if (chart != null)
104 return chart; 107 return chart;
105 108
125 128
126 return chart; 129 return chart;
127 } 130 }
128 131
129 @Override 132 @Override
130 protected Object getChartResult(String uuid) { 133 protected Object getChartResult(String uuid, CallContext callContext) {
131 log.debug("HorizontalProfileMeshCrossOutputState.getChartResult"); 134 log.debug("HorizontalProfileMeshCrossOutputState.getChartResult");
132 Collection<Result> result = null; 135 Collection<Result> result = null;
133 if (CacheFactory.getInstance().isInitialized()) { 136 if (CacheFactory.getInstance().isInitialized()) {
134 String key = uuid + super.getID(); 137 String key = uuid + super.getID();
135 log.debug("Hash for Queryelements: " + key); 138 log.debug("Hash for Queryelements: " + key);
225 DefaultResultDescriptor resultDescriptor = 228 DefaultResultDescriptor resultDescriptor =
226 new DefaultResultDescriptor(); 229 new DefaultResultDescriptor();
227 230
228 for (int j = 0; j < columns; ++j) { 231 for (int j = 0; j < columns; ++j) {
229 String columnName = rd.getColumnName(j); 232 String columnName = rd.getColumnName(j);
230 if (!blacklisted(columnName)) { 233 if (!StringUtils.contains(COLUMN_BLACKLIST, columnName)) {
231 resultDescriptor.addColumn( 234 resultDescriptor.addColumn(
232 columnName, 235 columnName,
233 rd.getColumnClassName(j)); 236 rd.getColumnClassName(j));
234 } 237 }
235 } 238 }
259 log.debug("------ number of points after processing: " + output.size()); 262 log.debug("------ number of points after processing: " + output.size());
260 263
261 return output; 264 return output;
262 } 265 }
263 266
264
265 private static final boolean blacklisted(String column) {
266 for (int i = 0; i < COLUMN_BLACKLIST.length; ++i) {
267 if (COLUMN_BLACKLIST.equals(column)) {
268 return true;
269 }
270 }
271 return false;
272 }
273 267
274 private static final String [] DIFF_COLUMS = { 268 private static final String [] DIFF_COLUMS = {
275 "GROUP1", 269 "GROUP1",
276 "GROUP2", 270 "GROUP2",
277 "GROUP3" 271 "GROUP3"
365 ResultDescriptor pd = prototyp.getResultDescriptor(); 359 ResultDescriptor pd = prototyp.getResultDescriptor();
366 360
367 int pcolums = pd.getColumnCount(); 361 int pcolums = pd.getColumnCount();
368 for (int i = 0, j = 0; i < pcolums; ++i) { 362 for (int i = 0, j = 0; i < pcolums; ++i) {
369 String colname = pd.getColumnName(i); 363 String colname = pd.getColumnName(i);
370 if (blacklisted(colname)) { 364 if (StringUtils.contains(COLUMN_BLACKLIST, colname)) {
371 continue; 365 continue;
372 } 366 }
373 if (colname.equals("SHAPE")) { 367 if (colname.equals("SHAPE")) {
374 result.addColumnValue(j, WKTUtils.toWKT(coordinate)); 368 result.addColumnValue(j, WKTUtils.toWKT(coordinate));
375 } 369 }

http://dive4elements.wald.intevation.org