Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/ChartGenerator2.java @ 8202:e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Fri, 05 Sep 2014 12:58:17 +0200 |
parents | e1b49fc9d2b5 |
children | c04c66839288 |
comparison
equal
deleted
inserted
replaced
8201:4b8c5a08de04 | 8202:e4606eae8ea5 |
---|---|
77 * It should provide some basic things that equal in all chart types. | 77 * It should provide some basic things that equal in all chart types. |
78 * | 78 * |
79 */ | 79 */ |
80 public abstract class ChartGenerator2 implements OutGenerator { | 80 public abstract class ChartGenerator2 implements OutGenerator { |
81 | 81 |
82 private static Logger logger = Logger.getLogger(ChartGenerator2.class); | 82 private static Logger log = Logger.getLogger(ChartGenerator2.class); |
83 | 83 |
84 public static final boolean USE_NOP_GRAPHICS = | 84 public static final boolean USE_NOP_GRAPHICS = |
85 Boolean.getBoolean("info.rendering.nop.graphics"); | 85 Boolean.getBoolean("info.rendering.nop.graphics"); |
86 | 86 |
87 | 87 |
257 * Generate chart. | 257 * Generate chart. |
258 */ | 258 */ |
259 @Override | 259 @Override |
260 public void generate() throws IOException { | 260 public void generate() throws IOException { |
261 | 261 |
262 logger.debug("ChartGenerator2.generate"); | 262 log.debug("ChartGenerator2.generate"); |
263 | 263 |
264 if (outName.indexOf("chartinfo") > 0) { | 264 if (outName.indexOf("chartinfo") > 0) { |
265 generateInfo(); | 265 generateInfo(); |
266 } | 266 } |
267 else { | 267 else { |
271 | 271 |
272 | 272 |
273 /** Generate only meta infos */ | 273 /** Generate only meta infos */ |
274 private void generateInfo() throws IOException { | 274 private void generateInfo() throws IOException { |
275 | 275 |
276 logger.debug("ChartInfoGenerator2.generateInfo"); | 276 log.debug("ChartInfoGenerator2.generateInfo"); |
277 | 277 |
278 JFreeChart chart = generateChart(); | 278 JFreeChart chart = generateChart(); |
279 | 279 |
280 int[] size = getSize(); | 280 int[] size = getSize(); |
281 if (size == null) { | 281 if (size == null) { |
306 size[0], size[1], Transparency.BITMASK, info); | 306 size[0], size[1], Transparency.BITMASK, info); |
307 } | 307 } |
308 | 308 |
309 long stopTime = System.currentTimeMillis(); | 309 long stopTime = System.currentTimeMillis(); |
310 | 310 |
311 if (logger.isDebugEnabled()) { | 311 if (log.isDebugEnabled()) { |
312 logger.debug("Rendering info took: " + | 312 log.debug("Rendering info took: " + |
313 (stopTime-startTime) + "ms"); | 313 (stopTime-startTime) + "ms"); |
314 } | 314 } |
315 | 315 |
316 | 316 |
317 InfoGeneratorHelper2 helper = new InfoGeneratorHelper2(this); | 317 InfoGeneratorHelper2 helper = new InfoGeneratorHelper2(this); |
320 XMLUtils.toStream(doc, out); | 320 XMLUtils.toStream(doc, out); |
321 } | 321 } |
322 | 322 |
323 /** Generate the diagram as an image. */ | 323 /** Generate the diagram as an image. */ |
324 private void generateImage() throws IOException { | 324 private void generateImage() throws IOException { |
325 logger.debug("ChartGenerator2.generateImage"); | 325 log.debug("ChartGenerator2.generateImage"); |
326 | 326 |
327 JFreeChart chart = generateChart(); | 327 JFreeChart chart = generateChart(); |
328 | 328 |
329 String format = getFormat(); | 329 String format = getFormat(); |
330 int[] size = getSize(); | 330 int[] size = getSize(); |
371 } | 371 } |
372 | 372 |
373 | 373 |
374 @Override | 374 @Override |
375 public void init(String outName, Document request, OutputStream out, CallContext context) { | 375 public void init(String outName, Document request, OutputStream out, CallContext context) { |
376 logger.debug("ChartGenerator2.init"); | 376 log.debug("ChartGenerator2.init"); |
377 | 377 |
378 this.outName = outName; | 378 this.outName = outName; |
379 this.request = request; | 379 this.request = request; |
380 this.out = out; | 380 this.out = out; |
381 this.context = context; | 381 this.context = context; |
947 AxisDataset axisDataset = getAxisDataset(idx); | 947 AxisDataset axisDataset = getAxisDataset(idx); |
948 | 948 |
949 Bounds[] xyBounds = ChartHelper.getBounds(dataset); | 949 Bounds[] xyBounds = ChartHelper.getBounds(dataset); |
950 | 950 |
951 if (xyBounds == null) { | 951 if (xyBounds == null) { |
952 logger.warn("Skip XYDataset for Axis (invalid ranges): " + idx); | 952 log.warn("Skip XYDataset for Axis (invalid ranges): " + idx); |
953 return; | 953 return; |
954 } | 954 } |
955 | 955 |
956 if (visible) { | 956 if (visible) { |
957 if (logger.isDebugEnabled()) { | 957 if (log.isDebugEnabled()) { |
958 logger.debug("Add new AxisDataset at index: " + idx); | 958 log.debug("Add new AxisDataset at index: " + idx); |
959 logger.debug("X extent: " + xyBounds[0]); | 959 log.debug("X extent: " + xyBounds[0]); |
960 logger.debug("Y extent: " + xyBounds[1]); | 960 log.debug("Y extent: " + xyBounds[1]); |
961 } | 961 } |
962 | 962 |
963 axisDataset.addDataset(dataset); | 963 axisDataset.addDataset(dataset); |
964 } | 964 } |
965 | 965 |
1107 try { | 1107 try { |
1108 size[0] = Integer.parseInt(w); | 1108 size[0] = Integer.parseInt(w); |
1109 size[1] = Integer.parseInt(h); | 1109 size[1] = Integer.parseInt(h); |
1110 } | 1110 } |
1111 catch (NumberFormatException nfe) { | 1111 catch (NumberFormatException nfe) { |
1112 logger.warn("Wrong values for chart width/height."); | 1112 log.warn("Wrong values for chart width/height."); |
1113 } | 1113 } |
1114 } | 1114 } |
1115 } | 1115 } |
1116 | 1116 |
1117 return size[0] > 0 && size[1] > 0 ? size : null; | 1117 return size[0] > 0 && size[1] > 0 ? size : null; |
1205 * datasets is mapped to a specific axis as well. | 1205 * datasets is mapped to a specific axis as well. |
1206 * | 1206 * |
1207 * @param plot plot to add datasets to. | 1207 * @param plot plot to add datasets to. |
1208 */ | 1208 */ |
1209 protected void addDatasets(XYPlot plot) { | 1209 protected void addDatasets(XYPlot plot) { |
1210 logger.debug("addDatasets()"); | 1210 log.debug("addDatasets()"); |
1211 | 1211 |
1212 // AxisDatasets are sorted, but some might be empty. | 1212 // AxisDatasets are sorted, but some might be empty. |
1213 // Thus, generate numbering on the fly. | 1213 // Thus, generate numbering on the fly. |
1214 int axisIndex = 0; | 1214 int axisIndex = 0; |
1215 int datasetIndex = 0; | 1215 int datasetIndex = 0; |
1277 * @param plot The plot. | 1277 * @param plot The plot. |
1278 * @param dataset The XYDataset which needs to support Series objects. | 1278 * @param dataset The XYDataset which needs to support Series objects. |
1279 * @param idx The index of the renderer / dataset. | 1279 * @param idx The index of the renderer / dataset. |
1280 */ | 1280 */ |
1281 protected void applyLineTheme(XYPlot plot, XYDataset dataset, int idx) { | 1281 protected void applyLineTheme(XYPlot plot, XYDataset dataset, int idx) { |
1282 logger.debug("Apply LineTheme for dataset at index: " + idx); | 1282 log.debug("Apply LineTheme for dataset at index: " + idx); |
1283 | 1283 |
1284 LegendItemCollection lic = new LegendItemCollection(); | 1284 LegendItemCollection lic = new LegendItemCollection(); |
1285 LegendItemCollection anno = plot.getFixedLegendItems(); | 1285 LegendItemCollection anno = plot.getFixedLegendItems(); |
1286 | 1286 |
1287 Font legendFont = createLegendLabelFont(); | 1287 Font legendFont = createLegendLabelFont(); |
1312 if (legendItem != null) { | 1312 if (legendItem != null) { |
1313 legendItem.setLabelFont(legendFont); | 1313 legendItem.setLabelFont(legendFont); |
1314 lic.add(legendItem); | 1314 lic.add(legendItem); |
1315 } | 1315 } |
1316 else { | 1316 else { |
1317 logger.warn("Could not get LegentItem for renderer: " | 1317 log.warn("Could not get LegentItem for renderer: " |
1318 + idx + ", series-idx " + s); | 1318 + idx + ", series-idx " + s); |
1319 } | 1319 } |
1320 } | 1320 } |
1321 | 1321 |
1322 if (anno != null) { | 1322 if (anno != null) { |
1342 LegendItemCollection lic = new LegendItemCollection(); | 1342 LegendItemCollection lic = new LegendItemCollection(); |
1343 LegendItemCollection anno = plot.getFixedLegendItems(); | 1343 LegendItemCollection anno = plot.getFixedLegendItems(); |
1344 | 1344 |
1345 Font legendFont = createLegendLabelFont(); | 1345 Font legendFont = createLegendLabelFont(); |
1346 | 1346 |
1347 logger.debug("Registering an 'area'renderer at idx: " + idx); | 1347 log.debug("Registering an 'area'renderer at idx: " + idx); |
1348 | 1348 |
1349 StableXYDifferenceRenderer dRenderer = | 1349 StableXYDifferenceRenderer dRenderer = |
1350 new StableXYDifferenceRenderer(); | 1350 new StableXYDifferenceRenderer(); |
1351 | 1351 |
1352 if (area.getMode() == StyledAreaSeriesCollection.FILL_MODE.UNDER) { | 1352 if (area.getMode() == StyledAreaSeriesCollection.FILL_MODE.UNDER) { |
1367 if (legendItem != null) { | 1367 if (legendItem != null) { |
1368 legendItem.setLabelFont(legendFont); | 1368 legendItem.setLabelFont(legendFont); |
1369 lic.add(legendItem); | 1369 lic.add(legendItem); |
1370 } | 1370 } |
1371 else { | 1371 else { |
1372 logger.warn("Could not get LegentItem for renderer: " | 1372 log.warn("Could not get LegentItem for renderer: " |
1373 + idx + ", series-idx " + 0); | 1373 + idx + ", series-idx " + 0); |
1374 } | 1374 } |
1375 | 1375 |
1376 if (anno != null) { | 1376 if (anno != null) { |
1377 lic.addAll(anno); | 1377 lic.addAll(anno); |
1408 * @param idx This value is not used in the current implementation. | 1408 * @param idx This value is not used in the current implementation. |
1409 * | 1409 * |
1410 * @return a new instance of EnhancedLineAndShapeRenderer. | 1410 * @return a new instance of EnhancedLineAndShapeRenderer. |
1411 */ | 1411 */ |
1412 protected XYLineAndShapeRenderer createRenderer(XYPlot plot, int idx) { | 1412 protected XYLineAndShapeRenderer createRenderer(XYPlot plot, int idx) { |
1413 logger.debug("Create EnhancedLineAndShapeRenderer for idx: " + idx); | 1413 log.debug("Create EnhancedLineAndShapeRenderer for idx: " + idx); |
1414 | 1414 |
1415 EnhancedLineAndShapeRenderer r = | 1415 EnhancedLineAndShapeRenderer r = |
1416 new EnhancedLineAndShapeRenderer(true, false); | 1416 new EnhancedLineAndShapeRenderer(true, false); |
1417 | 1417 |
1418 r.setPlot(plot); | 1418 r.setPlot(plot); |