annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/WKmsFactory.java @ 8870:c26fb37899ca

Introduced groups for modules. Modules marked with the same group-id, will be put together in the ui. Also using now the localization info from the server instead of localizing the modules again on the client side.
author gernotbelger
date Wed, 07 Feb 2018 11:59:13 +0100
parents 5e38e2924c07
children 0a5239a1e46e
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: 5863
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: 5863
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: 4051
diff changeset
9 package org.dive4elements.river.artifacts.model;
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11 import java.util.List;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13 import net.sf.ehcache.Cache;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14 import net.sf.ehcache.Element;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16 import org.apache.log4j.Logger;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
17
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
18 import org.hibernate.Session;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
19
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
20 import org.hibernate.SQLQuery;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
21 import org.hibernate.type.StandardBasicTypes;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
22
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
23 import org.dive4elements.river.artifacts.cache.CacheFactory;
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
24
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
25 import org.dive4elements.river.backend.SessionHolder;
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
26
3442
cd5eb8f5f6f1 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3317
diff changeset
27
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
28 /**
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1897
diff changeset
29 * Factory to access ready-made WKms for other (than computed) 'kinds' of
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
30 * WST-data.
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
31 */
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32 public class WKmsFactory
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7884
diff changeset
34 /** Private log to use here. */
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
35 private static Logger log = Logger.getLogger(WKmsFactory.class);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
36
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
37 /** Query to get km and ws for wst_id and column_pos. */
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
38 public static final String SQL_SELECT_WS =
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
39 "SELECT km, w FROM wst_w_values " +
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
40 "WHERE wst_id = :wst_id AND column_pos = :column_pos";
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
41
8547
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
42 public static final String SQL_SELECT_WS_FOR_RANGE =
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
43 "SELECT km, w FROM wst_w_values " +
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
44 "WHERE wst_id = :wst_id AND column_pos = :column_pos " +
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
45 "AND km BETWEEN :kmfrom AND :kmto";
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
46
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
47 /** Query to get name for wst_id and column_pos. */
1726
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
48 public static final String SQL_SELECT_NAME =
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
49 "SELECT name " +
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
50 "FROM wst_columns "+
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
51 "WHERE wst_id = :wst_id AND position = :column_pos";
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
52
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
53 /** Query to get name and kind for wst_id and column_pos. */
7703
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
54 public static final String SQL_SELECT_Q_NAME =
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
55 "SELECT wqr.q, wc.name " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
56 "FROM wst_column_q_ranges wcqr " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
57 "JOIN wst_q_ranges wqr ON wcqr.wst_q_range_id = wqr.id " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
58 "JOIN wst_columns wc ON wcqr.wst_column_id = wc.id " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
59 "JOIN wsts ON wc.wst_id = wsts.id " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
60 "WHERE wc.wst_id = :wst_id AND wc.position = :column_pos";
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
61 /*
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
62 Test statement:
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
63 SELECT wqr.q, wc.name
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
64 FROM wst_column_q_ranges wcqr
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
65 JOIN wst_q_ranges wqr ON wcqr.wst_q_range_id = wqr.id
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
66 JOIN wst_columns wc ON wcqr.wst_column_id = wc.id
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
67 JOIN wsts ON wc.wst_id = wsts.id
7884
a97b2926de5e Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7703
diff changeset
68 WHERE wc.wst_id = 1817 AND wc.position = 29;
7703
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
69 */
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
70
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
71
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
72
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
73 /** Query to get name (description) for wst_id. */
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
74 public static final String SQL_SELECT_WST_NAME =
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
75 "SELECT description from wsts "+
1897
cf8a376eb4c9 Fix and use SQL statement to fetch wst-names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1893
diff changeset
76 "WHERE id = :wst_id";
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
77
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
78 /** Query to get name (description) and kind for wst_id. */
7703
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
79 public static final String SQL_SELECT_WST_Q_NAME =
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
80 "SELECT wqr.q, wc.name " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
81 "FROM wst_column_q_ranges wcqr " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
82 "JOIN wst_q_ranges wqr ON wcqr.wst_q_range_id = wqr.id " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
83 "JOIN wst_columns wc ON wcqr.wst_column_id = wc.id " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
84 "JOIN wsts ON wc.wst_id = wsts.id " +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
85 "WHERE wc.wst_id = :wst_id";
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
86
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
87 private WKmsFactory() {
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
88 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
89
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
90 public static WKms getWKms(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
91 int column,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
92 int wst_id,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
93 double from,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
94 double to
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
95 ) {
8547
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
96 log.debug("WKmsFactory.getWKms");
8569
26c7aa469bfc Readd StaticWQKmsCacheKey and use it again.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8550
diff changeset
97 Cache cache = CacheFactory.getCache(StaticWQKmsCacheKey.CACHE_NAME);
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
98
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
99 String cacheKey = Integer.toString(column) + ":"
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
100 + Integer.toString(wst_id);
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
101
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
102 if (cache != null) {
8547
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
103 if (!Double.isNaN(from) && ! Double.isNaN(to)) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
104 cacheKey += ":" + Double.toString(from) + ":"
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
105 + Double.toString(to);
8547
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
106 }
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
107 Element element = cache.get(cacheKey);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
108 if (element != null) {
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
109 log.debug("Got static wst values from cache");
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
110 return (WKms)element.getValue();
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
111 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
112 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
113
8547
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
114 WKms values = getWKmsUncached(column, wst_id, from, to);
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
115
8547
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
116 if (values != null && cache != null) {
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
117 log.debug("Store static wst values in cache.");
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
118 Element element = new Element(cacheKey, values);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
119 cache.put(element);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
120 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
121 return values;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
122 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
123
8547
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
124 /**
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
125 * Get WKms for given column and wst_id, caring about the cache.
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
126 */
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
127 public static WKms getWKms(int column, int wst_id) {
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
128 return getWKms(column, wst_id, Double.NaN, Double.NaN);
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
129 }
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
130
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
131 /** Get name for a WKms wrapped in W, if suitable. */
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
132 public static String getWKmsNameWWrapped(int wst_id) {
7703
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
133 return getWKmsNameWWrapped(-1, wst_id);
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
134 }
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
135
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
136
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
137 /** Get name for a WKms wrapped in W, if suitable. */
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
138 public static String getWKmsNameWWrapped(int column, int wst_id) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
139 log.debug("WKmsFactory.getWKmsNameWWrapped c/"
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
140 + column + ", wst_id/" + wst_id);
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
141
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
142 String name = null;
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
143 Session session = SessionHolder.HOLDER.get();
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
144
7703
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
145 SQLQuery nameQuery;
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
146 if (column != -1) {
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
147 nameQuery = session.createSQLQuery(SQL_SELECT_Q_NAME);
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
148 nameQuery.setInteger("column_pos", column);
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
149 } else {
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
150 nameQuery = session.createSQLQuery(SQL_SELECT_WST_Q_NAME);
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
151 }
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
152
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
153 nameQuery.addScalar("q", StandardBasicTypes.DOUBLE)
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
154 .addScalar("name", StandardBasicTypes.STRING);
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
155 nameQuery.setInteger("wst_id", wst_id);
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
156
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
157 List<Object[]> names = nameQuery.list();
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
158
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
159 if (names.size() >= 1) {
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
160 Object[] row = names.get(0);
7703
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
161 Double q = (Double) row[0];
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
162 name = (String) row[1];
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
163 if (q >= 0) {
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
164 name = "W(" + name + ")";
7703
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
165 }
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
166 } else {
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
167 // This should handle the case of Q = NULL
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
168 if (column != -1) {
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
169 name = getWKmsName(column, wst_id);
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
170 } else {
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
171 name = getWKmsName(wst_id);
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
172 }
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
173 }
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
174
7703
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
175 log.debug("WKmsFactory.getWKmsNameWWrapped c/" + column +
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
176 ", wst_id/" + wst_id + " = name/ " + name);
5484818087de (issue1577, issue1494) Wrap wst name depending on Q > 0
Andre Heinecke <aheinecke@intevation.de>
parents: 7686
diff changeset
177
7686
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
178 return name;
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
179 }
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
180
7484132b2fbb issue1577: Add W-Wrapping of wst-names in WKmsFactory if kind is one
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
181
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
182 /** Get name for a WKms. */
1893
1cf36ffe69b5 Fix definition.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1892
diff changeset
183 public static String getWKmsName(int wst_id) {
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
184 log.debug("WKmsFactory.getWKmsName wst_id/" + wst_id);
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
185
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
186 String name = null;
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
187 Session session = SessionHolder.HOLDER.get();
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
188
1897
cf8a376eb4c9 Fix and use SQL statement to fetch wst-names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1893
diff changeset
189 SQLQuery nameQuery = session.createSQLQuery(SQL_SELECT_WST_NAME)
cf8a376eb4c9 Fix and use SQL statement to fetch wst-names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1893
diff changeset
190 .addScalar("description", StandardBasicTypes.STRING);
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
191 nameQuery.setInteger("wst_id", wst_id);
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
192
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
193 List<String> names = nameQuery.list();
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
194 if (names.size() >= 1) {
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
195 name = names.get(0);
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
196 }
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
197
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
198 return name;
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
199 }
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
200
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
201 /** Get name for a WKms. */
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
202 public static String getWKmsName(int column, int wst_id) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
203 log.debug("WKmsFactory.getWKmsName c/"
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
204 + column + ", wst_id/" + wst_id);
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
205
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
206 String name = null;
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
207 Session session = SessionHolder.HOLDER.get();
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
208
1726
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
209 SQLQuery nameQuery = session.createSQLQuery(SQL_SELECT_NAME)
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
210 .addScalar("name", StandardBasicTypes.STRING);
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
211 nameQuery.setInteger("wst_id", wst_id);
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
212 nameQuery.setInteger("column_pos", column);
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
213
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
214 List<String> names = nameQuery.list();
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
215 if (names.size() >= 1) {
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
216 name = names.get(0);
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
217 }
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
218
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
219 return name;
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
220 }
1726
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
221
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
222
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
223 /**
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
224 * Get WKms from db.
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
225 * @param column the position columns value
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
226 * @param wst_id database id of the wst
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
227 * @return according WKms.
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
228 */
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
229 public static WKms getWKmsUncached(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
230 int column,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
231 int wst_id,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
232 double from,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
233 double to
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
234 ) {
1796
ae6ace900c07 Small loop optimization
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1729
diff changeset
235 if (log.isDebugEnabled()) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
236 log.debug("WKmsFactory.getWKmsUncached c/"
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8569
diff changeset
237 + column + ", wst_id/" + wst_id);
1796
ae6ace900c07 Small loop optimization
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1729
diff changeset
238 }
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
239
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
240 WKmsImpl wkms = new WKmsImpl(getWKmsName(column, wst_id));
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
241
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
242 Session session = SessionHolder.HOLDER.get();
8547
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
243 SQLQuery sqlQuery;
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
244 if (Double.isNaN(from) || Double.isNaN(to)) {
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
245 sqlQuery = session.createSQLQuery(SQL_SELECT_WS);
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
246 } else {
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
247 sqlQuery = session.createSQLQuery(SQL_SELECT_WS_FOR_RANGE);
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
248 sqlQuery.setDouble("kmfrom", from);
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
249 sqlQuery.setDouble("kmto", to);
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
250 }
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
251
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
252 sqlQuery.addScalar("km", StandardBasicTypes.DOUBLE)
04367906f158 (issue1754) Add distantce handling to WINFO differences state
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
253 .addScalar("w", StandardBasicTypes.DOUBLE);
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
254 sqlQuery.setInteger("wst_id", wst_id);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
255 sqlQuery.setInteger("column_pos", column);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
256
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
257 List<Object []> results = sqlQuery.list();
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
258
1796
ae6ace900c07 Small loop optimization
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1729
diff changeset
259 for (int i = 0, N = results.size(); i < N; i++) {
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
260 Object[] row = results.get(i);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
261 wkms.add((Double) row[0], (Double) row[1]);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
262 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
263
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
264 return wkms;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
265 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
266 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
267 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org