changeset 8720:3d0ef0a66503

Deduplicate code in Minfo / Wifo difference select states. The MINFO Difference select state also profits from old data supplied to the client.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 27 Apr 2015 15:15:44 +0200
parents 36f52c80b7ac
children 1083cb887ffb
files artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/DifferenceSelect.java
diffstat 1 files changed, 3 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/DifferenceSelect.java	Mon Apr 27 14:50:38 2015 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/DifferenceSelect.java	Mon Apr 27 15:15:44 2015 +0200
@@ -18,41 +18,25 @@
 import org.dive4elements.river.artifacts.D4EArtifact;
 import org.dive4elements.river.artifacts.states.DefaultState;
 import org.dive4elements.river.backend.utils.StringUtil;
+import org.dive4elements.river.artifacts.states.WaterlevelPairSelectState;
 
 /**
  * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
  */
-public class DifferenceSelect extends DefaultState {
+public class DifferenceSelect extends WaterlevelPairSelectState {
 
     /**
      * The default constructor that initializes an empty State object.
      */
     public DifferenceSelect() {
     }
-    /**
-     *  Specify to display nothing (this is kind of a "final" state).
-     */
+
     @Override
     protected String getUIProvider() {
         return "bedheights_twin_panel";
     }
 
     /**
-     * Overridden to do nothing.
-     */
-    @Override
-    public Object computeAdvance(
-        D4EArtifact artifact,
-        String       hash,
-        CallContext  context,
-        List<Facet>  facets,
-        Object       old
-    ) {
-        //Get data and do stuff, do not calculate
-        return "";
-    }
-
-    /**
      * Creates the data element used for the static part of DESCRIBE document.
      */
     @Override
@@ -82,42 +66,5 @@
 
         return dataElement;
     }
-
-
-    /**
-     * Get name to display for selected watelerlevels (for example "Q=123")
-     * from the CalculationResult.
-     */
-    public static String[] getLabels(CallContext cc, String value) {
-        String[] recommendations = value.split("#");
-        String displayString = "";
-
-        // Walk over all selected recommendations and create label
-        for (int i = 0; i < recommendations.length; i+=2) {
-            String[] minuendParts = StringUtil
-                .unbracket(recommendations[i+0])
-                .split(";");
-            if(minuendParts.length >= 4) {
-                displayString += "(" + minuendParts[3];
-            }
-            else {
-                displayString += "([error]";
-            }
-
-            displayString += " - ";
-
-            String[] subtrahendParts = StringUtil
-                .unbracket(recommendations[i+1])
-                .split(";");
-            if(subtrahendParts.length >= 4) {
-                displayString += subtrahendParts[3] + ") ";
-            }
-            else {
-                displayString += "[error])";
-            }
-        }
-
-        return new String[] { displayString };
-    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org