annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/EventSelect.java @ 4173:7d4480c0e68e

Allow users to select the current relevant discharge table in historical discharge table calculattion. In addition to this, the discharge tables in the helper panel displayed in the client is ordered in time.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 18 Oct 2012 12:13:48 +0200
parents 58bdf95df5e4
children
rev   line source
2668
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.states.fixation;
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
3 import java.util.List;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
4
2668
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 import org.apache.log4j.Logger;
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
7 import org.w3c.dom.Element;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
8
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
9 import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
10
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
11 import de.intevation.artifacts.CallContext;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
12
2668
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.artifacts.states.DefaultState;
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
14 import de.intevation.flys.artifacts.FLYSArtifact;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
15 import de.intevation.flys.utils.FLYSUtils;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
16
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
17 import de.intevation.flys.artifacts.model.FixingsOverview;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
18 import de.intevation.flys.artifacts.model.FixingsOverviewFactory;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
19 import de.intevation.flys.artifacts.model.FixingsOverview.IdFilter;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
20 import de.intevation.flys.artifacts.model.FixingsOverview.Fixing;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
21
2668
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 /**
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 */
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 public class EventSelect extends DefaultState {
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 /** The logger used in this class. */
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 private static Logger logger = Logger.getLogger(EventSelect.class);
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 /**
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 * The default constructor that initializes an empty State object.
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 */
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 public EventSelect() {
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 }
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 @Override
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 protected String getUIProvider() {
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 return "fix.event_panel";
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 }
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
42
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
43 @Override
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
44 protected Element createStaticData(
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
45 FLYSArtifact flys,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
46 ElementCreator creator,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
47 CallContext cc,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
48 String name,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
49 String value,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
50 String type
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
51 ) {
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
52 int[] array = FLYSUtils.intArrayFromString(value);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
53
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
54 Element dataElement = creator.create("data");
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
55 creator.addAttr(dataElement, "name", name, true);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
56 creator.addAttr(dataElement, "type", type, true);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
57
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
58 String river = FLYSUtils.getRiver(flys).getName();
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
59
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
60 FixingsOverview overview = FixingsOverviewFactory.getOverview(river);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
61
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
62 for (int i = 0; i < array.length; i++) {
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
63 Element itemElement = creator.create("item");
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
64 creator.addAttr(
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
65 itemElement,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
66 "value",
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
67 String.valueOf(array[i]),
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
68 true);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
69
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
70 creator.addAttr(
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
71 itemElement,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
72 "label",
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
73 getLabel(cc, array[i], overview),
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
74 true);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
75 dataElement.appendChild(itemElement);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
76 }
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
77 return dataElement;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
78 }
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
79
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
80
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
81 public static String getLabel(
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
82 CallContext cc,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
83 int value,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
84 FixingsOverview overview
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
85 ) {
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
86 logger.debug("Create label for value: " + value);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
87
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
88 IdFilter filter = new IdFilter(value);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
89 List<Fixing.Column> columns = overview.filter(null, filter);
4051
58bdf95df5e4 More dead code removal. Minor code clean ups.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 2719
diff changeset
90 return columns.isEmpty()
58bdf95df5e4 More dead code removal. Minor code clean ups.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 2719
diff changeset
91 ? ""
58bdf95df5e4 More dead code removal. Minor code clean ups.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 2719
diff changeset
92 : columns.get(0).getDescription();
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
93 }
2668
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 }
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org