gernotbelger@9064: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9064: * Software engineering by gernotbelger@9064: * Björnsen Beratende Ingenieure GmbH gernotbelger@9064: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9064: * gernotbelger@9064: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9064: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9064: * documentation coming with Dive4Elements River for details. gernotbelger@9064: */ gernotbelger@9064: package org.dive4elements.river.artifacts.uinfo.vegetationzones; gernotbelger@9064: gernotbelger@9133: import org.dive4elements.artifactdatabase.ProtocolUtils; gernotbelger@9133: import org.dive4elements.artifacts.Artifact; gernotbelger@9133: import org.dive4elements.artifacts.CallContext; gernotbelger@9133: import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; gernotbelger@9133: import org.dive4elements.river.artifacts.D4EArtifact; mschaefer@9402: import org.dive4elements.river.artifacts.access.RiverAccess; gernotbelger@9064: import org.dive4elements.river.artifacts.states.DefaultState; mschaefer@9402: import org.dive4elements.river.model.River; gernotbelger@9133: import org.w3c.dom.Element; gernotbelger@9064: gernotbelger@9064: /** gernotbelger@9064: * @author Domenico Nardi Tironi gernotbelger@9064: */ gernotbelger@9064: public class VegetationZonesTableState extends DefaultState { gernotbelger@9064: gernotbelger@9064: private static final long serialVersionUID = 1L; gernotbelger@9064: gernotbelger@9064: @Override gernotbelger@9064: protected String getUIProvider() { gernotbelger@9064: return "uinfo.vegetationzones.table"; gernotbelger@9064: } gernotbelger@9133: gernotbelger@9133: // TODO GET REAL DATA gernotbelger@9133: @Override gernotbelger@9133: protected Element[] createItems(final ElementCreator cr, final Artifact artifact, final String name, final CallContext context) { gernotbelger@9133: final String datakey = "vegzones"; gernotbelger@9133: if (name.equals(datakey)) { gernotbelger@9133: final Element item = ProtocolUtils.createArtNode(cr, "item", null, null); gernotbelger@9133: final Element label = ProtocolUtils.createArtNode(cr, "label", null, null); gernotbelger@9133: final Element value = ProtocolUtils.createArtNode(cr, "value", null, null); gernotbelger@9133: final D4EArtifact flys = (D4EArtifact) artifact; mschaefer@9402: final River river = new RiverAccess(flys).getRiver(); gernotbelger@9403: final String s = flys.getDataAsString(datakey) == null ? VegetationZoneServerClientXChange.parseListToDataString(VegetationZoneServerClientXChange.getStandardList(river, context)) gernotbelger@9133: : flys.getDataAsString(datakey); gernotbelger@9133: gernotbelger@9133: value.setTextContent(s); gernotbelger@9133: item.appendChild(label); gernotbelger@9133: item.appendChild(value); gernotbelger@9133: return new Element[] { item }; gernotbelger@9133: } gernotbelger@9133: return new Element[] {}; gernotbelger@9133: } gernotbelger@9064: }