Mercurial > dive4elements > river
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 | 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; |
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 | 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 | 21 |
22 /** | |
23 * @author Domenico Nardi Tironi | |
24 */ | |
9066 | 25 public class VegetationZonesTableEditState extends DefaultState { |
9064 | 26 |
27 private static final long serialVersionUID = 1L; | |
28 | |
29 @Override | |
30 protected String getUIProvider() { | |
9066 | 31 return "uinfo.vegetationzones.table.edit"; |
9064 | 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 | 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 | 96 } |