Mercurial > dive4elements > river
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