Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelState.java @ 6710:ffc9cb39cea7
Remove duplicate code for mapfile generation. ID problem still not fixed (#657).
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Tue, 30 Jul 2013 16:09:40 +0200 |
parents | 12d9c5a430c5 |
children | e4606eae8ea5 |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5867
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5867
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
9 package org.dive4elements.river.artifacts.states; |
688
dc3613c4daf6
Moved Waterlevel state into the correct package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
6510
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
11 import java.util.Date; |
3883
f858028dde5f
Manual points (work in progress)
Christian Lins <christian.lins@intevation.de>
parents:
2618
diff
changeset
|
12 import java.util.List; |
f858028dde5f
Manual points (work in progress)
Christian Lins <christian.lins@intevation.de>
parents:
2618
diff
changeset
|
13 |
f858028dde5f
Manual points (work in progress)
Christian Lins <christian.lins@intevation.de>
parents:
2618
diff
changeset
|
14 import org.apache.log4j.Logger; |
f858028dde5f
Manual points (work in progress)
Christian Lins <christian.lins@intevation.de>
parents:
2618
diff
changeset
|
15 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
16 import org.dive4elements.artifactdatabase.state.Facet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
17 import org.dive4elements.artifacts.CallContext; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
18 import org.dive4elements.river.artifacts.ChartArtifact; |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
19 import org.dive4elements.river.artifacts.D4EArtifact; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
20 import org.dive4elements.river.artifacts.WINFOArtifact; |
6501
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
21 import org.dive4elements.river.artifacts.model.Calculation; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
22 import org.dive4elements.river.artifacts.model.CalculationResult; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
23 import org.dive4elements.river.artifacts.model.CrossSectionWaterLineFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
24 import org.dive4elements.river.artifacts.model.DataFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
25 import org.dive4elements.river.artifacts.model.EmptyFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
26 import org.dive4elements.river.artifacts.model.FacetTypes; |
6501
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
27 import org.dive4elements.river.artifacts.model.OfficialLineFinder; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
28 import org.dive4elements.river.artifacts.model.ReportFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.WQKms; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4412
diff
changeset
|
30 import org.dive4elements.river.artifacts.model.WaterlevelFacet; |
6501
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
31 import org.dive4elements.river.artifacts.resources.Resources; |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
32 import org.dive4elements.river.utils.RiverUtils; |
2195
e14beb93a854
"Bezugslinenverfahren": Added stub loop for creating facets.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2176
diff
changeset
|
33 |
4412
1b4aaa7dbd07
WaterevelState: Doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3883
diff
changeset
|
34 /** State in which a waterlevel has been calculated. */ |
692
22e4bffbe240
Generated facets for each output aspect.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
689
diff
changeset
|
35 public class WaterlevelState |
22e4bffbe240
Generated facets for each output aspect.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
689
diff
changeset
|
36 extends DefaultState |
22e4bffbe240
Generated facets for each output aspect.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
689
diff
changeset
|
37 implements FacetTypes |
22e4bffbe240
Generated facets for each output aspect.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
689
diff
changeset
|
38 { |
1111
b96ce07ba56c
Added dummy sceleton for Cross Sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1051
diff
changeset
|
39 /** The logger that is used in this state. */ |
688
dc3613c4daf6
Moved Waterlevel state into the correct package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 private static Logger logger = Logger.getLogger(WaterlevelState.class); |
dc3613c4daf6
Moved Waterlevel state into the correct package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
dc3613c4daf6
Moved Waterlevel state into the correct package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 |
1770
e8a98eee816d
Cosmetics, documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
43 /** |
e8a98eee816d
Cosmetics, documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
44 * From this state can only be continued trivially. |
e8a98eee816d
Cosmetics, documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1740
diff
changeset
|
45 */ |
688
dc3613c4daf6
Moved Waterlevel state into the correct package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 @Override |
927
53a2be494765
Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
742
diff
changeset
|
47 protected String getUIProvider() { |
53a2be494765
Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
742
diff
changeset
|
48 return "continue"; |
53a2be494765
Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
742
diff
changeset
|
49 } |
53a2be494765
Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
742
diff
changeset
|
50 |
53a2be494765
Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
742
diff
changeset
|
51 |
2123
907322e269e3
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2017
diff
changeset
|
52 /** |
907322e269e3
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2017
diff
changeset
|
53 * Compute result or returned object from cache, create facets. |
907322e269e3
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2017
diff
changeset
|
54 * @param old Object that was cached. |
907322e269e3
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2017
diff
changeset
|
55 */ |
1140
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
56 protected Object compute( |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
57 WINFOArtifact winfo, |
1664
71d5abde92f2
Bugfix: #176 and #349 Create proper titles for W and Q waterlevel facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1158
diff
changeset
|
58 CallContext cc, |
1140
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
59 String hash, |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
60 List<Facet> facets, |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
61 Object old |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
62 ) { |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
63 String id = getID(); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
64 |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
65 CalculationResult res = old instanceof CalculationResult |
2123
907322e269e3
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2017
diff
changeset
|
66 ? (CalculationResult) old |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
67 : winfo.getWaterlevelData(); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
68 |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
69 if (facets == null) { |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
70 return res; |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
71 } |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
72 |
2195
e14beb93a854
"Bezugslinenverfahren": Added stub loop for creating facets.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2176
diff
changeset
|
73 boolean debug = logger.isDebugEnabled(); |
e14beb93a854
"Bezugslinenverfahren": Added stub loop for creating facets.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2176
diff
changeset
|
74 |
2123
907322e269e3
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2017
diff
changeset
|
75 WQKms [] wqkms = (WQKms []) res.getData(); |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
76 |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
77 for (int i = 0; i < wqkms.length; i++) { |
2123
907322e269e3
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2017
diff
changeset
|
78 String name = wqkms[i].getName(); |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
79 |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
80 String nameW = RiverUtils.createWspWTitle(winfo, cc, name); |
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
81 String nameQ = RiverUtils.createWspQTitle(winfo, cc, name); |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
82 |
2618
3a93bbbe2ec7
Fix for 'W free' validation and theme names.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2573
diff
changeset
|
83 // Hotfix for theme names. Themes with the same name cause problems |
3a93bbbe2ec7
Fix for 'W free' validation and theme names.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2573
diff
changeset
|
84 // aggregating chart legend items. |
3a93bbbe2ec7
Fix for 'W free' validation and theme names.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2573
diff
changeset
|
85 if (i > 0 && name.equals(wqkms[i - 1].getName())) { |
3a93bbbe2ec7
Fix for 'W free' validation and theme names.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2573
diff
changeset
|
86 nameW += "; Q=" + wqkms[i].get(0, new double[3])[1]; |
3a93bbbe2ec7
Fix for 'W free' validation and theme names.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2573
diff
changeset
|
87 nameQ += " = " + wqkms[i].get(0, new double[3])[1]; |
3a93bbbe2ec7
Fix for 'W free' validation and theme names.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2573
diff
changeset
|
88 } |
3a93bbbe2ec7
Fix for 'W free' validation and theme names.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2573
diff
changeset
|
89 |
2195
e14beb93a854
"Bezugslinenverfahren": Added stub loop for creating facets.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2176
diff
changeset
|
90 if (debug) { |
e14beb93a854
"Bezugslinenverfahren": Added stub loop for creating facets.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2176
diff
changeset
|
91 logger.debug("Create facet: " + nameW); |
e14beb93a854
"Bezugslinenverfahren": Added stub loop for creating facets.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2176
diff
changeset
|
92 logger.debug("Create facet: " + nameQ); |
e14beb93a854
"Bezugslinenverfahren": Added stub loop for creating facets.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2176
diff
changeset
|
93 } |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
94 |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
95 Facet w = new WaterlevelFacet( |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
96 i, LONGITUDINAL_W, nameW, ComputeType.ADVANCE, id, hash); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
97 Facet q = new WaterlevelFacet( |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
98 i, LONGITUDINAL_Q, nameQ, ComputeType.ADVANCE, id, hash); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
99 |
2573
39145db61317
Fix flys/issue636 (cross-section: name of waterlevel facets).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2195
diff
changeset
|
100 facets.add(new CrossSectionWaterLineFacet(i, nameW)); |
1802
26d7077e42d2
Corrected CrossSection diagram/out to include one facet per computed waterlevel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1770
diff
changeset
|
101 |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
102 facets.add(w); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
103 facets.add(q); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
104 } |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
105 |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
106 if (wqkms.length > 0) { |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
107 Facet wst = new DataFacet( |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
108 WST, "WST data", ComputeType.ADVANCE, hash, id); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
109 Facet csv = new DataFacet( |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
110 CSV, "CSV data", ComputeType.ADVANCE, hash, id); |
2176
65dac9cf6ff5
Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
111 Facet pdf = new DataFacet( |
65dac9cf6ff5
Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
112 PDF, "PDF data", ComputeType.ADVANCE, hash, id); |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
113 |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
114 facets.add(wst); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
115 facets.add(csv); |
2176
65dac9cf6ff5
Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
116 facets.add(pdf); |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
117 } |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
118 |
6501
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
119 Calculation report = res.getReport(); |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
120 |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
121 List<OfficialLineFinder.ValueRange> ols = |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
122 OfficialLineFinder.findOfficialLines(winfo); |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
123 |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
124 if (!ols.isEmpty()) { |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
125 for (OfficialLineFinder.ValueRange ol: ols) { |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
126 report.addProblem(Resources.format( |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
127 cc.getMeta(), |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
128 "official.line.found", |
6510
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
129 "Found official line for {0} from year {1,date,yyyy} from {2}.", |
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
130 ol.getName(), nn(ol.getDate()), nn(ol.getSource()))); |
6501
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
131 } |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
132 } |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
133 |
7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
134 if (report.hasProblems()) { |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
135 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
136 } |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
137 |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
138 return res; |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
139 } |
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
140 |
6554 | 141 /** Returns empty String if argument is null, argument itself otherwise. */ |
6510
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
142 private static final String nn(String s) { |
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
143 return s != null ? s : ""; |
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
144 } |
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
145 |
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
146 private static final Date nn(Date d) { |
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
147 return d != null ? d : new Date(); |
1e6bd2831280
artifacts: Desktop-FLYS conform official line messages in error reports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6501
diff
changeset
|
148 } |
1138
d90f5bfa3ddf
Fix profile loading of cross section diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1122
diff
changeset
|
149 |
1140
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
150 /** |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
151 * @param context Ignored. |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
152 */ |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
153 @Override |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
154 public Object computeFeed( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
155 D4EArtifact artifact, |
1140
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
156 String hash, |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
157 CallContext context, |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
158 List<Facet> facets, |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
159 Object old |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
160 ) { |
2154
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2123
diff
changeset
|
161 if (artifact instanceof ChartArtifact) { |
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2123
diff
changeset
|
162 facets.add(new EmptyFacet()); |
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2123
diff
changeset
|
163 return null; |
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2123
diff
changeset
|
164 } |
1664
71d5abde92f2
Bugfix: #176 and #349 Create proper titles for W and Q waterlevel facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1158
diff
changeset
|
165 return compute((WINFOArtifact) artifact, context, hash, facets, old); |
1140
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
166 } |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
167 |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
168 |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
169 /** |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
170 * @param context Ignored. |
96d7842e80ee
Cosmetics, refactored, resolved todo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1138
diff
changeset
|
171 */ |
927
53a2be494765
Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
742
diff
changeset
|
172 @Override |
697
b972eba2ed8a
Removed ComputeCallback because this was thought too complicated. Fixed issue with facets not be re-generated if same state is entered again.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
696
diff
changeset
|
173 public Object computeAdvance( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
174 D4EArtifact artifact, |
697
b972eba2ed8a
Removed ComputeCallback because this was thought too complicated. Fixed issue with facets not be re-generated if same state is entered again.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
696
diff
changeset
|
175 String hash, |
b972eba2ed8a
Removed ComputeCallback because this was thought too complicated. Fixed issue with facets not be re-generated if same state is entered again.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
696
diff
changeset
|
176 CallContext context, |
742
c09c9e05ecfa
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
711
diff
changeset
|
177 List<Facet> facets, |
697
b972eba2ed8a
Removed ComputeCallback because this was thought too complicated. Fixed issue with facets not be re-generated if same state is entered again.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
696
diff
changeset
|
178 Object old |
b972eba2ed8a
Removed ComputeCallback because this was thought too complicated. Fixed issue with facets not be re-generated if same state is entered again.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
696
diff
changeset
|
179 ) { |
2154
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2123
diff
changeset
|
180 if (artifact instanceof ChartArtifact) { |
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2123
diff
changeset
|
181 facets.add(new EmptyFacet()); |
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2123
diff
changeset
|
182 return null; |
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2123
diff
changeset
|
183 } |
1664
71d5abde92f2
Bugfix: #176 and #349 Create proper titles for W and Q waterlevel facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1158
diff
changeset
|
184 return compute((WINFOArtifact) artifact, context, hash, facets, old); |
688
dc3613c4daf6
Moved Waterlevel state into the correct package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
185 } |
dc3613c4daf6
Moved Waterlevel state into the correct package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
186 } |
dc3613c4daf6
Moved Waterlevel state into the correct package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
187 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |