annotate artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesTableState.java @ 9133:af73fdd96920

Title current/historical diff pair; limit on entries in diff'pair twin_panel
author gernotbelger
date Thu, 07 Jun 2018 11:41:10 +0200
parents 28c50f5efceb
children e511eb935ccd
rev   line source
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
2 * Software engineering by
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
5 *
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
9 */
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.uinfo.vegetationzones;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
11
9133
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
12 import org.dive4elements.artifactdatabase.ProtocolUtils;
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
13 import org.dive4elements.artifacts.Artifact;
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
14 import org.dive4elements.artifacts.CallContext;
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
15 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
16 import org.dive4elements.river.artifacts.D4EArtifact;
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
17 import org.dive4elements.river.artifacts.states.DefaultState;
9133
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
18 import org.w3c.dom.Element;
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
19
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
20 /**
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
21 * @author Domenico Nardi Tironi
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
22 */
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
23 public class VegetationZonesTableState extends DefaultState {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
24
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
25 private static final long serialVersionUID = 1L;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
26
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
27 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
28 protected String getUIProvider() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
29 return "uinfo.vegetationzones.table";
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
30 }
9133
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
31
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
32 // TODO GET REAL DATA
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
33 @Override
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
34 protected Element[] createItems(final ElementCreator cr, final Artifact artifact, final String name, final CallContext context) {
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
35 final String datakey = "vegzones";
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
36 if (name.equals(datakey)) {
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
37 final Element item = ProtocolUtils.createArtNode(cr, "item", null, null);
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
38 final Element label = ProtocolUtils.createArtNode(cr, "label", null, null);
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
39 final Element value = ProtocolUtils.createArtNode(cr, "value", null, null);
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
40 final D4EArtifact flys = (D4EArtifact) artifact;
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
41 final String s = flys.getDataAsString(datakey) == null ? VegetationZone.parseListToDataString(VegetationZone.getStandardList())
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
42 : flys.getDataAsString(datakey);
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
43
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
44 value.setTextContent(s);
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
45 item.appendChild(label);
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
46 item.appendChild(value);
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
47 return new Element[] { item };
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
48 }
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
49 return new Element[] {};
af73fdd96920 Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents: 9064
diff changeset
50 }
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
51 }

http://dive4elements.wald.intevation.org