annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java @ 4241:49cb65d5932d

Improved the historical discharge calculation. The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is improved to support those facets.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 24 Oct 2012 14:34:35 +0200
parents 58bdf95df5e4
children
rev   line source
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.model;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
2
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
3 import java.util.List;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
4
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
5 import net.sf.ehcache.Cache;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
6 import net.sf.ehcache.Element;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
7
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
8 import org.apache.log4j.Logger;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
9
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10 import org.hibernate.Session;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12 import org.hibernate.SQLQuery;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13 import org.hibernate.type.StandardBasicTypes;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15 import de.intevation.flys.artifacts.cache.CacheFactory;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
17 import de.intevation.flys.backend.SessionHolder;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
18
3442
cd5eb8f5f6f1 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3317
diff changeset
19
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
20 /**
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1897
diff changeset
21 * 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
22 * WST-data.
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
23 */
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
24 public class WKmsFactory
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
25 {
3442
cd5eb8f5f6f1 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3317
diff changeset
26 /** Private logger to use here. */
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
27 private static Logger log = Logger.getLogger(WKmsFactory.class);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
28
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
29 /** Query to get km and ws for wst_id and column_pos. */
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
30 public static final String SQL_SELECT_WS =
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
31 "SELECT km, w FROM wst_w_values " +
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32 "WHERE wst_id = :wst_id AND column_pos = :column_pos";
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
34 /** 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
35 public static final String SQL_SELECT_NAME =
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
36 "SELECT name " +
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
37 "FROM wst_columns "+
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
38 "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
39
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
40 /** 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
41 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
42 "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
43 "WHERE id = :wst_id";
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
44
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
45
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 private WKmsFactory() {
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
47 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
48
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
49
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
50 /**
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
51 * Get WKms for given column and wst_id, caring about the cache.
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
52 */
1726
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
53 public static WKms getWKms(int column, int wst_id) {
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
54 log.debug("WKmsFactory.getWKms");
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
55 Cache cache = CacheFactory.getCache(StaticWKmsCacheKey.CACHE_NAME);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
56
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
57 StaticWKmsCacheKey cacheKey;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
58
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
59 if (cache != null) {
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
60 cacheKey = new StaticWKmsCacheKey(wst_id, column);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
61 Element element = cache.get(cacheKey);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
62 if (element != null) {
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
63 log.debug("Got static wst values from cache");
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64 return (WKms)element.getValue();
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
65 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
66 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67 else {
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68 cacheKey = null;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
69 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70
1726
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
71 WKms values = getWKmsUncached(column, wst_id);
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
73 if (values != null && cacheKey != null) {
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
74 log.debug("Store static wst values in cache.");
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
75 Element element = new Element(cacheKey, values);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
76 cache.put(element);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
77 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
78 return values;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
79 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
80
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
81 /** Get name for a WKms. */
1893
1cf36ffe69b5 Fix definition.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1892
diff changeset
82 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
83 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
84
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
85 String name = null;
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
86 Session session = SessionHolder.HOLDER.get();
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
87
1897
cf8a376eb4c9 Fix and use SQL statement to fetch wst-names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1893
diff changeset
88 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
89 .addScalar("description", StandardBasicTypes.STRING);
1892
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
90 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
91
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
92 List<String> names = nameQuery.list();
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
93 if (names.size() >= 1) {
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
94 name = names.get(0);
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
95 }
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
96
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
97 return name;
eef657302834 Added function to get name/description of Wst.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1796
diff changeset
98 }
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
99
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
100 /** Get name for a WKms. */
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
101 public static String getWKmsName(int column, int wst_id) {
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
102 log.debug("WKmsFactory.getWKmsName c/" + column + ", wst_id/" + wst_id);
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
103
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
104 String name = null;
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
105 Session session = SessionHolder.HOLDER.get();
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
106
1726
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
107 SQLQuery nameQuery = session.createSQLQuery(SQL_SELECT_NAME)
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
108 .addScalar("name", StandardBasicTypes.STRING);
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
109 nameQuery.setInteger("wst_id", wst_id);
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
110 nameQuery.setInteger("column_pos", column);
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
111
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
112 List<String> names = nameQuery.list();
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
113 if (names.size() >= 1) {
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
114 name = names.get(0);
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
115 }
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
116
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
117 return name;
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
118 }
1726
e3b9164a85fe Fetch name of static WKms.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1722
diff changeset
119
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
120
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
121 /**
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
122 * Get WKms from db.
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
123 * @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
124 * @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
125 * @return according WKms.
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
126 */
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
127 public static WKms getWKmsUncached(int column, int wst_id) {
1796
ae6ace900c07 Small loop optimization
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1729
diff changeset
128
ae6ace900c07 Small loop optimization
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1729
diff changeset
129 if (log.isDebugEnabled()) {
ae6ace900c07 Small loop optimization
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1729
diff changeset
130 log.debug("WKmsFactory.getWKmsUncached c/" + column + ", wst_id/" + wst_id);
ae6ace900c07 Small loop optimization
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1729
diff changeset
131 }
1729
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
132
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
133 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
134
2e5ebdeb8af9 Give StaticWKmsArtifacts proper names, and pre-deselect them.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1726
diff changeset
135 Session session = SessionHolder.HOLDER.get();
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
136 SQLQuery sqlQuery = session.createSQLQuery(SQL_SELECT_WS)
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
137 .addScalar("km", StandardBasicTypes.DOUBLE)
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
138 .addScalar("w", StandardBasicTypes.DOUBLE);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
139 sqlQuery.setInteger("wst_id", wst_id);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
140 sqlQuery.setInteger("column_pos", column);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
141
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
142 List<Object []> results = sqlQuery.list();
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
143
1796
ae6ace900c07 Small loop optimization
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1729
diff changeset
144 for (int i = 0, N = results.size(); i < N; i++) {
1722
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
145 Object[] row = results.get(i);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
146 wkms.add((Double) row[0], (Double) row[1]);
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
147 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
148
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
149 return wkms;
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
150 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
151 }
fb4fb1c67c35 Added WKmsFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
152 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org