comparison flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3081:26119b7b3154

Fixing output generator hacking flys-artifacts/trunk@4677 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Sun, 17 Jun 2012 20:45:01 +0000
parents 5642a83420f2
children ba7df29264cd
comparison
equal deleted inserted replaced
3080:dc2765e31e1f 3081:26119b7b3154
4 4
5 import de.intevation.flys.artifacts.model.FacetTypes; 5 import de.intevation.flys.artifacts.model.FacetTypes;
6 6
7 import de.intevation.flys.artifacts.model.fixings.DateRange; 7 import de.intevation.flys.artifacts.model.fixings.DateRange;
8 import de.intevation.flys.artifacts.model.fixings.FixFunction; 8 import de.intevation.flys.artifacts.model.fixings.FixFunction;
9 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet;
9 import de.intevation.flys.artifacts.model.fixings.QW; 10 import de.intevation.flys.artifacts.model.fixings.QW;
10 import de.intevation.flys.artifacts.model.fixings.QWD; 11 import de.intevation.flys.artifacts.model.fixings.QWD;
11 12
12 import de.intevation.flys.exports.ChartGenerator; 13 import de.intevation.flys.exports.ChartGenerator;
13 import de.intevation.flys.exports.XYChartGenerator; 14 import de.intevation.flys.exports.XYChartGenerator;
93 logger.debug("doSectorAverageOut"); 94 logger.debug("doSectorAverageOut");
94 95
95 QWD[] qwds = (QWD[])aaf.getData(context); 96 QWD[] qwds = (QWD[])aaf.getData(context);
96 97
97 if(qwds != null) { 98 if(qwds != null) {
98 // Draw vertical markers 99 // TODO
99 for(QWD qwd : qwds) {
100 if (qwd != null) {
101 addDomainMarker(new ValueMarker(qwd.getQ()));
102 }
103 }
104 } 100 }
105 } 101 }
106 102
107 protected void doAnalysisEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) { 103 protected void doAnalysisEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
108 logger.debug("doAnalysisEventsOut"); 104 logger.debug("doAnalysisEventsOut");
133 } 129 }
134 130
135 protected void doWQCurveOut(ArtifactAndFacet aaf, Document doc, boolean visible) { 131 protected void doWQCurveOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
136 logger.debug("doWQCurveOut"); 132 logger.debug("doWQCurveOut");
137 133
138 FixFunction func = (FixFunction)aaf.getData(context); 134 FixWQCurveFacet facet = (FixWQCurveFacet)aaf.getFacet();
135 FixFunction func = (FixFunction)facet.getData(
136 aaf.getArtifact(), context, getCurrentKmFromRequest());
139 137
140 if (func == null) { 138 if (func == null) {
139 logger.warn("doWQCurveOut: Facet does not contain FixFunction");
141 return; 140 return;
142 } 141 }
143 142
144 if(func.getMaxQ() > 0) { 143 double maxQ = func.getMaxQ();
144 maxQ = Math.min(2000.0, Math.abs(maxQ));
145 maxQ += maxQ * 0.05;
146
147 if(maxQ > 0) {
145 XYSeries series = DatasetUtilities.sampleFunction2DToSeries( 148 XYSeries series = DatasetUtilities.sampleFunction2DToSeries(
146 new Function2DAdapter(func.getFunction()), 149 new Function2DAdapter(func.getFunction()),
147 0, // start 150 0, // start
148 func.getMaxQ(), // end 151 func.getMaxQ(), // end
149 500, // number of samples 152 500, // number of samples
150 aaf.getFacetDescription()); 153 aaf.getFacetDescription());
151 addAxisSeries(series, 0, visible); 154 addAxisSeries(series, 0, visible);
152 } 155 }
153 else { 156 else {
154 logger.warn("doWQCurveOut: func.getMaxQ() returns 0"); 157 logger.warn("doWQCurveOut: maxQ <= 0");
155 } 158 }
156 } 159 }
157 160
158 protected void doOutlierOut(ArtifactAndFacet aaf, Document doc, boolean visible) { 161 protected void doOutlierOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
159 logger.debug("doOutlierOut"); 162 logger.debug("doOutlierOut");

http://dive4elements.wald.intevation.org