comparison flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3056:0b5a7a2c3724

Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator flys-artifacts/trunk@4632 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Sun, 10 Jun 2012 11:12:38 +0000
parents 1fbf8462f808
children febc39e77672
comparison
equal deleted inserted replaced
3055:1fbf8462f808 3056:0b5a7a2c3724
1 package de.intevation.flys.exports.fixings; 1 package de.intevation.flys.exports.fixings;
2 2
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; 3 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
4 import de.intevation.flys.artifacts.model.FacetTypes; 4 import de.intevation.flys.artifacts.model.FacetTypes;
5 import de.intevation.flys.artifacts.model.WQDay; 5 import de.intevation.flys.artifacts.model.WQDay;
6 import de.intevation.flys.artifacts.model.fixings.FixFunction;
6 import de.intevation.flys.artifacts.model.fixings.QW; 7 import de.intevation.flys.artifacts.model.fixings.QW;
7 import de.intevation.flys.exports.ChartGenerator; 8 import de.intevation.flys.exports.ChartGenerator;
8 import de.intevation.flys.exports.XYChartGenerator; 9 import de.intevation.flys.exports.XYChartGenerator;
9 import de.intevation.flys.jfree.StyledXYSeries; 10 import de.intevation.flys.jfree.StyledXYSeries;
10 11
52 idx = c; 53 idx = c;
53 } 54 }
54 } 55 }
55 56
56 @Override 57 @Override
57 public void doOut(ArtifactAndFacet bundle, Document doc, boolean visible) { 58 public void doOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
58 String name = bundle.getFacetName(); 59 String name = aaf.getFacetName();
59 /* Object data;
60 try {
61 data = bundle.getData(context);
62 } catch(NullPointerException ex) { // FIXME it's crashing on every edge
63 logger.error("doOut Exception catched", ex);
64 data = new Object();
65 }*/
66 logger.debug("doOut: " + name); 60 logger.debug("doOut: " + name);
67 //logger.debug("doOut: data is instanceof " + data.toString()); 61
68
69 if(FIX_SECTOR_AVERAGE_WQ.equals(name)) { 62 if(FIX_SECTOR_AVERAGE_WQ.equals(name)) {
70 doSectorAverageOut(bundle, doc, visible); 63 doSectorAverageOut(aaf, doc, visible);
71 } else if(FIX_ANALYSIS_EVENTS_WQ.equals(name)) { 64 } else if(FIX_ANALYSIS_EVENTS_WQ.equals(name)) {
72 doAnalysisEventsOut(bundle, doc, visible); 65 doAnalysisEventsOut(aaf, doc, visible);
73 } else if(FIX_ANALYSIS_PERIODS_WQ.equals(name)) { 66 } else if(FIX_ANALYSIS_PERIODS_WQ.equals(name)) {
74 doAnalysisPeriodsOut(bundle, doc, visible); 67 doAnalysisPeriodsOut(aaf, doc, visible);
75 } else if(FIX_REFERENCE_EVENTS_WQ.equals(name)) { 68 } else if(FIX_REFERENCE_EVENTS_WQ.equals(name)) {
76 doReferenceEventsOut(bundle, doc, visible); 69 doReferenceEventsOut(aaf, doc, visible);
77 } else if(FIX_WQ_CURVE.equals(name)) { 70 } else if(FIX_WQ_CURVE.equals(name)) {
78 doWQOut(new QW(13.37, 42.23, "Unknown point", new Date()), bundle, doc, visible); 71 doWQCurveOut(aaf, doc, visible);
79 } else if(FIX_OUTLIER.equals(name)) { 72 } else if(FIX_OUTLIER.equals(name)) {
80 doOutlierOut(bundle, doc, visible); 73 doOutlierOut(aaf, doc, visible);
81 } else { 74 } else {
82 logger.warn("Unknown facet name " + name); 75 logger.warn("Unknown facet name " + name);
83 return; 76 return;
84 } 77 }
85 } 78 }
130 } 123 }
131 124
132 addAxisSeries(series, 0, visible); 125 addAxisSeries(series, 0, visible);
133 } 126 }
134 127
135 protected void doWQOut( 128 protected void doWQCurveOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
136 QW wqdays, 129 logger.debug("doWQCurveOut");
137 ArtifactAndFacet aaf,
138 Document theme,
139 boolean visible
140 ) {
141 logger.debug("doWQOut");
142 130
143 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme); 131 FixFunction func = (FixFunction)aaf.getData(context);
144 java.util.Random rand = new java.util.Random(1000);
145 int size = 10; //wqdays.size();
146 for (int i = 0; i < size; i++) {
147 //int day = wqdays.getDate(i);
148 //double q = wqdays.getQ(i);
149 132
150 series.add(rand.nextDouble(), rand.nextDouble()); 133 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc);
134 for (int q = 0; q <= func.getMaxQ(); q += 1.0) {
135 series.add(q, func.getFunction().value(q));
151 } 136 }
152 137
153 addAxisSeries(series, 0, visible); 138 addAxisSeries(series, 0, visible);
154 } 139 }
155 140

http://dive4elements.wald.intevation.org