comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java @ 3460:d625f4d06b6a

Create proper facets for Ws and Qs in FixRealizingCompute state. flys-artifacts/trunk@5128 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 25 Jul 2012 12:58:52 +0000
parents 7485338aedff
children 1481322efc02
comparison
equal deleted inserted replaced
3459:7485338aedff 3460:d625f4d06b6a
1 package de.intevation.flys.artifacts.states.fixation; 1 package de.intevation.flys.artifacts.states.fixation;
2
3 import de.intevation.artifactdatabase.state.Facet;
4
5 import de.intevation.artifacts.CallContext;
6
7 import de.intevation.flys.artifacts.FLYSArtifact;
8
9 import de.intevation.flys.artifacts.access.FixRealizingAccess;
10
11 import de.intevation.flys.artifacts.model.CalculationResult;
12 import de.intevation.flys.artifacts.model.FacetTypes;
13 import de.intevation.flys.artifacts.model.ReportFacet;
14 import de.intevation.flys.artifacts.model.WQKms;
15 import de.intevation.flys.artifacts.model.WaterlevelFacet;
16
17 import de.intevation.flys.artifacts.model.fixings.FixRealizingCalculation;
18 import de.intevation.flys.artifacts.model.fixings.FixRealizingResult;
19
20 import de.intevation.flys.artifacts.states.DefaultState;
21 2
22 import java.util.List; 3 import java.util.List;
23 4
24 import org.apache.log4j.Logger; 5 import org.apache.log4j.Logger;
6
7 import de.intevation.artifactdatabase.state.Facet;
8 import de.intevation.artifacts.CallContext;
9 import de.intevation.flys.artifacts.FLYSArtifact;
10 import de.intevation.flys.artifacts.access.FixRealizingAccess;
11 import de.intevation.flys.artifacts.model.CalculationResult;
12 import de.intevation.flys.artifacts.model.DataFacet;
13 import de.intevation.flys.artifacts.model.FacetTypes;
14 import de.intevation.flys.artifacts.model.ReportFacet;
15 import de.intevation.flys.artifacts.model.WQCKms;
16 import de.intevation.flys.artifacts.model.WQKms;
17 import de.intevation.flys.artifacts.model.WaterlevelFacet;
18 import de.intevation.flys.artifacts.model.fixings.FixRealizingCalculation;
19 import de.intevation.flys.artifacts.model.fixings.FixRealizingResult;
20 import de.intevation.flys.artifacts.states.DefaultState;
25 21
26 22
27 /** 23 /**
28 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> 24 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
29 */ 25 */
63 59
64 if (facets == null) { 60 if (facets == null) {
65 return res; 61 return res;
66 } 62 }
67 63
68 if (res.getReport().hasProblems()) { 64 FixRealizingResult fixRes = (FixRealizingResult) res.getData();
69 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); 65 WQKms [] wqkms = fixRes != null ? fixRes.getWQKms() : new WQKms[0];
66
67 for (int i = 0; i < wqkms.length; i++) {
68 String nameW = null;
69 String nameQ = null;
70
71 if (access.isQ()) {
72 nameQ = wqkms[i].getName();
73 nameW = "W(" + nameQ + ")";
74 }
75 else {
76 nameW = wqkms[i].getName();
77 nameQ = "Q(" + nameW + ")";
78 }
79
80 Facet w = new WaterlevelFacet(
81 i, LONGITUDINAL_W, nameW);
82
83 Facet q = new WaterlevelFacet(
84 i, LONGITUDINAL_Q, nameQ);
85
86 facets.add(w);
87 facets.add(q);
88
89 if (wqkms[i] instanceof WQCKms) {
90 String nameC = nameW.replace(
91 "benutzerdefiniert",
92 "benutzerdefiniert [korrigiert]");
93
94 Facet c = new WaterlevelFacet(
95 i, DISCHARGE_LONGITUDINAL_C, nameC);
96
97 facets.add(c);
98 }
70 } 99 }
71 100
72 // TODO: Add more facets. 101 if (wqkms.length > 0) {
73 FixRealizingResult fr = (FixRealizingResult) res.getData(); 102 facets.add(new DataFacet(CSV, "CSV data"));
103 facets.add(new DataFacet(WST, "WST data"));
104 }
74 105
75 /* 106 if (res.getReport().hasProblems()) {
76 facets.add( 107 facets.add(new ReportFacet());
77 new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
78 */
79
80 // WaterlevelFacet
81 // Also: DataFacet and WQstuff
82 // TODO naming, i18n.
83 String nameW = "waterlevel";
84 String nameQ = "discharge";
85 WQKms[] wqkms = fr.getWQKms();
86 for (int i = 0; i < wqkms.length; i++) {
87 facets.add(new WaterlevelFacet(
88 i, LONGITUDINAL_W, nameW, ComputeType.ADVANCE, id, hash));
89 facets.add(new WaterlevelFacet(
90 i, LONGITUDINAL_Q, nameQ, ComputeType.ADVANCE, id, hash));
91 } 108 }
92 109
93 return res; 110 return res;
94 } 111 }
95 } 112 }

http://dive4elements.wald.intevation.org