diff gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java @ 232:3d6d89bcbf42

Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68 gnv-artifacts/trunk@300 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Mon, 09 Nov 2009 08:55:01 +0000
parents 3e82b4f1c455
children 4e8f0fd8ed79
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java	Fri Nov 06 11:12:45 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java	Mon Nov 09 08:55:01 2009 +0000
@@ -368,35 +368,7 @@
             this.alternativeTransition.advance(uuid, callMeta);
         }else{
             try {
-                List<String> list = new ArrayList<String>();
-                Iterator<String> it = this.inputValueNames.iterator();
-                int i = 0;
-                while (it.hasNext()) {
-                    String value = it.next();
-                    InputData data = this.inputData.get(value);
-                    if (data != null
-                        && this.inputValues.containsKey(data.getName())) {
-                        int size = this.inputValues.get(data.getName())
-                                .usedInQueries();
-                        String type = this.inputValues.get(data.getName())
-                                .getType();
-                        String requestValue = data.getValue();
-                        if (type.equalsIgnoreCase("string")) {
-                            requestValue = this
-                                    .prepareInputData4DBQuery(requestValue);
-                        } else if (type.equalsIgnoreCase("date")) {
-                            requestValue = this
-                                    .prepareInputData4DateDBQuery(requestValue);
-                        } else if (type.equalsIgnoreCase("coordinate")){
-                            requestValue = this
-                            .prepareInputData4RegionDBQuery(requestValue);
-                        }
-                        for (int j = 0; j < size; j++) {
-                            list.add(requestValue);
-                        }
-                    }
-                }
-                String[] filterValues = list.toArray(new String[0]);
+                String[] filterValues = this.generateFilterValuesFromInputData();
                 Collection<Result> result = null;
                 try {
                     if (this.queryID != null) {
@@ -415,6 +387,41 @@
             }
         }
     }
+
+    /**
+     * @return
+     */
+    protected String[] generateFilterValuesFromInputData() {
+        List<String> list = new ArrayList<String>();
+        Iterator<String> it = this.inputValueNames.iterator();
+        while (it.hasNext()) {
+            String value = it.next();
+            InputData data = this.inputData.get(value);
+            if (data != null
+                && this.inputValues.containsKey(data.getName())) {
+                int size = this.inputValues.get(data.getName())
+                        .usedInQueries();
+                String type = this.inputValues.get(data.getName())
+                        .getType();
+                String requestValue = data.getValue();
+                if (type.equalsIgnoreCase("string")) {
+                    requestValue = this
+                            .prepareInputData4DBQuery(requestValue);
+                } else if (type.equalsIgnoreCase("date")) {
+                    requestValue = this
+                            .prepareInputData4DateDBQuery(requestValue);
+                } else if (type.equalsIgnoreCase("coordinate")){
+                    requestValue = this
+                    .prepareInputData4RegionDBQuery(requestValue);
+                }
+                for (int j = 0; j < size; j++) {
+                    list.add(requestValue);
+                }
+            }
+        }
+        String[] filterValues = list.toArray(new String[0]);
+        return filterValues;
+    }
     
     protected String prepareInputData4RegionDBQuery(String value){
         return value;

http://dive4elements.wald.intevation.org