Mercurial > dive4elements > river
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"); |