Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/WaterlevelFacet.java @ 8202:e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Fri, 05 Sep 2014 12:58:17 +0200 |
parents | 2e0ba1f67900 |
children | 5e38e2924c07 |
comparison
equal
deleted
inserted
replaced
8201:4b8c5a08de04 | 8202:e4606eae8ea5 |
---|---|
21 /** | 21 /** |
22 * Facet of a Waterlevel (WQKms). | 22 * Facet of a Waterlevel (WQKms). |
23 */ | 23 */ |
24 public class WaterlevelFacet extends DataFacet { | 24 public class WaterlevelFacet extends DataFacet { |
25 | 25 |
26 private static Logger logger = Logger.getLogger(WaterlevelFacet.class); | 26 private static Logger log = Logger.getLogger(WaterlevelFacet.class); |
27 | 27 |
28 public WaterlevelFacet(int index, String name, String description) { | 28 public WaterlevelFacet(int index, String name, String description) { |
29 super(index, name, description, ComputeType.ADVANCE, null, null); | 29 super(index, name, description, ComputeType.ADVANCE, null, null); |
30 } | 30 } |
31 | 31 |
50 return ((ExtremeResult) res.getData()).getWQKms(); | 50 return ((ExtremeResult) res.getData()).getWQKms(); |
51 else if (res.getData() instanceof WQKms[]) { | 51 else if (res.getData() instanceof WQKms[]) { |
52 return (WQKms []) res.getData(); | 52 return (WQKms []) res.getData(); |
53 } | 53 } |
54 else { | 54 else { |
55 logger.error("WaterlevelFacet got wrong data type " + res.getData()); | 55 log.error("WaterlevelFacet got wrong data type " + res.getData()); |
56 return null; | 56 return null; |
57 } | 57 } |
58 } | 58 } |
59 | 59 |
60 /** | 60 /** |
62 * @return a WQKms at given index. | 62 * @return a WQKms at given index. |
63 */ | 63 */ |
64 @Override | 64 @Override |
65 public Object getData(Artifact artifact, CallContext context) { | 65 public Object getData(Artifact artifact, CallContext context) { |
66 | 66 |
67 if (logger.isDebugEnabled()) { | 67 if (log.isDebugEnabled()) { |
68 logger.debug("Get data for waterlevels at index: " + index + | 68 log.debug("Get data for waterlevels at index: " + index + |
69 " /stateId: " + stateId); | 69 " /stateId: " + stateId); |
70 } | 70 } |
71 | 71 |
72 if (artifact == null) { | 72 if (artifact == null) { |
73 logger.error("WaterlevelFacet.getData: artifact is null"); | 73 log.error("WaterlevelFacet.getData: artifact is null"); |
74 return null; | 74 return null; |
75 } | 75 } |
76 | 76 |
77 D4EArtifact winfo = (D4EArtifact) artifact; | 77 D4EArtifact winfo = (D4EArtifact) artifact; |
78 | 78 |
79 CalculationResult res = (CalculationResult) | 79 CalculationResult res = (CalculationResult) |
80 winfo.compute(context, hash, stateId, type, false); | 80 winfo.compute(context, hash, stateId, type, false); |
81 | 81 |
82 if (res == null) { | 82 if (res == null) { |
83 logger.error("WaterlevelFacet.getData: null result"); | 83 log.error("WaterlevelFacet.getData: null result"); |
84 return null; | 84 return null; |
85 } | 85 } |
86 | 86 |
87 WQKms [] wqkms = getWQKms(res); | 87 WQKms [] wqkms = getWQKms(res); |
88 Object KM = context.getContextValue("currentKm"); | 88 Object KM = context.getContextValue("currentKm"); |
90 // Interpolation. | 90 // Interpolation. |
91 if (KM != null) { | 91 if (KM != null) { |
92 linearInterpolate(wqkms[index], (Double) KM); | 92 linearInterpolate(wqkms[index], (Double) KM); |
93 } | 93 } |
94 else { | 94 else { |
95 logger.debug("Do not interpolate."); | 95 log.debug("Do not interpolate."); |
96 } | 96 } |
97 | 97 |
98 return wqkms != null ? wqkms[index] : null; | 98 return wqkms != null ? wqkms[index] : null; |
99 } | 99 } |
100 | 100 |
103 * Linear interpolation of WQKms. | 103 * Linear interpolation of WQKms. |
104 * TODO rewrite. | 104 * TODO rewrite. |
105 * @return [w, q, km] | 105 * @return [w, q, km] |
106 */ | 106 */ |
107 public WQKms linearInterpolate(WQKms wqkms, double km) { | 107 public WQKms linearInterpolate(WQKms wqkms, double km) { |
108 logger.debug("interpolate at given km (" + km + ")"); | 108 log.debug("interpolate at given km (" + km + ")"); |
109 | 109 |
110 WQKms resultWQKms = new WQKms(); | 110 WQKms resultWQKms = new WQKms(); |
111 int size = wqkms.size(); | 111 int size = wqkms.size(); |
112 boolean kmIncreasing = wqkms.getKm(0) < wqkms.getKm(size-1); | 112 boolean kmIncreasing = wqkms.getKm(0) < wqkms.getKm(size-1); |
113 int mod = kmIncreasing ? +1 : -1; | 113 int mod = kmIncreasing ? +1 : -1; |
147 wqkms.getKm(idx), wqkms.getKm(idx - mod), | 147 wqkms.getKm(idx), wqkms.getKm(idx - mod), |
148 wqkms.getQ(idx), wqkms.getQ(idx - mod)); | 148 wqkms.getQ(idx), wqkms.getQ(idx - mod)); |
149 resultWQKms.add(inW, inQ, km); | 149 resultWQKms.add(inW, inQ, km); |
150 } | 150 } |
151 else { | 151 else { |
152 logger.debug("waterlevelfacet stuff " + idx + " size " + size + " mod: " + mod); | 152 log.debug("waterlevelfacet stuff " + idx + " size " + size + " mod: " + mod); |
153 } | 153 } |
154 | 154 |
155 return resultWQKms; | 155 return resultWQKms; |
156 } | 156 } |
157 | 157 |