# HG changeset patch # User Andre Heinecke # Date 1430140544 -7200 # Node ID 3d0ef0a66503047d2573b6039b9ffa1fccbacf36 # Parent 36f52c80b7acc0b696f698ff6f3bacebec1ac2ae Deduplicate code in Minfo / Wifo difference select states. The MINFO Difference select state also profits from old data supplied to the client. diff -r 36f52c80b7ac -r 3d0ef0a66503 artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/DifferenceSelect.java --- 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 Raimund Renkert */ -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 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 :