Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/EventSelect.java @ 9267:c7e5285d434f
bundu bezugswst work
author | gernotbelger |
---|---|
date | Wed, 18 Jul 2018 15:34:53 +0200 |
parents | e4606eae8ea5 |
children | 9744ce3c3853 |
comparison
equal
deleted
inserted
replaced
9266:465347d12990 | 9267:c7e5285d434f |
---|---|
9 package org.dive4elements.river.artifacts.states.fixation; | 9 package org.dive4elements.river.artifacts.states.fixation; |
10 | 10 |
11 import java.util.List; | 11 import java.util.List; |
12 | 12 |
13 import org.apache.log4j.Logger; | 13 import org.apache.log4j.Logger; |
14 | 14 import org.dive4elements.artifacts.CallContext; |
15 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; | |
16 import org.dive4elements.river.artifacts.D4EArtifact; | |
17 import org.dive4elements.river.artifacts.model.FixingsOverview; | |
18 import org.dive4elements.river.artifacts.model.FixingsOverview.Fixing; | |
19 import org.dive4elements.river.artifacts.model.FixingsOverview.IdFilter; | |
20 import org.dive4elements.river.artifacts.model.FixingsOverviewFactory; | |
21 import org.dive4elements.river.artifacts.states.DefaultState; | |
22 import org.dive4elements.river.utils.RiverUtils; | |
15 import org.w3c.dom.Element; | 23 import org.w3c.dom.Element; |
16 | |
17 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; | |
18 | |
19 import org.dive4elements.artifacts.CallContext; | |
20 | |
21 import org.dive4elements.river.artifacts.states.DefaultState; | |
22 import org.dive4elements.river.artifacts.D4EArtifact; | |
23 import org.dive4elements.river.utils.RiverUtils; | |
24 | |
25 import org.dive4elements.river.artifacts.model.FixingsOverview; | |
26 import org.dive4elements.river.artifacts.model.FixingsOverviewFactory; | |
27 import org.dive4elements.river.artifacts.model.FixingsOverview.IdFilter; | |
28 import org.dive4elements.river.artifacts.model.FixingsOverview.Fixing; | |
29 | |
30 | 24 |
31 /** | 25 /** |
32 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> | 26 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
33 */ | 27 */ |
34 public class EventSelect extends DefaultState { | 28 public class EventSelect extends DefaultState { |
35 | 29 |
36 /** The log used in this class. */ | 30 /** The log used in this class. */ |
37 private static Logger log = Logger.getLogger(EventSelect.class); | 31 private static Logger log = Logger.getLogger(EventSelect.class); |
38 | |
39 | 32 |
40 /** | 33 /** |
41 * The default constructor that initializes an empty State object. | 34 * The default constructor that initializes an empty State object. |
42 */ | 35 */ |
43 public EventSelect() { | 36 public EventSelect() { |
47 protected String getUIProvider() { | 40 protected String getUIProvider() { |
48 return "fix.event_panel"; | 41 return "fix.event_panel"; |
49 } | 42 } |
50 | 43 |
51 @Override | 44 @Override |
52 protected Element createStaticData( | 45 protected Element createStaticData(final D4EArtifact flys, final ElementCreator creator, final CallContext cc, final String name, final String value, |
53 D4EArtifact flys, | 46 final String type) { |
54 ElementCreator creator, | 47 return this.createStaticDataPublic(flys, creator, cc, name, value, type); |
55 CallContext cc, | 48 } |
56 String name, | |
57 String value, | |
58 String type | |
59 ) { | |
60 int[] array = RiverUtils.intArrayFromString(value); | |
61 | 49 |
62 Element dataElement = creator.create("data"); | 50 public final static Element createStaticDataPublic(final D4EArtifact flys, final ElementCreator creator, final CallContext cc, final String name, |
51 final String value, final String type) { | |
52 final int[] array = RiverUtils.intArrayFromString(value); | |
53 | |
54 final Element dataElement = creator.create("data"); | |
63 creator.addAttr(dataElement, "name", name, true); | 55 creator.addAttr(dataElement, "name", name, true); |
64 creator.addAttr(dataElement, "type", type, true); | 56 creator.addAttr(dataElement, "type", type, true); |
65 | 57 |
66 String river = RiverUtils.getRiver(flys).getName(); | 58 final String river = RiverUtils.getRiver(flys).getName(); |
67 | 59 |
68 FixingsOverview overview = FixingsOverviewFactory.getOverview(river); | 60 final FixingsOverview overview = FixingsOverviewFactory.getOverview(river); |
69 | 61 |
70 for (int i = 0; i < array.length; i++) { | 62 for (final int element : array) { |
71 Element itemElement = creator.create("item"); | 63 final Element itemElement = creator.create("item"); |
72 creator.addAttr( | 64 creator.addAttr(itemElement, "value", String.valueOf(element), true); |
73 itemElement, | |
74 "value", | |
75 String.valueOf(array[i]), | |
76 true); | |
77 | 65 |
78 creator.addAttr( | 66 creator.addAttr(itemElement, "label", getLabelForEvent(cc, element, overview), true); |
79 itemElement, | |
80 "label", | |
81 getLabel(cc, array[i], overview), | |
82 true); | |
83 dataElement.appendChild(itemElement); | 67 dataElement.appendChild(itemElement); |
84 } | 68 } |
85 return dataElement; | 69 return dataElement; |
86 } | 70 } |
87 | 71 |
88 | 72 private static final String getLabelForEvent(final CallContext cc, final int value, final FixingsOverview overview) { |
89 public static String getLabel( | |
90 CallContext cc, | |
91 int value, | |
92 FixingsOverview overview | |
93 ) { | |
94 log.debug("Create label for value: " + value); | 73 log.debug("Create label for value: " + value); |
95 | 74 |
96 IdFilter filter = new IdFilter(value); | 75 final IdFilter filter = new IdFilter(value); |
97 List<Fixing.Column> columns = overview.filter(null, filter); | 76 final List<Fixing.Column> columns = overview.filter(null, filter); |
98 return columns.isEmpty() | 77 return columns.isEmpty() ? "" : columns.get(0).getDescription(); |
99 ? "" | |
100 : columns.get(0).getDescription(); | |
101 } | 78 } |
102 } | 79 } |
103 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : | 80 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |