annotate artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesTableEditState.java @ 9403:e2da9c8a7c57

VegetationZone umbenennen
author gernotbelger
date Wed, 15 Aug 2018 13:22:00 +0200
parents e511eb935ccd
children
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
9118
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
12 import org.dive4elements.artifactdatabase.ProtocolUtils;
9069
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
13 import org.dive4elements.artifacts.Artifact;
9118
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
14 import org.dive4elements.artifacts.CallContext;
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
15 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
16 import org.dive4elements.river.artifacts.D4EArtifact;
9402
e511eb935ccd Changed hard coded standard vegetation zone table to fetching it from the database, i18n for the standard zone names
mschaefer
parents: 9118
diff changeset
17 import org.dive4elements.river.artifacts.access.RiverAccess;
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
18 import org.dive4elements.river.artifacts.states.DefaultState;
9402
e511eb935ccd Changed hard coded standard vegetation zone table to fetching it from the database, i18n for the standard zone names
mschaefer
parents: 9118
diff changeset
19 import org.dive4elements.river.model.River;
9118
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
20 import org.w3c.dom.Element;
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
21
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
22 /**
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
23 * @author Domenico Nardi Tironi
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
24 */
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
25 public class VegetationZonesTableEditState extends DefaultState {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
26
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
27 private static final long serialVersionUID = 1L;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
28
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
29 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
30 protected String getUIProvider() {
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
31 return "uinfo.vegetationzones.table.edit";
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
32 }
9069
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
33
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
34 @Override
9118
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
35 protected Element[] createItems(final ElementCreator cr, final Artifact artifact, final String name, final CallContext context) {
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
36 final String datakey = "vegzones";
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
37 if (name.equals(datakey)) {
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
38 final Element item = ProtocolUtils.createArtNode(cr, "item", null, null);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
39 final Element label = ProtocolUtils.createArtNode(cr, "label", null, null);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
40 final Element value = ProtocolUtils.createArtNode(cr, "value", null, null);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
41 final D4EArtifact flys = (D4EArtifact) artifact;
9402
e511eb935ccd Changed hard coded standard vegetation zone table to fetching it from the database, i18n for the standard zone names
mschaefer
parents: 9118
diff changeset
42 final River river = new RiverAccess(flys).getRiver();
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9402
diff changeset
43 final String s = flys.getDataAsString(datakey) == null ? VegetationZoneServerClientXChange.parseListToDataString(VegetationZoneServerClientXChange.getStandardList(river, context))
9118
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
44 : flys.getDataAsString(datakey);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
45
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
46 value.setTextContent(s);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
47 item.appendChild(label);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
48 item.appendChild(value);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
49 return new Element[] { item };
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
50 }
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
51 return new Element[] {};
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
52 }
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
53
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
54 @Override
9069
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
55 public boolean validate(final Artifact artifact) throws IllegalArgumentException {
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
56 // TODO: check verstehen
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
57
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
58 // final InundationDurationAccess access = new InundationDurationAccess((SINFOArtifact) artifact);
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
59
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
60 // Second year should be later than first.
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
61
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
62 // if (access.getYears() == null || access.getYears().length == 0)
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
63 return true;
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
64 // throw new IllegalArgumentException("error_years_wrong");
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
65
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
66 // return true;
1ffd38826175 access uinfo.vegetationzones+inundation_duration
gernotbelger
parents: 9066
diff changeset
67 }
9118
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
68
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
69 /**
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
70 * Creats the data element used for the static part of DESCRIBE document.
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
71 */
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
72 // @Override
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
73 // protected Element createStaticData(final D4EArtifact flys, final ElementCreator creator, final CallContext cc, final
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
74 // String name, final String value,
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
75 // final String type) {
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
76 // final Element dataElement = creator.create("data");
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
77 // creator.addAttr(dataElement, "name", name, true);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
78 // creator.addAttr(dataElement, "type", type, true);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
79 //
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
80 // final Element itemElement = creator.create("item");
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
81 // creator.addAttr(itemElement, "value", value, true);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
82 //
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
83 // final String[] labels = getLabels(cc, value);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
84 // final Object[] obj = new Object[] { labels[0] };
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
85 //
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
86 // // TODO own i18n
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
87 // final String attrValue = Resources.getMsg(cc.getMeta(), "wsp.selected.string", "wsp.selected.string", obj);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
88 // // I18N_STATIC_KEY, I18N_STATIC_KEY, obj);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
89 //
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
90 // creator.addAttr(itemElement, "label", attrValue, true);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
91 // dataElement.appendChild(itemElement);
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
92 //
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
93 // return dataElement;
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
94 // }
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9069
diff changeset
95
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
96 }

http://dive4elements.wald.intevation.org