Mercurial > dive4elements > gnv-client
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 } |