comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java @ 3814:8083f6384023

merged flys-artifacts/pre2.6-2012-01-04
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:56 +0200
parents b11793a3e7c7
children e8fc770d2f8c
comparison
equal deleted inserted replaced
1491:2a00f4849738 3814:8083f6384023
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.FacetTypes;
15 import de.intevation.flys.artifacts.model.ReportFacet;
16 import de.intevation.flys.artifacts.model.WaterlevelFacet;
17 import de.intevation.flys.artifacts.model.WQKms;
18 import de.intevation.flys.artifacts.model.WQCKms;
19 import de.intevation.flys.artifacts.model.CalculationResult;
20
21 import de.intevation.flys.artifacts.model.DataFacet;
22
23 public class DischargeLongitudinalSection
24 extends DefaultState
25 implements FacetTypes
26 {
27 private static Logger logger =
28 Logger.getLogger(DischargeLongitudinalSection.class);
29
30
31 @Override
32 public Object computeAdvance(
33 FLYSArtifact artifact,
34 String hash,
35 CallContext context,
36 List<Facet> facets,
37 Object old
38 ) {
39 WINFOArtifact winfo = (WINFOArtifact)artifact;
40
41 CalculationResult res = old instanceof CalculationResult
42 ? (CalculationResult)old
43 : winfo.getDischargeLongitudinalSectionData();
44
45 if (facets == null) {
46 return res;
47 }
48
49 WQKms [] wqkms = (WQKms [])res.getData();
50
51 for (int i = 0; i < wqkms.length; i++) {
52 String nameW = null;
53 String nameQ = null;
54
55 if (winfo.isQ()) {
56 nameQ = wqkms[i].getName();
57 nameW = "W(" + nameQ + ")";
58 }
59 else {
60 nameW = wqkms[i].getName();
61 nameQ = "Q(" + nameW + ")";
62 }
63
64 Facet w = new WaterlevelFacet(
65 i, DISCHARGE_LONGITUDINAL_W, nameW);
66
67 Facet q = new WaterlevelFacet(
68 i, DISCHARGE_LONGITUDINAL_Q, nameQ);
69
70 facets.add(w);
71 facets.add(q);
72
73 if (wqkms[i] instanceof WQCKms) {
74 // TODO DO i18n
75
76 String nameC = nameW.replace(
77 "benutzerdefiniert",
78 "benutzerdefiniert [korrigiert]");
79
80 Facet c = new WaterlevelFacet(
81 i, DISCHARGE_LONGITUDINAL_C, nameC);
82
83 facets.add(c);
84 }
85 }
86
87 if (wqkms.length > 0) {
88 facets.add(new DataFacet(CSV, "CSV data"));
89 facets.add(new DataFacet(WST, "WST data"));
90 }
91
92 if (res.getReport().hasProblems()) {
93 facets.add(new ReportFacet());
94 }
95
96 return res;
97 }
98 }
99 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org