diff artifacts/src/main/java/org/dive4elements/river/artifacts/states/DefaultState.java @ 9277:2323d005f9a5

compile error fix
author gernotbelger
date Fri, 20 Jul 2018 10:39:02 +0200
parents 7d1a32a543cb
children
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/DefaultState.java	Thu Jul 19 17:54:10 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/DefaultState.java	Fri Jul 20 10:39:02 2018 +0200
@@ -9,35 +9,26 @@
 package org.dive4elements.river.artifacts.states;
 
 import java.text.NumberFormat;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
-import java.util.List;
 
 import org.apache.log4j.Logger;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
+import org.dive4elements.artifactdatabase.ProtocolUtils;
+import org.dive4elements.artifactdatabase.data.StateData;
+import org.dive4elements.artifactdatabase.state.AbstractState;
+import org.dive4elements.artifactdatabase.state.Facet;
 import org.dive4elements.artifacts.Artifact;
 import org.dive4elements.artifacts.ArtifactNamespaceContext;
 import org.dive4elements.artifacts.CallContext;
 import org.dive4elements.artifacts.CallMeta;
-
 import org.dive4elements.artifacts.common.utils.XMLUtils;
 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
-
-import org.dive4elements.artifactdatabase.ProtocolUtils;
-
-import org.dive4elements.artifactdatabase.data.StateData;
-
-import org.dive4elements.artifactdatabase.state.AbstractState;
-import org.dive4elements.artifactdatabase.state.Facet;
-
 import org.dive4elements.river.artifacts.D4EArtifact;
-
 import org.dive4elements.river.artifacts.resources.Resources;
-
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 
 /**
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
@@ -47,129 +38,97 @@
     /** The log that is used in this class. */
     private static Logger log = Logger.getLogger(DefaultState.class);
 
-
     /** The three possible compute types. */
     public static enum ComputeType {
         FEED, ADVANCE, INIT
     }
 
-
-    protected StateData getData(D4EArtifact artifact,  String name) {
+    protected StateData getData(final D4EArtifact artifact, final String name) {
         return artifact.getData(name);
     }
 
-
     /**
      * Append to a node and return xml description relevant for gui.
      */
-    public Element describeStatic(
-        Artifact    artifact,
-        Document    document,
-        Node        root,
-        CallContext context,
-        String      uuid)
-    {
-        ElementCreator creator = new ElementCreator(
-            document,
-            ArtifactNamespaceContext.NAMESPACE_URI,
-            ArtifactNamespaceContext.NAMESPACE_PREFIX);
+    public Element describeStatic(final Artifact artifact, final Document document, final Node root, final CallContext context, final String uuid) {
+        final ElementCreator creator = new ElementCreator(document, ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX);
 
-        CallMeta meta = context.getMeta();
+        final CallMeta meta = context.getMeta();
 
         String helpText = getHelpText();
         if (helpText != null) {
-            helpText = replaceHelpUrl(
-                Resources.getMsg(meta, helpText, helpText));
+            helpText = replaceHelpUrl(Resources.getMsg(meta, helpText, helpText));
         }
 
-        String label = Resources.getMsg(meta, getID(), getID());
-        Element ui   = ProtocolUtils.createArtNode(
-            creator, "state",
-            new String[] { "name", "uiprovider", "label", "helpText"},
-            new String[] { getID(), getUIProvider(), label, helpText });
+        final String label = Resources.getMsg(meta, getID(), getID());
+        final Element ui = ProtocolUtils.createArtNode(creator, "state", new String[] { "name", "uiprovider", "label", "helpText" },
+                new String[] { getID(), getUIProvider(), label, helpText });
 
-        Map<String, StateData> theData = getData();
+        final Map<String, StateData> theData = getData();
         if (theData == null) {
             return ui;
         }
 
-        D4EArtifact flys = (D4EArtifact)artifact;
+        final D4EArtifact flys = (D4EArtifact) artifact;
 
-        for (String name: theData.keySet()) {
+        for (final String name : theData.keySet()) {
             appendStaticData(flys, context, creator, ui, name);
         }
 
         return ui;
     }
 
-
-    protected void appendStaticData(
-        D4EArtifact   flys,
-        CallContext    context,
-        ElementCreator cr,
-        Element        ui,
-        String         name
-    ) {
-        StateData data  = getData(flys, name);
-        String    value = (data != null) ? (String) data.getValue() : null;
+    protected void appendStaticData(final D4EArtifact flys, final CallContext context, final ElementCreator cr, final Element ui, final String name) {
+        final StateData data = getData(flys, name);
+        final String value = (data != null) ? (String) data.getValue() : null;
 
         if (value == null) {
             return;
         }
 
-        String type = data.getType();
+        final String type = data.getType();
 
         if (log.isDebugEnabled()) {
-            log.debug(
-                "Append element " + type + "'" +
-                name + "' (" + value + ")");
+            log.debug("Append element " + type + "'" + name + "' (" + value + ")");
         }
 
-        Element e = createStaticData(flys, cr, context, name, value, type);
+        final Element e = createStaticData(flys, cr, context, name, value, type);
 
         ui.appendChild(e);
 
     }
 
-
     /**
      * Creates a <i>data</i> element used in the static part of the DESCRIBE
      * document.
      *
-     * @param creator The ElementCreator that is used to build new Elements.
-     * @param cc The CallContext object used for nested i18n retrieval.
-     * @param name The name of the data item.
-     * @param value The value as string.
+     * @param creator
+     *            The ElementCreator that is used to build new Elements.
+     * @param cc
+     *            The CallContext object used for nested i18n retrieval.
+     * @param name
+     *            The name of the data item.
+     * @param value
+     *            The value as string.
      *
      * @return an Element.
      */
-    protected Element createStaticData(
-        D4EArtifact   flys,
-        ElementCreator creator,
-        CallContext    cc,
-        String         name,
-        String         value,
-        String         type
-    ) {
-        Element dataElement = creator.create("data");
+    protected Element createStaticData(final D4EArtifact flys, final ElementCreator creator, final CallContext cc, final String name, final String value,
+            final String type) {
+        final Element dataElement = creator.create("data");
         creator.addAttr(dataElement, "name", name, true);
         creator.addAttr(dataElement, "type", type, true);
 
-        Element itemElement = creator.create("item");
+        final Element itemElement = creator.create("item");
         creator.addAttr(itemElement, "value", value, true);
 
-        creator.addAttr(
-            itemElement,
-            "label",
-            getLabelFor(cc, name, value, type),
-            true);
+        creator.addAttr(itemElement, "label", getLabelFor(cc, name, value, type), true);
 
         dataElement.appendChild(itemElement);
 
         return dataElement;
     }
 
-
     /**
      * @param cc
      * @param name
@@ -178,29 +137,23 @@
      *
      * @return
      */
-    protected String getLabelFor(
-        CallContext cc,
-        String      name,
-        String      value,
-        String      type
-    ) {
-        CallMeta meta = cc.getMeta();
+    protected String getLabelFor(final CallContext cc, final String name, final String value, final String type) {
+        final CallMeta meta = cc.getMeta();
 
         try {
             // XXX A better way to format the output would be to use the
             // 'type' value of the data objects.
-            double doubleVal = Double.parseDouble(value);
-            Locale         l = Resources.getLocale(meta);
-            NumberFormat  nf = NumberFormat.getInstance(l);
+            final double doubleVal = Double.parseDouble(value);
+            final Locale l = Resources.getLocale(meta);
+            final NumberFormat nf = NumberFormat.getInstance(l);
 
             return nf.format(doubleVal);
         }
-        catch (NumberFormatException nfe) {
+        catch (final NumberFormatException nfe) {
             return Resources.getMsg(meta, value, value);
         }
     }
 
-
     /**
      * This method returns the default value and label for <i>data</i>.
      *
@@ -210,69 +163,54 @@
      * but shall not be null.
      *
      * Example implementation:
-     *  if (data != null && data.getName().equals("the_answer")) {
-     *       return new String[] {"42", "the_answer"};
-     *   }
+     * if (data != null && data.getName().equals("the_answer")) {
+     * return new String[] {"42", "the_answer"};
+     * }
      *
-     * @param context The CallContext used for i18n.
-     * @param data The data objects that the defaults are for.
+     * @param context
+     *            The CallContext used for i18n.
+     * @param data
+     *            The data objects that the defaults are for.
      * @return a String[] with [default value, default label].
      */
-    protected String[] getDefaultsFor(CallContext context, StateData data) {
+    protected String[] getDefaultsFor(final CallContext context, final StateData data) {
         return null;
     }
 
-
-    public Element describe(
-        Artifact    artifact,
-        Document    document,
-        Node        root,
-        CallContext context,
-        String      uuid)
-    {
-        ElementCreator creator = new ElementCreator(
-            document,
-            ArtifactNamespaceContext.NAMESPACE_URI,
-            ArtifactNamespaceContext.NAMESPACE_PREFIX);
+    @Override
+    public Element describe(final Artifact artifact, final Document document, final Node root, final CallContext context, final String uuid) {
+        final ElementCreator creator = new ElementCreator(document, ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX);
 
         String helpText = getHelpText();
         if (helpText != null) {
-            helpText = replaceHelpUrl(
-                Resources.getMsg(context.getMeta(), helpText, helpText));
+            helpText = replaceHelpUrl(Resources.getMsg(context.getMeta(), helpText, helpText));
         }
 
-        Element ui        = null;
-        String uiprovider = getUIProvider();
+        Element ui = null;
+        final String uiprovider = getUIProvider();
         if (uiprovider != null) {
-            ui = ProtocolUtils.createArtNode(
-                creator, "dynamic",
-                new String[] { "uiprovider", "helpText" },
-                new String[] { uiprovider, helpText });
-        }
-        else {
-            ui = ProtocolUtils.createArtNode(
-                creator, "dynamic",
-                new String[] { "helpText" },
-                new String[] { helpText });
+            ui = ProtocolUtils.createArtNode(creator, "dynamic", new String[] { "uiprovider", "helpText" }, new String[] { uiprovider, helpText });
+        } else {
+            ui = ProtocolUtils.createArtNode(creator, "dynamic", new String[] { "helpText" }, new String[] { helpText });
         }
 
-        Map<String, StateData> theData = getData();
+        final Map<String, StateData> theData = getData();
         if (theData == null) {
             return ui;
         }
 
-        D4EArtifact flys = (D4EArtifact)artifact;
+        final D4EArtifact flys = (D4EArtifact) artifact;
 
-        for (String name: theData.keySet()) {
+        for (final String name : theData.keySet()) {
             StateData data = getData(flys, name);
 
             if (data == null) {
                 data = getData(name);
             }
 
-            Element select = createData(creator, artifact, data, context);
+            final Element select = createData(creator, artifact, data, context);
 
-            String[] defaults = getDefaultsFor(context, data);
+            final String[] defaults = getDefaultsFor(context, data);
             if (defaults != null && defaults.length > 1) {
                 creator.addAttr(select, "defaultValue", defaults[0], true);
                 creator.addAttr(select, "defaultLabel", defaults[1], true);
@@ -285,7 +223,6 @@
         return ui;
     }
 
-
     /**
      * @param artifact
      * @param creator
@@ -293,95 +230,75 @@
      * @param context
      * @param select
      */
-    protected void appendItems(
-        Artifact       artifact,
-        ElementCreator creator,
-        String         name,
-        CallContext    context,
-        Element        select
-    ) {
-        Element choices = ProtocolUtils.createArtNode(
-            creator, "choices", null, null);
+    protected void appendItems(final Artifact artifact, final ElementCreator creator, final String name, final CallContext context, final Element select) {
+        final Element choices = ProtocolUtils.createArtNode(creator, "choices", null, null);
 
         select.appendChild(choices);
 
-        Element[] items = createItems(creator, artifact, name, context);
+        final Element[] items = createItems(creator, artifact, name, context);
         if (items != null) {
-            for (Element item: items) {
+            for (final Element item : items) {
                 choices.appendChild(item);
             }
         }
     }
 
-
     /**
      * This method creates the root node that contains the list of selectable
      * items.
      *
-     * @param cr The ElementCreator.
+     * @param cr
+     *            The ElementCreator.
      *
      * @return the root node of the item list.
      */
-    protected Element createData(
-        ElementCreator cr,
-        Artifact    artifact,
-        StateData   data,
-        CallContext context)
-    {
-        Element select = ProtocolUtils.createArtNode(
-            cr, "select", null, null);
+    protected Element createData(final ElementCreator cr, final Artifact artifact, final StateData data, final CallContext context) {
+        final Element select = ProtocolUtils.createArtNode(cr, "select", null, null);
         cr.addAttr(select, "name", data.getName(), true);
 
-        Element label = ProtocolUtils.createArtNode(
-            cr, "label", null, null);
+        final Element label = ProtocolUtils.createArtNode(cr, "label", null, null);
 
         select.appendChild(label);
 
-        label.setTextContent(Resources.getMsg(
-            context.getMeta(),
-            getID(),
-            getID()));
+        label.setTextContent(Resources.getMsg(context.getMeta(), getID(), getID()));
 
         return select;
     }
 
-
     /**
      * This method creates a list of items. These items represent the amount of
      * input data that is possible for this state.
      *
-     * @param cr The ElementCreator.
-     * @param name The name of the amount of data.
+     * @param cr
+     *            The ElementCreator.
+     * @param name
+     *            The name of the amount of data.
      *
      * @return a list of items.
      */
-    protected Element[] createItems(
-        ElementCreator cr,
-        Artifact    artifact,
-        String      name,
-        CallContext context
-    ) {
+    protected Element[] createItems(final ElementCreator cr, final Artifact artifact, final String name, final CallContext context) {
         return null;
     }
 
-
     /**
      * This method is used to create an <i>item</i> Element that contains two
      * further elements <i>label</i> and <i>value</i>. The label and value
      * elements both have text nodes.
      *
-     * @param cr The ElementCreator used to build new Elements.
-     * @param obj This implementation awaits a String array with [0] = label and
-     * [1] = value.
+     * @param cr
+     *            The ElementCreator used to build new Elements.
+     * @param obj
+     *            This implementation awaits a String array with [0] = label and
+     *            [1] = value.
      *
      * @return an Element.
      */
-    protected Element createItem(XMLUtils.ElementCreator cr, Object obj) {
-        Element item  = ProtocolUtils.createArtNode(cr, "item", null, null);
-        Element label = ProtocolUtils.createArtNode(cr, "label", null, null);
-        Element value = ProtocolUtils.createArtNode(cr, "value", null, null);
+    protected static Element createItem(final XMLUtils.ElementCreator cr, final Object obj) {
+        final Element item = ProtocolUtils.createArtNode(cr, "item", null, null);
+        final Element label = ProtocolUtils.createArtNode(cr, "label", null, null);
+        final Element value = ProtocolUtils.createArtNode(cr, "value", null, null);
 
-        String[] arr = (String[]) obj;
+        final String[] arr = (String[]) obj;
 
         label.setTextContent(arr[0]);
         value.setTextContent(arr[1]);
@@ -392,23 +309,35 @@
         return item;
     }
 
+    // protected static Element createItem(final XMLUtils.ElementCreator cr, final Object obj) {
+    // final Element item = ProtocolUtils.createArtNode(cr, "item", null, null);
+    // final Element label = ProtocolUtils.createArtNode(cr, "label", null, null);
+    // final Element value = ProtocolUtils.createArtNode(cr, "value", null, null);
+    //
+    // final String[] arr = (String[]) obj;
+    //
+    // label.setTextContent(arr[0]);
+    // value.setTextContent(arr[1]);
+    //
+    // item.appendChild(label);
+    // item.appendChild(value);
+    //
+    // return item;
+    // }
 
     /**
      * This method transform a given value into a StateData object.
      *
-     * @param flys The D4EArtifact.
-     * @param name The name of the data object.
-     * @param val The value of the data object.
+     * @param flys
+     *            The D4EArtifact.
+     * @param name
+     *            The name of the data object.
+     * @param val
+     *            The value of the data object.
      *
      * @return a StateData object with <i>name</i> and <i>val</i>ue.
      */
-    public StateData transform(
-        D4EArtifact flys,
-        CallContext  cc,
-        StateData    stateData,
-        String       name,
-        String       val
-    ) {
+    public StateData transform(final D4EArtifact flys, final CallContext cc, final StateData stateData, final String name, final String val) {
         if (log.isDebugEnabled()) {
             log.debug("Transform data ('" + name + "','" + val + "')");
         }
@@ -418,29 +347,29 @@
         return stateData;
     }
 
-
-    /** Override this to do validation.
+    /**
+     * Override this to do validation.
      *
      * Throw an IllegalArgumentException with a localized
      * error message that should be presented to the user in case
-     * the date provided is invalid. */
-    public void validate(Artifact artifact, CallContext context)
-    throws IllegalArgumentException {
-        validate(artifact); /* For compatibility so that classes that
-                               override this method still work. */
+     * the date provided is invalid.
+     */
+    public void validate(final Artifact artifact, final CallContext context) throws IllegalArgumentException {
+        validate(artifact); /*
+                             * For compatibility so that classes that
+                             * override this method still work.
+                             */
     }
+
     /**
      * This method is deprecated.
      * Override the function with the callcontext instead to do
      * localization of error.s
      */
-    public boolean validate(Artifact artifact)
-    throws IllegalArgumentException
-    {
+    public boolean validate(final Artifact artifact) throws IllegalArgumentException {
         return true;
     }
 
-
     /**
      * Returns which UIProvider shall be used to aid user input.
      */
@@ -448,36 +377,15 @@
         return null;
     }
 
-
-    public Object computeAdvance(
-        D4EArtifact artifact,
-        String       hash,
-        CallContext  context,
-        List<Facet>  facets,
-        Object       old
-    ) {
+    public Object computeAdvance(final D4EArtifact artifact, final String hash, final CallContext context, final List<Facet> facets, final Object old) {
         return null;
     }
 
-
-    public Object computeFeed(
-        D4EArtifact artifact,
-        String       hash,
-        CallContext  context,
-        List<Facet>  facets,
-        Object       old
-    ) {
+    public Object computeFeed(final D4EArtifact artifact, final String hash, final CallContext context, final List<Facet> facets, final Object old) {
         return null;
     }
 
-
-    public Object computeInit(
-        D4EArtifact artifact,
-        String       hash,
-        Object       context,
-        CallMeta     meta,
-        List<Facet>  facets)
-    {
+    public Object computeInit(final D4EArtifact artifact, final String hash, final Object context, final CallMeta meta, final List<Facet> facets) {
         return null;
     }
 }

http://dive4elements.wald.intevation.org