comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeState.java @ 2705:71f072d8b3d8

Improved the MultiIntArrayState, so the clients are able to display human readable strings for parameters and its values. flys-artifacts/trunk@4422 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 16 May 2012 10:52:12 +0000
parents 1bc35de0b786
children 4a76da133144
comparison
equal deleted inserted replaced
2704:d930245c9956 2705:71f072d8b3d8
3 import java.util.List; 3 import java.util.List;
4 4
5 import org.apache.log4j.Logger; 5 import org.apache.log4j.Logger;
6 6
7 import de.intevation.artifacts.Artifact; 7 import de.intevation.artifacts.Artifact;
8 import de.intevation.artifacts.CallContext;
8 9
9 import de.intevation.artifacts.common.model.KVP; 10 import de.intevation.artifacts.common.model.KVP;
10 11
11 import de.intevation.flys.model.DischargeZone; 12 import de.intevation.flys.model.DischargeZone;
12 import de.intevation.flys.model.River; 13 import de.intevation.flys.model.River;
74 75
75 return kvp; 76 return kvp;
76 } 77 }
77 78
78 79
80 @Override
81 protected String getLabelFor(
82 CallContext cc,
83 String parameterName,
84 int value
85 ) throws IllegalArgumentException
86 {
87 if (!testParameterName(parameterName)) {
88 throw new IllegalArgumentException(
89 "Invalid parameter for state: '" + parameterName + "'");
90 }
91
92 DischargeZone zone = DischargeZone.getDischargeZoneById(value);
93
94 if (zone == null) {
95 throw new IllegalArgumentException(
96 "Invalid id for DischargeZone: '" + value + "'");
97 }
98
99 String lo = zone.getLowerDischarge();
100 String hi = zone.getUpperDischarge();
101
102 return hi != null && lo.equals(hi)
103 ? lo + " - " + hi
104 : lo;
105 }
106
107
79 /** 108 /**
80 * This method might be used to test, if a parameter name is handled by this 109 * This method might be used to test, if a parameter name is handled by this
81 * state. 110 * state.
82 * 111 *
83 * @param parameterName The name of a parameter. 112 * @param parameterName The name of a parameter.

http://dive4elements.wald.intevation.org