Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/states/SoundingsSelect.java @ 8070:d77f53c1e5a1
Added meta infos for multi items to enable client to order the columns in a defined order.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Tue, 05 Aug 2014 18:03:45 +0200 |
parents | 868f55932fe6 |
children | 3772d1433868 |
comparison
equal
deleted
inserted
replaced
8069:86c1ff462fb5 | 8070:d77f53c1e5a1 |
---|---|
8 | 8 |
9 package org.dive4elements.river.artifacts.states; | 9 package org.dive4elements.river.artifacts.states; |
10 | 10 |
11 import java.text.NumberFormat; | 11 import java.text.NumberFormat; |
12 import java.util.ArrayList; | 12 import java.util.ArrayList; |
13 import java.util.Collections; | |
13 import java.util.List; | 14 import java.util.List; |
14 | 15 |
15 import org.apache.log4j.Logger; | 16 import org.apache.log4j.Logger; |
16 | |
17 import org.dive4elements.artifacts.Artifact; | 17 import org.dive4elements.artifacts.Artifact; |
18 import org.dive4elements.artifacts.CallContext; | 18 import org.dive4elements.artifacts.CallContext; |
19 | |
20 import org.dive4elements.artifacts.common.model.KVP; | 19 import org.dive4elements.artifacts.common.model.KVP; |
21 import org.dive4elements.artifacts.common.utils.XMLUtils; | 20 import org.dive4elements.artifacts.common.utils.XMLUtils; |
22 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; | 21 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; |
23 | |
24 import org.dive4elements.river.model.BedHeightSingle; | 22 import org.dive4elements.river.model.BedHeightSingle; |
25 import org.dive4elements.river.model.River; | 23 import org.dive4elements.river.model.River; |
26 | |
27 import org.dive4elements.river.artifacts.D4EArtifact; | 24 import org.dive4elements.river.artifacts.D4EArtifact; |
28 import org.dive4elements.river.artifacts.resources.Resources; | 25 import org.dive4elements.river.artifacts.resources.Resources; |
29 import org.dive4elements.river.utils.Formatter; | 26 import org.dive4elements.river.utils.Formatter; |
30 import org.dive4elements.river.utils.RiverUtils; | 27 import org.dive4elements.river.utils.RiverUtils; |
31 import org.w3c.dom.Element; | 28 import org.w3c.dom.Element; |
55 Element select | 52 Element select |
56 ) { | 53 ) { |
57 try { | 54 try { |
58 creator.addAttr(select, "type", "multiattribute", true); | 55 creator.addAttr(select, "type", "multiattribute", true); |
59 | 56 |
57 appendMeta(creator, select); | |
58 | |
60 getOptions(artifact, name, context, creator, select); | 59 getOptions(artifact, name, context, creator, select); |
61 } | 60 } |
62 catch (IllegalArgumentException iae) { | 61 catch (IllegalArgumentException iae) { |
63 logger.warn("Illegal argument", iae); | 62 logger.warn("Illegal argument", iae); |
64 } | 63 } |
64 } | |
65 | |
66 private static Element order(ElementCreator creator, String name, String order) { | |
67 Element element = creator.create(name); | |
68 creator.addAttr(element, "order", order, false); | |
69 return element; | |
70 } | |
71 | |
72 private void appendMeta(ElementCreator creator, Element select) { | |
73 | |
74 Element meta = creator.create("meta"); | |
75 | |
76 meta.appendChild(order(creator, "year", "0")); | |
77 meta.appendChild(order(creator, "value", "1")); | |
78 meta.appendChild(order(creator, "analyzed_range", "2")); | |
79 meta.appendChild(order(creator, "label", "3")); | |
80 meta.appendChild(order(creator, "minfo_type", "4")); | |
81 | |
82 select.appendChild(meta); | |
83 | |
65 } | 84 } |
66 | 85 |
67 protected KVP<String, String>[] getOptions( | 86 protected KVP<String, String>[] getOptions( |
68 Artifact artifact, | 87 Artifact artifact, |
69 String parameterName, | 88 String parameterName, |
85 double hi = ((D4EArtifact) artifact).getDataAsDouble("ld_to"); | 104 double hi = ((D4EArtifact) artifact).getDataAsDouble("ld_to"); |
86 | 105 |
87 double kmLo = Math.min(lo, hi); | 106 double kmLo = Math.min(lo, hi); |
88 double kmHi = Math.max(lo, hi); | 107 double kmHi = Math.max(lo, hi); |
89 | 108 |
90 List<KVP<String, String>> kvp = new ArrayList<KVP<String, String>>(); | |
91 | |
92 appendSingles(river, kmLo, kmHi, creator, select, context); | 109 appendSingles(river, kmLo, kmHi, creator, select, context); |
93 | 110 |
111 List<KVP<String, String>> kvp = Collections.<KVP<String, String>>emptyList(); | |
94 return kvp.toArray(new KVP[kvp.size()]); | 112 return kvp.toArray(new KVP[kvp.size()]); |
95 } | 113 } |
96 | 114 |
97 | 115 |
98 protected void appendSingles( | 116 protected void appendSingles( |
130 year != null ? s.getYear().toString() : ""); | 148 year != null ? s.getYear().toString() : ""); |
131 creator.addAttr(item, "minfo_type", s.getType().getName()); | 149 creator.addAttr(item, "minfo_type", s.getType().getName()); |
132 select.appendChild(item); | 150 select.appendChild(item); |
133 } | 151 } |
134 } | 152 } |
135 logger.debug("appended singles"); | 153 if (logger.isDebugEnabled()) { |
136 logger.debug(XMLUtils.toString(select)); | 154 logger.debug("appended singles"); |
155 logger.debug(XMLUtils.toString(select)); | |
156 } | |
137 } | 157 } |
138 | 158 |
139 @Override | 159 @Override |
140 protected Element createStaticData( | 160 protected Element createStaticData( |
141 D4EArtifact flys, | 161 D4EArtifact flys, |