Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java @ 1740:8d08f6641372
Improved the title creation of WSP Q and W facets - named main values are taken into account while title creation.
flys-artifacts/trunk@3031 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 19 Oct 2011 14:00:36 +0000 |
parents | 0ebce697adcc |
children | e8a98eee816d |
comparison
equal
deleted
inserted
replaced
1739:980d880c583c | 1740:8d08f6641372 |
---|---|
1 package de.intevation.flys.artifacts.states; | 1 package de.intevation.flys.artifacts.states; |
2 | 2 |
3 import java.text.NumberFormat; | |
4 import java.util.List; | 3 import java.util.List; |
5 | 4 |
6 import org.apache.log4j.Logger; | 5 import org.apache.log4j.Logger; |
7 | 6 |
8 import de.intevation.artifacts.CallContext; | 7 import de.intevation.artifacts.CallContext; |
17 import de.intevation.flys.artifacts.model.CalculationResult; | 16 import de.intevation.flys.artifacts.model.CalculationResult; |
18 import de.intevation.flys.artifacts.model.FacetTypes; | 17 import de.intevation.flys.artifacts.model.FacetTypes; |
19 import de.intevation.flys.artifacts.model.ReportFacet; | 18 import de.intevation.flys.artifacts.model.ReportFacet; |
20 import de.intevation.flys.artifacts.model.WaterlevelFacet; | 19 import de.intevation.flys.artifacts.model.WaterlevelFacet; |
21 import de.intevation.flys.artifacts.model.WQKms; | 20 import de.intevation.flys.artifacts.model.WQKms; |
22 import de.intevation.flys.utils.Formatter; | 21 import de.intevation.flys.utils.FLYSUtils; |
23 | 22 |
24 | 23 |
25 public class WaterlevelState | 24 public class WaterlevelState |
26 extends DefaultState | 25 extends DefaultState |
27 implements FacetTypes | 26 implements FacetTypes |
55 | 54 |
56 WQKms [] wqkms = (WQKms [])res.getData(); | 55 WQKms [] wqkms = (WQKms [])res.getData(); |
57 | 56 |
58 for (int i = 0; i < wqkms.length; i++) { | 57 for (int i = 0; i < wqkms.length; i++) { |
59 String name = wqkms[i].getName(); | 58 String name = wqkms[i].getName(); |
60 boolean isQ = winfo.isQ(); | |
61 | 59 |
62 String nameW = createWTitle(cc, name, isQ); | 60 String nameW = FLYSUtils.createWspWTitle(winfo, cc, name); |
63 String nameQ = createQTitle(cc, name, isQ); | 61 String nameQ = FLYSUtils.createWspQTitle(winfo, cc, name); |
64 | 62 |
65 logger.debug("Create facet: " + nameW); | 63 logger.debug("Create facet: " + nameW); |
66 logger.debug("Create facet: " + nameQ); | 64 logger.debug("Create facet: " + nameQ); |
67 | 65 |
68 Facet w = new WaterlevelFacet( | 66 Facet w = new WaterlevelFacet( |
96 | 94 |
97 return res; | 95 return res; |
98 } | 96 } |
99 | 97 |
100 | 98 |
101 public static String createWTitle(CallContext cc, String name, boolean isQ) { | |
102 String[] parts = name.split("="); | |
103 | |
104 NumberFormat nf = Formatter.getWaterlevelW(cc); | |
105 | |
106 double v; | |
107 | |
108 try { | |
109 v = Double.valueOf(parts[1]); | |
110 } | |
111 catch (NumberFormatException nfe) { | |
112 logger.warn("Cannot parse Double of: '" + parts[1] + "'"); | |
113 return name; | |
114 } | |
115 | |
116 String prefix = null; | |
117 | |
118 if (isQ) { | |
119 prefix = "Q="; | |
120 } | |
121 | |
122 return prefix == null | |
123 ? "W(" + nf.format(v) + ")" | |
124 : "W(" + prefix + nf.format(v) + ")"; | |
125 } | |
126 | |
127 | |
128 public static String createQTitle(CallContext cc, String name, boolean isQ) { | |
129 String[] parts = name.split("="); | |
130 | |
131 NumberFormat nf = Formatter.getWaterlevelQ(cc); | |
132 | |
133 double v; | |
134 | |
135 try { | |
136 v = Double.valueOf(parts[1]); | |
137 } | |
138 catch (NumberFormatException nfe) { | |
139 logger.warn("Cannot parse Double of: '" + parts[1] + "'"); | |
140 return name; | |
141 } | |
142 | |
143 String prefix = null; | |
144 | |
145 if (!isQ) { | |
146 prefix = "W="; | |
147 } | |
148 | |
149 return prefix == null | |
150 ? "Q(" + nf.format(v) + ")" | |
151 : "Q(" + prefix + nf.format(v) + ")"; | |
152 } | |
153 | |
154 | |
155 /** | 99 /** |
156 * @param context Ignored. | 100 * @param context Ignored. |
157 */ | 101 */ |
158 @Override | 102 @Override |
159 public Object computeFeed( | 103 public Object computeFeed( |