comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java @ 1712:7e19449d7826

#253 Modified the title creation of chart curves - titles will now equal the Facet's description. flys-artifacts/trunk@2984 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 17 Oct 2011 10:47:36 +0000
parents 022f62c75878
children 9144e5a5027b
comparison
equal deleted inserted replaced
1711:f708120cb7bc 1712:7e19449d7826
1 package de.intevation.flys.artifacts.states; 1 package de.intevation.flys.artifacts.states;
2 2
3 import java.util.Date;
3 import java.util.List; 4 import java.util.List;
4 5
5 import org.apache.log4j.Logger; 6 import org.apache.log4j.Logger;
6 7
7 import org.w3c.dom.Element; 8 import org.w3c.dom.Element;
13 14
14 import de.intevation.artifactdatabase.ProtocolUtils; 15 import de.intevation.artifactdatabase.ProtocolUtils;
15 import de.intevation.artifactdatabase.data.StateData; 16 import de.intevation.artifactdatabase.data.StateData;
16 import de.intevation.artifactdatabase.state.Facet; 17 import de.intevation.artifactdatabase.state.Facet;
17 18
19 import de.intevation.flys.model.DischargeTable;
20 import de.intevation.flys.model.Gauge;
18 import de.intevation.flys.model.River; 21 import de.intevation.flys.model.River;
22 import de.intevation.flys.model.TimeInterval;
19 23
20 import de.intevation.flys.artifacts.FLYSArtifact; 24 import de.intevation.flys.artifacts.FLYSArtifact;
21 import de.intevation.flys.artifacts.WINFOArtifact; 25 import de.intevation.flys.artifacts.WINFOArtifact;
22 import de.intevation.flys.artifacts.model.CalculationResult; 26 import de.intevation.flys.artifacts.model.CalculationResult;
23 import de.intevation.flys.artifacts.model.FacetTypes; 27 import de.intevation.flys.artifacts.model.FacetTypes;
28 import de.intevation.flys.artifacts.model.GaugesFactory;
24 import de.intevation.flys.artifacts.model.RiverFactory; 29 import de.intevation.flys.artifacts.model.RiverFactory;
25 import de.intevation.flys.artifacts.model.WaterlevelFacet; 30 import de.intevation.flys.artifacts.model.WaterlevelFacet;
26 import de.intevation.flys.artifacts.model.WQKms; 31 import de.intevation.flys.artifacts.model.WQKms;
27 import de.intevation.flys.artifacts.resources.Resources; 32 import de.intevation.flys.artifacts.resources.Resources;
28 33
171 logger.debug("generate " + wqkms.length + " facets."); 176 logger.debug("generate " + wqkms.length + " facets.");
172 177
173 String stateID = winfo.getCurrentStateId(); 178 String stateID = winfo.getCurrentStateId();
174 179
175 for (int i = 0; i < wqkms.length; ++i) { 180 for (int i = 0; i < wqkms.length; ++i) {
176 String name = wqkms[i].getName(); 181 String name = getSeriesName(context, wqkms[i].getName());
177 facets.add(new WaterlevelFacet( 182 facets.add(new WaterlevelFacet(
178 i, DISCHARGE_CURVE, name, ComputeType.FEED, stateID, hash)); 183 i, DISCHARGE_CURVE, name, ComputeType.FEED, stateID, hash));
179 } 184 }
180 185
181 186
182 return res; 187 return res;
188 }
189
190 protected String getSeriesName(CallContext cc, String gaugeName) {
191 Gauge gauge = GaugesFactory.getGauge(gaugeName);
192
193 if (gauge == null) {
194 logger.warn("Cannot determine Gauge for name: " + gaugeName);
195 return gaugeName;
196 }
197
198 List<DischargeTable> dts = gauge.getDischargeTables();
199
200 for (DischargeTable dt: dts) {
201 if (dt.getKind() == 0) {
202 TimeInterval ti = dt.getTimeInterval();
203
204 Date start = ti.getStartTime();
205 Date end = ti.getStopTime();
206
207 String name = gauge.getName();
208
209 if (end == null) {
210 Object[] args = new Object[] { name, start };
211 return Resources.getMsg(
212 cc.getMeta(),
213 "chart.discharge.curve.curve.valid.from",
214 "",
215 args);
216 }
217 else {
218 Object[] args = new Object[] { name, start, end };
219 return Resources.getMsg(
220 cc.getMeta(),
221 "chart.discharge.curve.curve.valid.range",
222 "",
223 args);
224 }
225 }
226 }
227
228 return gauge.getName();
183 } 229 }
184 230
185 231
186 @Override 232 @Override
187 protected double[] getMinMax(Artifact artifact) { 233 protected double[] getMinMax(Artifact artifact) {

http://dive4elements.wald.intevation.org