Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/AbstractYearEpochUrlState.java @ 9543:3264c2df4f18
WMS-Config
author | gernotbelger |
---|---|
date | Wed, 17 Oct 2018 17:10:52 +0200 |
parents | 787fc085459b |
children | 6dd539efebb1 |
rev | line source |
---|---|
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
3 * |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
7 */ |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
8 |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
9 package org.dive4elements.river.artifacts.uinfo.inundationduration; |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
10 |
9481 | 11 import java.io.IOException; |
12 import java.util.Collection; | |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
13 import java.util.HashMap; |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
14 import java.util.Map; |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
15 |
9481 | 16 import org.dive4elements.artifactdatabase.data.StateData; |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
17 import org.dive4elements.artifacts.Artifact; |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
18 import org.dive4elements.artifacts.CallContext; |
9481 | 19 import org.dive4elements.artifacts.common.utils.XMLUtils; |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
20 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; |
9481 | 21 import org.dive4elements.river.artifacts.sinfo.tkhstate.TsvHelper.TsvReaderException; |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
22 import org.dive4elements.river.artifacts.states.AddTableDataHelper; |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
23 import org.dive4elements.river.artifacts.states.DefaultState; |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
24 import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; |
9481 | 25 import org.dive4elements.river.artifacts.uinfo.inundationduration.UedauernConfiguration.YearType; |
26 import org.dive4elements.river.artifacts.uinfo.salix.ScenarioTypeState; | |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
27 import org.w3c.dom.Element; |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
28 |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
29 /** State in which to fetch years for sedminent load calculation. */ |
9481 | 30 public abstract class AbstractYearEpochUrlState extends DefaultState { |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
31 private static final long serialVersionUID = 1L; |
9481 | 32 private final YearType type; |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
33 |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
34 /** |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
35 * The default constructor that initializes an empty State object. |
9481 | 36 * |
37 * @param jahre | |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
38 */ |
9481 | 39 public AbstractYearEpochUrlState(final YearType type) { |
40 this.type = type; | |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
41 } |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
42 |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
43 @Override |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
44 protected void appendItems(final Artifact artifact, final ElementCreator creator, final String name, final CallContext context, final Element select) { |
9481 | 45 final String dataKey = "year_epoch_select"; |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
46 try { |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
47 if (dataKey.equals(name)) { |
9481 | 48 |
9184 | 49 final InundationDurationAccess access = new InundationDurationAccess((UINFOArtifact) artifact); |
9481 | 50 final UedauernConfiguration properties = UedauernConfiguration.getInstance(access.getRiverName(), this.type); |
51 final Collection<String> items = properties.getLabels(); | |
52 | |
53 final String columnType = "STRING"; | |
54 final AddTableDataHelper helper = new AddTableDataHelper(creator, select, "select_key", context.getMeta()); // pinKeycolum; nicht zu | |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
55 |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
56 helper.addColumn(0, "pinfrom", "60", "common.client.ui.selection", "ICON", "CENTER", "from"); |
9481 | 57 helper.addColumn(1, "select_key", "240", yearOrEpoch(), columnType, "LEFT", null); |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
58 |
9481 | 59 for (final String year : items) { |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
60 final Map<String, String> row = new HashMap<>(); |
9481 | 61 row.put("select_key", year); |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
62 helper.addRow(row); |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
63 |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
64 } |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
65 helper.submitMapToXml(); |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
66 } |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
67 } |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
68 catch (final IllegalArgumentException iae) { |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
69 iae.printStackTrace(); |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
70 } |
9481 | 71 catch (final IOException e) { |
72 e.printStackTrace(); | |
73 } | |
74 catch (final TsvReaderException e) { | |
75 e.printStackTrace(); | |
76 } | |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
77 } |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
78 |
9481 | 79 private String yearOrEpoch() { |
80 switch (this.type) { | |
81 case jahre: | |
82 return "year"; | |
83 | |
84 case mittel: | |
85 return "state.uinfo.epoch"; | |
86 | |
87 default: | |
88 throw new IllegalStateException(); | |
89 } | |
90 } | |
91 | |
92 @Override | |
93 protected Element createData(final XMLUtils.ElementCreator cr, final Artifact artifact, final StateData data, final CallContext context) { | |
94 return ScenarioTypeState.changeHeaderForCurrentState(yearOrEpoch(), data.getName(), cr, context); | |
95 } | |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
96 } |