comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java @ 2134:024d986b4f5b

'New Chart' for duration curve. flys-artifacts/trunk@3710 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 18 Jan 2012 15:50:34 +0000
parents e0243627ba62
children 1d7fb2cabfc7
comparison
equal deleted inserted replaced
2133:767ce9d1991f 2134:024d986b4f5b
8 8
9 import de.intevation.artifactdatabase.state.Facet; 9 import de.intevation.artifactdatabase.state.Facet;
10 10
11 import de.intevation.flys.artifacts.FLYSArtifact; 11 import de.intevation.flys.artifacts.FLYSArtifact;
12 import de.intevation.flys.artifacts.WINFOArtifact; 12 import de.intevation.flys.artifacts.WINFOArtifact;
13 import de.intevation.flys.artifacts.ChartArtifact;
13 14
14 import de.intevation.flys.artifacts.model.DurationCurveFacet; 15 import de.intevation.flys.artifacts.model.DurationCurveFacet;
15 import de.intevation.flys.artifacts.model.FacetTypes; 16 import de.intevation.flys.artifacts.model.FacetTypes;
16 import de.intevation.flys.artifacts.model.WQDay; 17 import de.intevation.flys.artifacts.model.WQDay;
17 18
18 import de.intevation.flys.artifacts.model.DataFacet; 19 import de.intevation.flys.artifacts.model.DataFacet;
19 import de.intevation.flys.artifacts.model.ReportFacet; 20 import de.intevation.flys.artifacts.model.ReportFacet;
21 import de.intevation.flys.artifacts.model.EmptyFacet;
20 import de.intevation.flys.artifacts.model.CalculationResult; 22 import de.intevation.flys.artifacts.model.CalculationResult;
21 23
22 import de.intevation.flys.artifacts.resources.Resources; 24 import de.intevation.flys.artifacts.resources.Resources;
23 25
24 import de.intevation.flys.utils.FLYSUtils; 26 import de.intevation.flys.utils.FLYSUtils;
47 String hash, 49 String hash,
48 CallContext context, 50 CallContext context,
49 List<Facet> facets, 51 List<Facet> facets,
50 Object old 52 Object old
51 ) { 53 ) {
52 WINFOArtifact winfo = (WINFOArtifact)artifact; 54 if (artifact instanceof WINFOArtifact) {
55 WINFOArtifact winfo = (WINFOArtifact)artifact;
53 56
54 CalculationResult res; 57 CalculationResult res;
55 58
56 if (old instanceof CalculationResult) { 59 if (old instanceof CalculationResult) {
57 res = (CalculationResult)old; 60 res = (CalculationResult)old;
61 }
62 else {
63 res = winfo.getDurationCurveData();
64 }
65
66 WQDay wqday = (WQDay)res.getData();
67
68 if (wqday != null && facets != null) {
69 Object[] args = new Object[] {
70 FLYSUtils.getRiver(winfo).getName()
71 };
72
73 String nameW = Resources.getMsg(
74 context.getMeta(),
75 "chart.duration.curve.curve.w",
76 "",
77 args);
78
79 String nameQ = Resources.getMsg(
80 context.getMeta(),
81 "chart.duration.curve.curve.q",
82 "",
83 args);
84
85 Facet w = new DurationCurveFacet(DURATION_W, nameW);
86 Facet q = new DurationCurveFacet(DURATION_Q, nameQ);
87
88 facets.add(w);
89 facets.add(q);
90
91 facets.add(new DataFacet(CSV, "CSV data"));
92
93 if (res.getReport().hasProblems()) {
94 facets.add(new ReportFacet());
95 }
96 }
97
98 return res;
58 } 99 }
59 else { 100 else if (artifact instanceof ChartArtifact) {
60 res = winfo.getDurationCurveData(); 101 ChartArtifact chart = (ChartArtifact)artifact;
102 facets.add(new EmptyFacet());
103 return null;
61 } 104 }
62 105 return null;
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 } 106 }
97 } 107 }
98 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : 108 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org