annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedloadDiameterDataFacet.java @ 8260:48d4921665e3

Making i18n work was just easier using less wrappers in this case (issue1631).
author Tom Gottfried <tom@intevation.de>
date Thu, 11 Sep 2014 17:37:03 +0200
parents e4606eae8ea5
children 5e38e2924c07
rev   line source
6260
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package org.dive4elements.river.artifacts.model.minfo;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import gnu.trove.TDoubleArrayList;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 import org.apache.log4j.Logger;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import org.dive4elements.artifactdatabase.state.Facet;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import org.dive4elements.artifacts.Artifact;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 import org.dive4elements.artifacts.CallContext;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import org.dive4elements.river.artifacts.D4EArtifact;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import org.dive4elements.river.artifacts.access.BedQualityAccess;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import org.dive4elements.river.artifacts.model.DataFacet;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 public class BedloadDiameterDataFacet
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 extends DataFacet
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7988
diff changeset
18 private static final Logger log = Logger.getLogger(BedloadDiameterDataFacet.class);
6260
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 public BedloadDiameterDataFacet() {
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 }
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 public BedloadDiameterDataFacet(
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 int ndx,
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 String name,
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 String description,
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 ComputeType type,
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 String stateId,
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 String hash
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 ) {
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 super(ndx, name, description, type, hash, stateId);
7894
42076d94977e Added metadata to facets.
Raimund Renkert <rrenkert@intevation.de>
parents: 7540
diff changeset
32 this.metaData.put("X", "chart.longitudinal.section.xaxis.label");
8260
48d4921665e3 Making i18n work was just easier using less wrappers in this case (issue1631).
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
33 this.metaData.put("Y", "chart.bedquality.yaxis.label.diameter");
6260
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 }
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 public Object getData(Artifact artifact, CallContext context) {
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 D4EArtifact d4e = (D4EArtifact) artifact;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 BedQualityAccess access = new BedQualityAccess(d4e, context);
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 int ndx = getIndex() & 7;
6357
673e146e7793 Fixed bed quality data facet index to get the correct diameter.
Raimund Renkert <rrenkert@intevation.de>
parents: 6260
diff changeset
40 int diam = (getIndex() >> 4);
6260
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 String diameter = "";
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 switch (diam) {
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 case 1: diameter = "d10"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 case 2: diameter = "d16"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 case 3: diameter = "d20"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 case 4: diameter = "d25"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 case 5: diameter = "d30"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 case 6: diameter = "d40"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 case 7: diameter = "d50"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 case 8: diameter = "d60"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 case 9: diameter = "d70"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 case 10: diameter = "d75"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 case 11: diameter = "d80"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 case 12: diameter = "d84"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 case 13: diameter = "d90"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 case 14: diameter = "dmin"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 case 15: diameter = "dmax"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 case 16: diameter = "dm"; break;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 default: return null;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 }
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 QualityMeasurements measurements =
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 QualityMeasurementFactory.getBedloadMeasurements(
7261
a56fe3bc6700 Refactoring: Let RiverAccess.getRiver return an River.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6357
diff changeset
64 access.getRiverName(),
6260
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 access.getFrom(),
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 access.getTo(),
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 access.getDateRanges().get(ndx).getFrom(),
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 access.getDateRanges().get(ndx).getTo());
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 TDoubleArrayList kms = new TDoubleArrayList();
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 TDoubleArrayList data = new TDoubleArrayList();
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 for (QualityMeasurement m : measurements.getMeasurements()) {
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 kms.add(m.getKm());
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 data.add(m.getDiameter(diameter)*1000);
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 }
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 BedDiameterData bdd = new BedDiameterData(diameter, kms, data);
7987
98ca61cb58fb Split bed quality facets and updated processors and state.
Raimund Renkert <rrenkert@intevation.de>
parents: 7894
diff changeset
76 return bdd.getDiameterData();
6260
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 }
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 /** Copy deeply. */
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 @Override
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 public Facet deepCopy() {
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 BedloadDiameterDataFacet copy = new BedloadDiameterDataFacet();
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 copy.set(this);
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 copy.type = type;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 copy.hash = hash;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 copy.stateId = stateId;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 return copy;
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 }
947434874937 New facet for bedload diameter measurements.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 }

http://dive4elements.wald.intevation.org