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 :

http://dive4elements.wald.intevation.org