annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightSoundingWidthFacet.java @ 8858:a805211690f7 3.2.x

Fix license headers.
author Tom Gottfried <tom@intevation.de>
date Thu, 18 Jan 2018 20:52:41 +0100
parents 1083cb887ffb
children
rev   line source
8858
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8721
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8721
diff changeset
2 * Software engineering by Intevation GmbH
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8721
diff changeset
3 *
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8721
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8721
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8721
diff changeset
6 * documentation coming with Dive4Elements River for details.
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8721
diff changeset
7 */
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8721
diff changeset
8
7995
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.artifacts.model.minfo;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import java.util.List;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13 import org.dive4elements.artifacts.Artifact;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import org.dive4elements.artifacts.CallContext;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 import org.dive4elements.river.artifacts.D4EArtifact;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 import org.dive4elements.river.artifacts.access.BedHeightAccess;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import org.dive4elements.river.artifacts.model.BlackboardDataFacet;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import org.dive4elements.river.artifacts.model.FacetTypes;
8559
6d8d7425a6b5 Bed heights are just bed heights since a while ('single' is obsolete).
"Tom Gottfried <tom@intevation.de>"
parents: 8427
diff changeset
19 import org.dive4elements.river.model.BedHeight;
6d8d7425a6b5 Bed heights are just bed heights since a while ('single' is obsolete).
"Tom Gottfried <tom@intevation.de>"
parents: 8427
diff changeset
20 import org.dive4elements.river.model.BedHeightValue;
7995
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 public class BedHeightSoundingWidthFacet
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 extends BlackboardDataFacet
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 implements FacetTypes
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 {
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 public BedHeightSoundingWidthFacet(String name, String description) {
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 this.name = name;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 this.description = description;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 this.index = 0;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 this.metaData.put("X", "chart.longitudinal.section.xaxis.label");
8701
7e9d015b0f22 (issue1602) Use correct descriptor for sounding width y-data.
Tom Gottfried <tom@intevation.de>
parents: 8648
diff changeset
32 this.metaData.put("Y", "chart.bedheight_middle.sounding.yaxis.label");
7995
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 }
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 /**
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 * Returns the data this facet requires.
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 *
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 * @param artifact the owner artifact.
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 * @param context the CallContext (ignored).
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 *
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 * @return the data.
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 */
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 @Override
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 public Object getData(Artifact artifact, CallContext context) {
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 BedHeightAccess access = new BedHeightAccess((D4EArtifact)artifact);
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 /* Former doc (from BedHeightAccess):
8559
6d8d7425a6b5 Bed heights are just bed heights since a while ('single' is obsolete).
"Tom Gottfried <tom@intevation.de>"
parents: 8427
diff changeset
47 * Return a {@link List} of {@link BedHeightValue}s
7995
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 * at the range of the artifact
8559
6d8d7425a6b5 Bed heights are just bed heights since a while ('single' is obsolete).
"Tom Gottfried <tom@intevation.de>"
parents: 8427
diff changeset
49 * @return List of {@link BedHeightValue}s */
6d8d7425a6b5 Bed heights are just bed heights since a while ('single' is obsolete).
"Tom Gottfried <tom@intevation.de>"
parents: 8427
diff changeset
50 BedHeight single = BedHeight.getBedHeightById(
7995
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 access.getHeightId());
8559
6d8d7425a6b5 Bed heights are just bed heights since a while ('single' is obsolete).
"Tom Gottfried <tom@intevation.de>"
parents: 8427
diff changeset
52 List<BedHeightValue> bedheightValues =
6d8d7425a6b5 Bed heights are just bed heights since a while ('single' is obsolete).
"Tom Gottfried <tom@intevation.de>"
parents: 8427
diff changeset
53 BedHeightValue.getBedHeightValues(
8721
1083cb887ffb (issue1754) Do not filter BedHeightSoundings to range.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8701
diff changeset
54 single);
7995
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 double[][] values = new double[2][bedheightValues.size()];
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 int i = 0;
8559
6d8d7425a6b5 Bed heights are just bed heights since a while ('single' is obsolete).
"Tom Gottfried <tom@intevation.de>"
parents: 8427
diff changeset
57 for (BedHeightValue bedheightValue : bedheightValues) {
7995
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 values[0][i] = bedheightValue.getStation();
8427
2f640972ecf6 There might be no sounding width given at some stations of a bed height single.
Tom Gottfried <tom@intevation.de>
parents: 8267
diff changeset
59 values[1][i] = bedheightValue.getSoundingWidth() != null
2f640972ecf6 There might be no sounding width given at some stations of a bed height single.
Tom Gottfried <tom@intevation.de>
parents: 8267
diff changeset
60 ? bedheightValue.getSoundingWidth() : Double.NaN;
7995
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 i++;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 }
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 return values;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 }
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 /**
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 * Create a deep copy of this Facet.
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 * @return a deep copy.
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 */
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 @Override
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 public BedHeightSoundingWidthFacet deepCopy() {
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 BedHeightSoundingWidthFacet copy =
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 new BedHeightSoundingWidthFacet(name, description);
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 copy.set(this);
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 return copy;
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 }
2f88a98d9aae Added missing facet.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 }

http://dive4elements.wald.intevation.org