Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java @ 3722:c91e7db0fd4b
Set data for characteristic diameter for use in parameter matrix UI.
flys-artifacts/trunk@5382 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 07 Sep 2012 12:03:48 +0000 |
parents | f3717e625b0a |
children | 9d12526c1933 |
comparison
equal
deleted
inserted
replaced
3721:1cfe788325d5 | 3722:c91e7db0fd4b |
---|---|
1 package de.intevation.flys.artifacts.states.minfo; | 1 package de.intevation.flys.artifacts.states.minfo; |
2 | 2 |
3 import java.util.ArrayList; | |
4 import java.util.List; | |
5 | |
6 import org.apache.log4j.Logger; | |
7 import org.apache.poi.hssf.record.formula.functions.Rows; | |
3 import org.w3c.dom.Element; | 8 import org.w3c.dom.Element; |
4 | 9 |
5 import de.intevation.artifacts.Artifact; | 10 import de.intevation.artifacts.Artifact; |
6 import de.intevation.artifacts.CallContext; | 11 import de.intevation.artifacts.CallContext; |
7 import de.intevation.artifacts.CallMeta; | 12 import de.intevation.artifacts.CallMeta; |
13 import de.intevation.artifacts.common.model.KVP; | |
8 import de.intevation.artifacts.common.utils.XMLUtils; | 14 import de.intevation.artifacts.common.utils.XMLUtils; |
9 import de.intevation.flys.artifacts.resources.Resources; | 15 import de.intevation.flys.artifacts.resources.Resources; |
10 import de.intevation.flys.artifacts.states.DefaultState; | 16 import de.intevation.flys.artifacts.states.DefaultState; |
17 import de.intevation.flys.artifacts.states.MultiStringArrayState; | |
11 | 18 |
12 public class CharDiameter extends DefaultState { | 19 public class CharDiameter extends MultiStringArrayState { |
13 | 20 |
14 public static final String UI_PROVIDER = "minfo.bed.char_diameter"; | 21 private static final Logger logger = Logger.getLogger(CharDiameter.class); |
22 | |
23 public static final String UI_PROVIDER = "parameter-matrix"; | |
15 | 24 |
16 private static final String CHAR_DIAMETER_MIN = "calc.bed.dmin"; | 25 private static final String CHAR_DIAMETER_MIN = "calc.bed.dmin"; |
17 private static final String CHAR_DIAMETER_MAX = "calc.bed.dmax"; | 26 private static final String CHAR_DIAMETER_MAX = "calc.bed.dmax"; |
18 private static final String CHAR_DIAMETER_MID = "calc.bed.dmid"; | 27 private static final String CHAR_DIAMETER_MID = "calc.bed.dmid"; |
19 private static final String CHAR_DIAMETER_90 = "calc.bed.d90"; | 28 private static final String CHAR_DIAMETER_90 = "calc.bed.d90"; |
53 public String getUIProvider() { | 62 public String getUIProvider() { |
54 return UI_PROVIDER; | 63 return UI_PROVIDER; |
55 } | 64 } |
56 | 65 |
57 @Override | 66 @Override |
58 protected Element[] createItems( | 67 protected KVP<String, String>[] getOptions( |
59 XMLUtils.ElementCreator cr, | 68 Artifact artifact, |
60 Artifact artifact, | 69 String parameterName, |
61 String name, | 70 CallContext context |
62 CallContext context) | 71 ) |
72 throws IllegalArgumentException | |
63 { | 73 { |
64 CallMeta meta = context.getMeta(); | 74 CallMeta meta = context.getMeta(); |
65 Element[] calcs = new Element[CHAR_DIAMETER.length]; | |
66 | 75 |
76 List<KVP<String, String>> rows = new ArrayList<KVP<String, String>>(); | |
77 String key = parameterName; | |
67 for (int i = 0; i < CHAR_DIAMETER.length; ++i) { | 78 for (int i = 0; i < CHAR_DIAMETER.length; ++i) { |
68 String calc = CHAR_DIAMETER[i]; | 79 String calc = CHAR_DIAMETER[i]; |
69 calcs[i] = createItem( | 80 rows.add(new KVP (calc, |
70 cr, new String[] { | 81 Resources.getMsg(meta, calc, calc))); |
71 Resources.getMsg(meta, calc, calc), | |
72 calc | |
73 }); | |
74 } | 82 } |
75 | 83 |
76 return calcs; | 84 return rows.toArray(new KVP[rows.size()]); |
85 } | |
86 | |
87 @Override | |
88 protected String getLabelFor(CallContext cc, String parameterName, | |
89 String value) throws IllegalArgumentException { | |
90 | |
91 return Resources.getMsg(cc.getMeta(), value, value); | |
77 } | 92 } |
78 | 93 |
79 } | 94 } |