annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/EventSelect.java @ 5865:73da40528cf2

River artifacts: Renamed FLYSUtils to RiverUtils.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 15:09:31 +0200
parents 4897a58c8746
children 59ff03ff48f1
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
6 * documentation coming with Dive4Elements River for details.
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
9 package org.dive4elements.river.artifacts.states.fixation;
2668
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
11 import java.util.List;
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 org.apache.log4j.Logger;
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
15 import org.w3c.dom.Element;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
16
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
17 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
18
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
19 import org.dive4elements.artifacts.CallContext;
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
20
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
21 import org.dive4elements.river.artifacts.states.DefaultState;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
22 import org.dive4elements.river.artifacts.FLYSArtifact;
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
23 import org.dive4elements.river.utils.RiverUtils;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
24
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
25 import org.dive4elements.river.artifacts.model.FixingsOverview;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
26 import org.dive4elements.river.artifacts.model.FixingsOverviewFactory;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
27 import org.dive4elements.river.artifacts.model.FixingsOverview.IdFilter;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4051
diff changeset
28 import org.dive4elements.river.artifacts.model.FixingsOverview.Fixing;
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
29
2668
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 * @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
33 */
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 public class EventSelect extends DefaultState {
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 /** 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
37 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
38
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 /**
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 * 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
42 */
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 public EventSelect() {
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 }
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 @Override
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 protected String getUIProvider() {
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 return "fix.event_panel";
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 }
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
50
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
51 @Override
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
52 protected Element createStaticData(
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
53 FLYSArtifact flys,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
54 ElementCreator creator,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
55 CallContext cc,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
56 String name,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
57 String value,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
58 String type
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
59 ) {
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
60 int[] array = RiverUtils.intArrayFromString(value);
2719
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 Element dataElement = creator.create("data");
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
63 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
64 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
65
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
66 String river = RiverUtils.getRiver(flys).getName();
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
67
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
68 FixingsOverview overview = FixingsOverviewFactory.getOverview(river);
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 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
71 Element itemElement = creator.create("item");
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
72 creator.addAttr(
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
73 itemElement,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
74 "value",
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
75 String.valueOf(array[i]),
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
76 true);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
77
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
78 creator.addAttr(
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
79 itemElement,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
80 "label",
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
81 getLabel(cc, array[i], overview),
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
82 true);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
83 dataElement.appendChild(itemElement);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
84 }
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
85 return dataElement;
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
86 }
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
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
89 public static String getLabel(
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
90 CallContext cc,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
91 int value,
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
92 FixingsOverview overview
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
93 ) {
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
94 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
95
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
96 IdFilter filter = new IdFilter(value);
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
97 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
98 return columns.isEmpty()
58bdf95df5e4 More dead code removal. Minor code clean ups.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 2719
diff changeset
99 ? ""
58bdf95df5e4 More dead code removal. Minor code clean ups.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 2719
diff changeset
100 : columns.get(0).getDescription();
2719
d1d35892bbdd Adjusted fixings transitions and implemented event select state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2668
diff changeset
101 }
2668
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102 }
53f42adf4505 Modified states and added new state for fixing analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org