diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesTableEditState.java @ 9118:431f1c269be5

Veg-Zone Table improved, State change data recovery;
author gernotbelger
date Mon, 04 Jun 2018 19:38:59 +0200
parents 1ffd38826175
children e511eb935ccd
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesTableEditState.java	Mon Jun 04 17:31:51 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesTableEditState.java	Mon Jun 04 19:38:59 2018 +0200
@@ -9,8 +9,13 @@
  */
 package org.dive4elements.river.artifacts.uinfo.vegetationzones;
 
+import org.dive4elements.artifactdatabase.ProtocolUtils;
 import org.dive4elements.artifacts.Artifact;
+import org.dive4elements.artifacts.CallContext;
+import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
+import org.dive4elements.river.artifacts.D4EArtifact;
 import org.dive4elements.river.artifacts.states.DefaultState;
+import org.w3c.dom.Element;
 
 /**
  * @author Domenico Nardi Tironi
@@ -25,6 +30,25 @@
     }
 
     @Override
+    protected Element[] createItems(final ElementCreator cr, final Artifact artifact, final String name, final CallContext context) {
+        final String datakey = "vegzones";
+        if (name.equals(datakey)) {
+            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 D4EArtifact flys = (D4EArtifact) artifact;
+            final String s = flys.getDataAsString(datakey) == null ? VegetationZone.parseListToDataString(VegetationZone.getStandardList())
+                    : flys.getDataAsString(datakey);
+
+            value.setTextContent(s);
+            item.appendChild(label);
+            item.appendChild(value);
+            return new Element[] { item };
+        }
+        return new Element[] {};
+    }
+
+    @Override
     public boolean validate(final Artifact artifact) throws IllegalArgumentException {
         // TODO: check verstehen
 
@@ -38,4 +62,32 @@
 
         // return true;
     }
+
+    /**
+     * Creats the data element used for the static part of DESCRIBE document.
+     */
+    // @Override
+    // 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);
+    //
+    // final Element itemElement = creator.create("item");
+    // creator.addAttr(itemElement, "value", value, true);
+    //
+    // final String[] labels = getLabels(cc, value);
+    // final Object[] obj = new Object[] { labels[0] };
+    //
+    // // TODO own i18n
+    // final String attrValue = Resources.getMsg(cc.getMeta(), "wsp.selected.string", "wsp.selected.string", obj);
+    // // I18N_STATIC_KEY, I18N_STATIC_KEY, obj);
+    //
+    // creator.addAttr(itemElement, "label", attrValue, true);
+    // dataElement.appendChild(itemElement);
+    //
+    // return dataElement;
+    // }
+
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org