annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/CharDiameter.java @ 5863:4897a58c8746

River artifacts: Added new copyright headers.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:40:59 +0200
parents 5aa05a7a34b7
children af13ceeba52a
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
6 * documentation coming with Dive4Elements River for details.
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3785
diff changeset
9 package org.dive4elements.river.artifacts.states.minfo;
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10
3649
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
11 import java.util.ArrayList;
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
12 import java.util.List;
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
13
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
14 import org.apache.log4j.Logger;
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3785
diff changeset
16 import org.dive4elements.artifacts.Artifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3785
diff changeset
17 import org.dive4elements.artifacts.CallContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3785
diff changeset
18 import org.dive4elements.artifacts.CallMeta;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3785
diff changeset
19 import org.dive4elements.artifacts.common.model.KVP;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3785
diff changeset
20 import org.dive4elements.river.artifacts.resources.Resources;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3785
diff changeset
21 import org.dive4elements.river.artifacts.states.MultiStringArrayState;
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22
3649
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
23 public class CharDiameter extends MultiStringArrayState {
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24
3649
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
25 private static final Logger logger = Logger.getLogger(CharDiameter.class);
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
26
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
27 public static final String UI_PROVIDER = "parameter-matrix";
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 private static final String CHAR_DIAMETER_MIN = "calc.bed.dmin";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 private static final String CHAR_DIAMETER_MAX = "calc.bed.dmax";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 private static final String CHAR_DIAMETER_90 = "calc.bed.d90";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 private static final String CHAR_DIAMETER_84 = "calc.bed.d84";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 private static final String CHAR_DIAMETER_80 = "calc.bed.d80";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 private static final String CHAR_DIAMETER_75 = "calc.bed.d75";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 private static final String CHAR_DIAMETER_70 = "calc.bed.d70";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 private static final String CHAR_DIAMETER_60 = "calc.bed.d60";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 private static final String CHAR_DIAMETER_50 = "calc.bed.d50";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 private static final String CHAR_DIAMETER_40 = "calc.bed.d40";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 private static final String CHAR_DIAMETER_30 = "calc.bed.d30";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 private static final String CHAR_DIAMETER_25 = "calc.bed.d25";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 private static final String CHAR_DIAMETER_20 = "calc.bed.d20";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 private static final String CHAR_DIAMETER_16 = "calc.bed.d16";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 private static final String CHAR_DIAMETER_10 = "calc.bed.d10";
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 public static final String[] CHAR_DIAMETER = {
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 CHAR_DIAMETER_10,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 CHAR_DIAMETER_16,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 CHAR_DIAMETER_20,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 CHAR_DIAMETER_25,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 CHAR_DIAMETER_30,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 CHAR_DIAMETER_40,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 CHAR_DIAMETER_50,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 CHAR_DIAMETER_60,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 CHAR_DIAMETER_70,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
55 CHAR_DIAMETER_75,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 CHAR_DIAMETER_80,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57 CHAR_DIAMETER_84,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 CHAR_DIAMETER_90,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 CHAR_DIAMETER_MAX,
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 CHAR_DIAMETER_MIN
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 };
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 @Override
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64 public String getUIProvider() {
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 return UI_PROVIDER;
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
66 }
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 @Override
3649
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
69 protected KVP<String, String>[] getOptions(
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
70 Artifact artifact,
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
71 String parameterName,
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
72 CallContext context
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
73 )
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
74 throws IllegalArgumentException
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 {
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 CallMeta meta = context.getMeta();
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77
3649
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
78 List<KVP<String, String>> rows = new ArrayList<KVP<String, String>>();
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
79 String key = parameterName;
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 for (int i = 0; i < CHAR_DIAMETER.length; ++i) {
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 String calc = CHAR_DIAMETER[i];
3649
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
82 rows.add(new KVP (calc,
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
83 Resources.getMsg(meta, calc, calc)));
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 }
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85
3649
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
86 return rows.toArray(new KVP[rows.size()]);
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
87 }
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
88
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
89 @Override
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
90 protected String getLabelFor(CallContext cc, String parameterName,
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
91 String value) throws IllegalArgumentException {
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
92
33bfc01410fb Merged revisions 5375,5379,5382 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3629
diff changeset
93 return Resources.getMsg(cc.getMeta(), value, value);
3629
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 }
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95
f3717e625b0a MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 }

http://dive4elements.wald.intevation.org