Mercurial > dive4elements > river
annotate 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 |
rev | line source |
---|---|
9064 | 1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
2 * Software engineering by | |
3 * Björnsen Beratende Ingenieure GmbH | |
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt | |
5 * | |
6 * This file is Free Software under the GNU AGPL (>=v3) | |
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the | |
8 * documentation coming with Dive4Elements River for details. | |
9 */ | |
10 package org.dive4elements.river.artifacts.uinfo.vegetationzones; | |
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; |
9064 | 17 import org.dive4elements.river.artifacts.states.DefaultState; |
9118
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
18 import org.w3c.dom.Element; |
9064 | 19 |
20 /** | |
21 * @author Domenico Nardi Tironi | |
22 */ | |
9066 | 23 public class VegetationZonesTableEditState extends DefaultState { |
9064 | 24 |
25 private static final long serialVersionUID = 1L; | |
26 | |
27 @Override | |
28 protected String getUIProvider() { | |
9066 | 29 return "uinfo.vegetationzones.table.edit"; |
9064 | 30 } |
9069
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
31 |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
32 @Override |
9118
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
33 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
|
34 final String datakey = "vegzones"; |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
35 if (name.equals(datakey)) { |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
36 final Element item = ProtocolUtils.createArtNode(cr, "item", null, null); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
37 final Element label = ProtocolUtils.createArtNode(cr, "label", null, null); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
38 final Element value = ProtocolUtils.createArtNode(cr, "value", null, null); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
39 final D4EArtifact flys = (D4EArtifact) artifact; |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
40 final String s = flys.getDataAsString(datakey) == null ? VegetationZone.parseListToDataString(VegetationZone.getStandardList()) |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
41 : flys.getDataAsString(datakey); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
42 |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
43 value.setTextContent(s); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
44 item.appendChild(label); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
45 item.appendChild(value); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
46 return new Element[] { item }; |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
47 } |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
48 return new Element[] {}; |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
49 } |
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 @Override |
9069
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
52 public boolean validate(final Artifact artifact) throws IllegalArgumentException { |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
53 // TODO: check verstehen |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
54 |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
55 // final InundationDurationAccess access = new InundationDurationAccess((SINFOArtifact) artifact); |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
56 |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
57 // Second year should be later than first. |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
58 |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
59 // if (access.getYears() == null || access.getYears().length == 0) |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
60 return true; |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
61 // throw new IllegalArgumentException("error_years_wrong"); |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9066
diff
changeset
|
62 |
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 } |
9118
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
65 |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
66 /** |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
67 * 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
|
68 */ |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
69 // @Override |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
70 // 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
|
71 // String name, final String value, |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
72 // final String type) { |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
73 // final Element dataElement = creator.create("data"); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
74 // creator.addAttr(dataElement, "name", name, true); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
75 // creator.addAttr(dataElement, "type", type, true); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
76 // |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
77 // final Element itemElement = creator.create("item"); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
78 // creator.addAttr(itemElement, "value", value, 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 String[] labels = getLabels(cc, value); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
81 // final Object[] obj = new Object[] { labels[0] }; |
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 // // TODO own i18n |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
84 // 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
|
85 // // I18N_STATIC_KEY, I18N_STATIC_KEY, obj); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
86 // |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
87 // creator.addAttr(itemElement, "label", attrValue, true); |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
88 // dataElement.appendChild(itemElement); |
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 // return dataElement; |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
91 // } |
431f1c269be5
Veg-Zone Table improved, State change data recovery;
gernotbelger
parents:
9069
diff
changeset
|
92 |
9064 | 93 } |