comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java @ 2709:cd6bcca17de6

Added states and improved transition model for MINFO middle bed height calculation. flys-artifacts/trunk@4431 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 16 May 2012 15:09:55 +0000
parents
children ed612b85fb6d
comparison
equal deleted inserted replaced
2708:282db12a5bdf 2709:cd6bcca17de6
1 package de.intevation.flys.artifacts.states;
2
3 import org.apache.log4j.Logger;
4
5 import de.intevation.artifacts.Artifact;
6 import de.intevation.artifacts.CallContext;
7
8 import de.intevation.artifacts.common.model.KVP;
9
10
11 public class SoundingsSelect extends MultiStringArrayState {
12
13 public static final String SOUNDINGS = "soundings";
14
15
16 private static final Logger logger = Logger.getLogger(SoundingsSelect.class);
17
18
19 @Override
20 public String getUIProvider() {
21 return "parameter-matrix";
22 }
23
24
25 @Override
26 protected KVP<String, String>[] getOptions(
27 Artifact artifact,
28 String parameterName
29 )
30 throws IllegalArgumentException
31 {
32 logger.debug("Get options for parameter: '" + parameterName + "'");
33
34 if (!testParameterName(parameterName)) {
35 throw new IllegalArgumentException(
36 "Invalid parameter for state: '" + parameterName + "'");
37 }
38
39 KVP[] kvp = new KVP[10];
40
41 for (int i = 0; i < 10; i++) {
42 String id = String.valueOf(i);
43 String value = "#" + id;
44
45 kvp[i] = new KVP(id, value);
46 }
47
48 return kvp;
49 }
50
51
52 @Override
53 protected String getLabelFor(
54 CallContext cc,
55 String parameterName,
56 String value
57 ) throws IllegalArgumentException
58 {
59 if (!testParameterName(parameterName)) {
60 throw new IllegalArgumentException(
61 "Invalid parameter for state: '" + parameterName + "'");
62 }
63
64 return "#" + value;
65 }
66
67
68 /**
69 * This method might be used to test, if a parameter name is handled by this
70 * state.
71 *
72 * @param parameterName The name of a parameter.
73 *
74 * @return true, if parameterName is one of <i>MAIN_CHANNEL</i> or
75 * <i>TOTAL_CHANNEL</i>. Otherwise false.
76 */
77 protected boolean testParameterName(String parameterName) {
78 if (parameterName == null || parameterName.length() == 0) {
79 return false;
80 }
81 else if (parameterName.equals(SOUNDINGS)) {
82 return true;
83 }
84 else {
85 return false;
86 }
87 }
88 }
89 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org