comparison flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3729:e727e3ebdf85

Factored out a pure QW model to be more reusable. flys-artifacts/trunk@5402 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sat, 08 Sep 2012 14:19:40 +0000
parents 66f539df4e8b
children 6a08f4dc790b
comparison
equal deleted inserted replaced
3728:d03e65378b9f 3729:e727e3ebdf85
12 import de.intevation.flys.artifacts.model.QWDDateRange; 12 import de.intevation.flys.artifacts.model.QWDDateRange;
13 import de.intevation.flys.artifacts.model.WKms; 13 import de.intevation.flys.artifacts.model.WKms;
14 import de.intevation.flys.artifacts.model.WQKms; 14 import de.intevation.flys.artifacts.model.WQKms;
15 import de.intevation.flys.artifacts.model.fixings.FixFunction; 15 import de.intevation.flys.artifacts.model.fixings.FixFunction;
16 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet; 16 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet;
17 import de.intevation.flys.artifacts.model.fixings.QW; 17 import de.intevation.flys.artifacts.model.fixings.QWI;
18 import de.intevation.flys.artifacts.model.fixings.QWD; 18 import de.intevation.flys.artifacts.model.fixings.QWD;
19 import de.intevation.flys.artifacts.resources.Resources; 19 import de.intevation.flys.artifacts.resources.Resources;
20 import de.intevation.flys.exports.ChartGenerator; 20 import de.intevation.flys.exports.ChartGenerator;
21 import de.intevation.flys.exports.StyledSeriesBuilder; 21 import de.intevation.flys.exports.StyledSeriesBuilder;
22 import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation; 22 import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation;
198 198
199 /** Add reference event points to chart */ 199 /** Add reference event points to chart */
200 protected void doReferenceEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) { 200 protected void doReferenceEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
201 logger.debug("doReferenceEventsOut"); 201 logger.debug("doReferenceEventsOut");
202 202
203 QW qwd = (QW)aaf.getData(context); 203 QWI qwd = (QWI)aaf.getData(context);
204 if(qwd != null) { 204 if(qwd != null) {
205 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc); 205 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc);
206 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>(); 206 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>();
207 207
208 DateFormat dateFormat = DateFormat.getDateInstance( 208 DateFormat dateFormat = DateFormat.getDateInstance(
259 } 259 }
260 260
261 protected void doOutlierOut(ArtifactAndFacet aaf, Document doc, boolean visible) { 261 protected void doOutlierOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
262 logger.debug("doOutlierOut"); 262 logger.debug("doOutlierOut");
263 263
264 QW[] qws = (QW[])aaf.getData(context); 264 QWI[] qws = (QWI[])aaf.getData(context);
265 addQWSeries(qws, aaf, doc, visible); 265 addQWSeries(qws, aaf, doc, visible);
266 } 266 }
267 267
268 268
269 /** Add markers for q sectors. */ 269 /** Add markers for q sectors. */
429 addAxisSeries(series, YAXIS.W.idx, visible); 429 addAxisSeries(series, YAXIS.W.idx, visible);
430 } 430 }
431 } 431 }
432 432
433 433
434 protected void addQWSeries(QW[] qws, ArtifactAndFacet aaf, Document theme, boolean visible) { 434 protected void addQWSeries(
435 if(qws != null) { 435 QWI [] qws,
436 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme); 436 ArtifactAndFacet aaf,
437 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>(); 437 Document theme,
438 438 boolean visible
439 DateFormat dateFormat = DateFormat.getDateInstance( 439 ) {
440 DateFormat.SHORT); 440 if (qws == null) {
441 441 return;
442 for(QW qw : qws) { 442 }
443 series.add(qw.getQ(), qw.getW()); 443
444 444 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme);
445 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation( 445 List<XYTextAnnotation> textAnnos =
446 dateFormat.format(qw.getDate()), 446 new ArrayList<XYTextAnnotation>(qws.length);
447 qw.getQ(), 447
448 qw.getW()); 448 DateFormat dateFormat = DateFormat.getDateInstance(
449 textAnnos.add(anno); 449 DateFormat.SHORT);
450 } 450
451 451 for (QWI qw: qws) {
452 addAxisSeries(series, 0, visible); 452 series.add(qw.getQ(), qw.getW());
453 if(visible && ThemeUtil.parseShowPointLabel(theme)) { 453
454 FLYSAnnotation flysAnno = new FLYSAnnotation(null, null, null, theme); 454 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation(
455 flysAnno.setTextAnnotations(textAnnos); 455 dateFormat.format(qw.getDate()),
456 addAnnotations(flysAnno); 456 qw.getQ(),
457 } 457 qw.getW());
458 textAnnos.add(anno);
459 }
460
461 addAxisSeries(series, 0, visible);
462 if (visible && ThemeUtil.parseShowPointLabel(theme)) {
463 FLYSAnnotation flysAnno =
464 new FLYSAnnotation(null, null, null, theme);
465 flysAnno.setTextAnnotations(textAnnos);
466 addAnnotations(flysAnno);
458 } 467 }
459 } 468 }
460 469
461 @Override 470 @Override
462 protected String getChartTitle() { 471 protected String getChartTitle() {

http://dive4elements.wald.intevation.org