Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/AbstractYearEpochUrlState.java @ 9559:ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
author | gernotbelger |
---|---|
date | Wed, 24 Oct 2018 18:40:38 +0200 |
parents | 6dd539efebb1 |
children |
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 |
9559
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
43 protected abstract String getDatakey(); |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
44 |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
45 @Override |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
46 protected void appendItems(final Artifact artifact, final ElementCreator creator, final String name, final CallContext context, final Element select) { |
9559
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
47 final String dataKey = getDatakey(); |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
48 try { |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
49 if (dataKey.equals(name)) { |
9481 | 50 |
9184 | 51 final InundationDurationAccess access = new InundationDurationAccess((UINFOArtifact) artifact); |
9481 | 52 final UedauernConfiguration properties = UedauernConfiguration.getInstance(access.getRiverName(), this.type); |
53 final Collection<String> items = properties.getLabels(); | |
54 | |
9544 | 55 final String columnType = "TEXT"; |
9481 | 56 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
|
57 |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
58 helper.addColumn(0, "pinfrom", "60", "common.client.ui.selection", "ICON", "CENTER", "from"); |
9559
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
59 helper.addColumn(1, "select_key", "240", getColumnHeader(), columnType, "LEFT", null); |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
60 |
9481 | 61 for (final String year : items) { |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
62 final Map<String, String> row = new HashMap<>(); |
9481 | 63 row.put("select_key", year); |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
64 helper.addRow(row); |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
65 |
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 helper.submitMapToXml(); |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
68 } |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
69 } |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
70 catch (final IllegalArgumentException iae) { |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
71 iae.printStackTrace(); |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
72 } |
9481 | 73 catch (final IOException e) { |
74 e.printStackTrace(); | |
75 } | |
76 catch (final TsvReaderException e) { | |
77 e.printStackTrace(); | |
78 } | |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
79 } |
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
80 |
9559
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
81 private String getColumnHeader() { |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
82 switch (this.type) { |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
83 case szenario: |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
84 return "state.uinfo.inundation.scenario.table_header"; |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
85 default: |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
86 return getTypeString(); |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
87 |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
88 } |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
89 |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
90 } |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
91 |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
92 private String getTypeString() { |
9481 | 93 switch (this.type) { |
94 case jahre: | |
95 return "year"; | |
96 | |
97 case mittel: | |
98 return "state.uinfo.epoch"; | |
99 | |
9559
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
100 case szenario: |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
101 return "state.uinfo.inundation.scenario"; |
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
102 |
9481 | 103 default: |
104 throw new IllegalStateException(); | |
105 } | |
106 } | |
107 | |
108 @Override | |
109 protected Element createData(final XMLUtils.ElementCreator cr, final Artifact artifact, final StateData data, final CallContext context) { | |
9559
ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents:
9544
diff
changeset
|
110 return ScenarioTypeState.changeHeaderForCurrentState(getTypeString(), data.getName(), cr, context); |
9481 | 111 } |
9178
2f5052835b76
uinfo inundationduration langjähr. Mittel, Uedauern.properties, Meldung
gernotbelger
parents:
diff
changeset
|
112 } |