Mercurial > dive4elements > river
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 } |