comparison flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/ComputedDischargeCurveState.java @ 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java@b56422246f3a
children
comparison
equal deleted inserted replaced
5830:160f53ee0870 5831:bd047b71ab37
1 package org.dive4elements.river.artifacts.states;
2
3 import java.util.List;
4
5 import org.apache.log4j.Logger;
6
7 import org.dive4elements.artifacts.CallContext;
8
9 import org.dive4elements.artifactdatabase.state.Facet;
10
11 import org.dive4elements.river.artifacts.FLYSArtifact;
12 import org.dive4elements.river.artifacts.WINFOArtifact;
13 import org.dive4elements.river.artifacts.ChartArtifact;
14
15 import org.dive4elements.river.artifacts.model.FacetTypes;
16 import org.dive4elements.river.artifacts.model.WaterlevelFacet;
17 import org.dive4elements.river.artifacts.model.DataFacet;
18 import org.dive4elements.river.artifacts.model.ReportFacet;
19 import org.dive4elements.river.artifacts.model.EmptyFacet;
20 import org.dive4elements.river.artifacts.model.WQKms;
21 import org.dive4elements.river.artifacts.model.CalculationResult;
22
23 import org.dive4elements.river.artifacts.resources.Resources;
24
25 import org.dive4elements.river.utils.FLYSUtils;
26
27 /**
28 * The final state that will be reached after the discharge curve calculation
29 * mode has been chosen.
30 *
31 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
32 */
33 public class ComputedDischargeCurveState
34 extends DefaultState
35 implements FacetTypes
36 {
37 /** The logger that is used in this state. */
38 private static Logger logger =
39 Logger.getLogger(ComputedDischargeCurveState.class);
40
41
42 public ComputedDischargeCurveState() {
43 }
44
45
46 /**
47 * Get computed discharge curve data from cache (if available) or
48 * compute anew. Create Waterlevel and DataFacets.
49 */
50 @Override
51 public Object computeAdvance(
52 FLYSArtifact artifact,
53 String hash,
54 CallContext context,
55 List<Facet> facets,
56 Object old
57 ) {
58 logger.debug("ComputedDischargeCurveState.computeAdvance");
59 if(artifact instanceof WINFOArtifact) {
60 WINFOArtifact winfo = (WINFOArtifact)artifact;
61
62 CalculationResult res = old instanceof CalculationResult
63 ? (CalculationResult)old
64 : winfo.getComputedDischargeCurveData();
65
66 WQKms [] wqkms = (WQKms [])res.getData();
67
68 if (facets != null && wqkms.length > 0) {
69 for (int i = 0; i < wqkms.length; ++i) {
70
71 Object[] args = new Object[] {
72 FLYSUtils.getRiver(winfo).getName(),
73 // Parse Double to allow i18n.
74 Double.parseDouble(wqkms[i].getName())
75 };
76
77 String name = Resources.getMsg(
78 context.getMeta(),
79 "chart.computed.discharge.curve.curve.label",
80 "",
81 args);
82
83 facets.add(new WaterlevelFacet(i, COMPUTED_DISCHARGE_Q, name));
84 facets.add(new WaterlevelFacet(i, AT, "AT data"));
85 }
86
87 facets.add(new DataFacet(CSV, "CSV data"));
88 facets.add(new DataFacet(PDF, "PDF data"));
89
90 if (res.getReport().hasProblems()) {
91 facets.add(new ReportFacet());
92 }
93 }
94
95 return res;
96 }
97 else if(artifact instanceof ChartArtifact) {
98 ChartArtifact chart = (ChartArtifact)artifact;
99 facets.add(new EmptyFacet());
100 return null;
101 }
102 return null;
103 }
104 }
105 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org