[Dive4elements-commits] [PATCH 05 of 10] WQKmsFactory: Add functionality to fetch WQKms if only column id is known
Wald Commits
scm-commit at wald.intevation.org
Tue Apr 16 16:17:22 CEST 2013
# HG changeset patch
# User Felix Wolfsteller <felix.wolfsteller at intevation.de>
# Date 1366108787 -7200
# Node ID c08f691652cfcc052e024fafdecb3439d5532407
# Parent 26dcd924befc06f264d473832c226202a2d5fe02
WQKmsFactory: Add functionality to fetch WQKms if only column id is known.
diff -r 26dcd924befc -r c08f691652cf flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java Tue Apr 16 12:39:12 2013 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java Tue Apr 16 12:39:47 2013 +0200
@@ -48,14 +48,14 @@
/**
* Get WKms for given column (pos) and wst_id, caring about the cache.
*/
- public static WQKms getWQKms(int column, int wst_id) {
+ public static WQKms getWQKms(int columnPos, int wst_id) {
log.debug("WQKmsFactory.getWQKms");
Cache cache = CacheFactory.getCache(StaticWQKmsCacheKey.CACHE_NAME);
StaticWQKmsCacheKey cacheKey;
if (cache != null) {
- cacheKey = new StaticWQKmsCacheKey(wst_id, column);
+ cacheKey = new StaticWQKmsCacheKey(wst_id, columnPos);
Element element = cache.get(cacheKey);
if (element != null) {
log.debug("Got static wst values from cache");
@@ -66,7 +66,41 @@
cacheKey = null;
}
- WQKms values = getWQKmsUncached(column, wst_id);
+ WQKms values = getWQKmsUncached(columnPos, wst_id);
+
+ if (values != null && cacheKey != null) {
+ log.debug("Store static wst values in cache.");
+ Element element = new Element(cacheKey, values);
+ cache.put(element);
+ }
+ return values;
+ }
+
+ /**
+ * Get WKms for given column (id), caring about the cache.
+ */
+ public static WQKms getWQKmsCID(int columnID) {
+ log.debug("WQKmsFactory.getWQKms");
+ Cache cache = CacheFactory.getCache(StaticWQKmsCacheKey.CACHE_NAME);
+
+ StaticWQKmsCacheKey cacheKey;
+
+ if (cache != null) {
+ cacheKey = new StaticWQKmsCacheKey(-columnID, -columnID);
+ Element element = cache.get(cacheKey);
+ if (element != null) {
+ log.debug("Got static wst values from cache");
+ return (WQKms)element.getValue();
+ }
+ }
+ else {
+ cacheKey = null;
+ }
+
+ int[] cInfo = getColumn(columnID);
+ if (cInfo == null) return null;
+ WQKms values = getWQKmsUncached(cInfo[1], cInfo[0]);
+
if (values != null && cacheKey != null) {
log.debug("Store static wst values in cache.");
More information about the Dive4elements-commits
mailing list