annotate artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/LoadScenarioSelectLimit5.java @ 9321:a978b601a034

Salix: Fixed ArrrayoutOfBoundsException; minor cleanup
author gernotbelger
date Fri, 27 Jul 2018 10:25:09 +0200
parents 1b2623dff742
children 3b188c34d422
rev   line source
9222
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
2 * Software engineering by Intevation GmbH
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
3 *
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
7 */
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
8
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
9 package org.dive4elements.river.artifacts.uinfo.salix;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
10
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
11 import java.util.HashMap;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
12 import java.util.Map;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
13
9273
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
14 import org.dive4elements.artifactdatabase.data.StateData;
9222
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
15 import org.dive4elements.artifacts.Artifact;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
16 import org.dive4elements.artifacts.CallContext;
9273
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
17 import org.dive4elements.artifacts.common.utils.XMLUtils;
9222
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
18 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
19 import org.dive4elements.river.artifacts.states.AddTableDataHelper;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
20 import org.dive4elements.river.artifacts.states.DefaultState;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
21 import org.w3c.dom.Element;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
22
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
23 /** State in which to fetch years for sedminent load calculation. */
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
24 public class LoadScenarioSelectLimit5 extends DefaultState {
9321
a978b601a034 Salix: Fixed ArrrayoutOfBoundsException; minor cleanup
gernotbelger
parents: 9273
diff changeset
25
9222
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
26 private static final long serialVersionUID = 1L;
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
27
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
28 /**
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
29 * The default constructor that initializes an empty State object.
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
30 */
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
31 public LoadScenarioSelectLimit5() {
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
32 }
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
33
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
34 /** Year Select Widget. */
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
35 @Override
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
36 protected String getUIProvider() {
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
37 return "uinfo.sedimentheight_select.limit5";
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
38 }
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
39
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
40 @Override
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
41 protected void appendItems(final Artifact artifact, final ElementCreator creator, final String name, final CallContext context, final Element select) {
9273
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
42
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
43 // the client is expecting helper input. bad abstraction. the table does not appear, only because no columns are added.
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
44 // TODO Implement abstraction without helper on client side and then delete this method
9222
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
45 final String datakey = "sedimentheight";
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
46 try {
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
47 if (datakey.equals(name)) {
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
48
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
49 final AddTableDataHelper helper = new AddTableDataHelper(creator, select, "cm", context.getMeta());
9273
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
50 for (int i = -200; i < -100; i = i + 10) {
9222
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
51 final Map<String, String> row = new HashMap<>();
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
52 row.put("cm", Integer.toString(i));
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
53 helper.addRow(row);
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
54 }
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
55 helper.submitMapToXml();
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
56 }
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
57 }
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
58 catch (final IllegalArgumentException iae) {
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
59 iae.printStackTrace();
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
60 }
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
61 }
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
62
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents:
diff changeset
63 @Override
9273
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
64 protected Element createData(final XMLUtils.ElementCreator cr, final Artifact artifact, final StateData data, final CallContext context) {
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
65 return ScenarioTypeState.changeHeaderForCurrentState("state.uinfo.inundation.scenario.regional", data.getName(), cr, context);
1b2623dff742 salix another review
gernotbelger
parents: 9246
diff changeset
66 }
9321
a978b601a034 Salix: Fixed ArrrayoutOfBoundsException; minor cleanup
gernotbelger
parents: 9273
diff changeset
67 }

http://dive4elements.wald.intevation.org