Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java @ 3812:f788d2d901d6
merged flys-artifacts/pre2.6-2011-12-05
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:53 +0200 |
parents | e0243627ba62 |
children | 024d986b4f5b |
comparison
equal
deleted
inserted
replaced
3808:5fab0fe3c445 | 3812:f788d2d901d6 |
---|---|
1 package de.intevation.flys.artifacts.states; | |
2 | |
3 import java.util.List; | |
4 | |
5 import org.apache.log4j.Logger; | |
6 | |
7 import de.intevation.artifacts.CallContext; | |
8 | |
9 import de.intevation.artifactdatabase.state.Facet; | |
10 | |
11 import de.intevation.flys.artifacts.FLYSArtifact; | |
12 import de.intevation.flys.artifacts.WINFOArtifact; | |
13 | |
14 import de.intevation.flys.artifacts.model.DurationCurveFacet; | |
15 import de.intevation.flys.artifacts.model.FacetTypes; | |
16 import de.intevation.flys.artifacts.model.WQDay; | |
17 | |
18 import de.intevation.flys.artifacts.model.DataFacet; | |
19 import de.intevation.flys.artifacts.model.ReportFacet; | |
20 import de.intevation.flys.artifacts.model.CalculationResult; | |
21 | |
22 import de.intevation.flys.artifacts.resources.Resources; | |
23 | |
24 import de.intevation.flys.utils.FLYSUtils; | |
25 | |
26 | |
27 /** | |
28 * The final state that will be reached after the duration curve calculation | |
29 * mode has been chosen. | |
30 * | |
31 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
32 */ | |
33 public class DurationCurveState | |
34 extends DefaultState | |
35 implements FacetTypes | |
36 { | |
37 /** The logger that is used in this state. */ | |
38 private static Logger logger = Logger.getLogger(DurationCurveState.class); | |
39 | |
40 public DurationCurveState() { | |
41 } | |
42 | |
43 | |
44 @Override | |
45 public Object computeAdvance( | |
46 FLYSArtifact artifact, | |
47 String hash, | |
48 CallContext context, | |
49 List<Facet> facets, | |
50 Object old | |
51 ) { | |
52 WINFOArtifact winfo = (WINFOArtifact)artifact; | |
53 | |
54 CalculationResult res; | |
55 | |
56 if (old instanceof CalculationResult) { | |
57 res = (CalculationResult)old; | |
58 } | |
59 else { | |
60 res = winfo.getDurationCurveData(); | |
61 } | |
62 | |
63 WQDay wqday = (WQDay)res.getData(); | |
64 | |
65 if (wqday != null && facets != null) { | |
66 Object[] args = new Object[] { | |
67 FLYSUtils.getRiver(winfo).getName() | |
68 }; | |
69 | |
70 String nameW = Resources.getMsg( | |
71 context.getMeta(), | |
72 "chart.duration.curve.curve.w", | |
73 "", | |
74 args); | |
75 | |
76 String nameQ = Resources.getMsg( | |
77 context.getMeta(), | |
78 "chart.duration.curve.curve.q", | |
79 "", | |
80 args); | |
81 | |
82 Facet w = new DurationCurveFacet(DURATION_W, nameW); | |
83 Facet q = new DurationCurveFacet(DURATION_Q, nameQ); | |
84 | |
85 facets.add(w); | |
86 facets.add(q); | |
87 | |
88 facets.add(new DataFacet(CSV, "CSV data")); | |
89 | |
90 if (res.getReport().hasProblems()) { | |
91 facets.add(new ReportFacet()); | |
92 } | |
93 } | |
94 | |
95 return res; | |
96 } | |
97 } | |
98 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |