diff gnv-artifacts/src/main/java/de/intevation/gnv/transition/MinMaxTransition.java @ 127:f6f0e4ce4a35

merged gnv-artifacts/0.1
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:13:41 +0200
parents 158e89c2263b
children 7fb9441dd8af
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/MinMaxTransition.java	Fri Sep 28 12:13:41 2012 +0200
@@ -0,0 +1,65 @@
+/**
+ *
+ */
+package de.intevation.gnv.transition;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.log4j.Logger;
+
+import de.intevation.gnv.geobackend.base.Result;
+import de.intevation.gnv.transition.describedata.DefaultMinMaxDescribeData;
+import de.intevation.gnv.transition.describedata.DescribeData;
+
+/**
+ * @author Tim Englich <tim.englich@intevation.de>
+ *
+ */
+public class MinMaxTransition extends TransitionBase {
+    
+    /**
+     * the logger, used to log exceptions and additonaly information
+     */
+    private static Logger log = Logger.getLogger(MinMaxTransition.class);
+    
+    /**
+     * Constructor
+     */
+    public MinMaxTransition() {
+        super();
+    }
+    
+    /**
+     * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection, java.lang.String)
+     */
+    @Override
+    protected void purifyResult(Collection<Result> result, String uuid) {
+        log.debug("MinMaxTransition.purifyResult");
+        if (this.descibeData == null){
+            this.descibeData = new ArrayList<Object>();
+        }
+        if (result != null && result.size() == 1){
+            
+            Object[] names = this.inputValueNames.toArray();
+            String minName = names[names.length-2].toString();
+            String maxName = names[names.length-1].toString();
+            Result value = result.iterator().next();
+            DescribeData describeData = new DefaultMinMaxDescribeData(minName, maxName,value.getObject("MIN"), value.getObject("MAX"));
+            log.debug(describeData.toString());
+            this.descibeData.add(describeData);
+        }else{
+            log.warn("Result cannot be handled as MinMax Resultset");
+        }
+        
+    }
+
+    /**
+     * @see de.intevation.gnv.transition.Transition#validate()
+     */
+    public boolean validate() {
+        // TODO: Implement ME
+        return true;
+    }
+
+}

http://dive4elements.wald.intevation.org