annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadLSFacet.java @ 8587:07c9ac22f611

(issue1755) Generalise BedQuality result handling The bedquality calculation now produces a result for each time period which has BedQualityResultValues for each specific result type. Formally this was split up in density, porosity and diameter classes with some bedload diameter classes mixed in for extra fun. The intent of this commit is to allow more shared code and generic access patterns to the BedQuality results.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 18 Mar 2015 18:42:08 +0100
parents 1cd7225df846
children b32c1927f90d
rev   line source
8137
c200b76145ce Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8114
diff changeset
1 /* Copyright (C) 2012, 2012, 2013 by Bundesanstalt für Gewässerkunde
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
3 *
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
7 */
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
8
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.artifacts.model.minfo;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
10
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
11 import gnu.trove.TDoubleArrayList;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
12
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
13 import org.dive4elements.artifactdatabase.state.Facet;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
14 import org.dive4elements.artifactdatabase.state.StaticFacet;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
15
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
16 import org.dive4elements.artifacts.Artifact;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
17 import org.dive4elements.artifacts.CallContext;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
18 import org.dive4elements.artifacts.CallMeta;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
19
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
20 import org.dive4elements.river.artifacts.D4EArtifact;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
21 import org.dive4elements.river.artifacts.resources.Resources;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
22
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
23 import org.dive4elements.river.artifacts.model.DataFacet;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
24
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
25 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
26
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
27 import org.dive4elements.river.model.SedimentLoadLS;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
28 import org.dive4elements.river.model.SedimentLoadLSValue;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
29
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
30 import org.apache.log4j.Logger;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
31
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
32 import org.w3c.dom.Document;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
33
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
34
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
35 /** Facet to access sediment loads for longitudinal sections.
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
36 * This facet differs from the sedimentloadfacet in that it
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
37 * handles values from the sedimentload_ls table in the backend db.
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
38 *
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
39 * The sedimentload facet uses the internal sedimentload data model
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
40 * to work with measurement stations instead.
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
41 */
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
42 public class SedimentLoadLSFacet
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
43 extends DataFacet
8148
eb48b244921d The rest is silence.
Tom Gottfried <tom@intevation.de>
parents: 8142
diff changeset
44 implements StaticFacet
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
45 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
46 private static Logger log = Logger.getLogger(SedimentLoadLSFacet.class);
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
47
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
48 /* Aheinecke we probably need to get the kind and split this up here
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
49 * in some way */
8204
c657ddcf1fa6 Sediment loads at measurement stations and longitudinal sections need different processing and styling for diagrams.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
50 private static final String NAME = "sedimentload.ls";
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
51
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
52 public SedimentLoadLSFacet() {
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
53 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
54
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
55 public SedimentLoadLSFacet(int idx, String name, String description,
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
56 ComputeType type, String stateId, String hash) {
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
57 super(idx, name, description, type, hash, stateId);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
58 this.metaData.put("X", "chart.longitudinal.section.xaxis.label");
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
59 this.metaData.put("Y", "");
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
60 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
61
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
62 @Override
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
63 public Object getData(Artifact artifact, CallContext context) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
64 log.debug("get Data");
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
65 D4EArtifact arti = (D4EArtifact) artifact;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
66
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
67 String idStr = arti.getDataAsString("load_id");
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
68 int id = Integer.valueOf(idStr);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
69
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
70 SedimentLoadLS theLoad = SedimentLoadLS.getSedimentLoadById(id);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
71
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
72 if (theLoad == null) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
73 log.error("No load found for id: " + idStr);
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
74 return null;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
75 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
76
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
77 /* Now lets get what we want */
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
78 TDoubleArrayList xPos = new TDoubleArrayList();
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
79 TDoubleArrayList yPos = new TDoubleArrayList();
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
80
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
81 for (SedimentLoadLSValue val: theLoad.getSedimentLoadLSValues()) {
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
82 double value = val.getValue();
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
83 if (Double.isNaN(value)) {
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
84 continue;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
85 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
86 xPos.add(val.getStation());
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
87 yPos.add(value);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
88 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
89
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
90 return new double[][] {xPos.toNativeArray(), yPos.toNativeArray()};
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
91 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
92
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
93 @Override
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
94 public void setup(Artifact artifact, Document data, CallMeta callMeta) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
95 log.debug("setup");
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
96 String code = D4EArtifact.getDatacageIDValue(data);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
97 String[] split = code.split(";");
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
98 String idStr = split[0];
8142
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8137
diff changeset
99 String years = split.length >= 2 ? split[1] : "";
8222
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
100 String kind = split.length >= 3 ? split[2] : "";
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
101
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
102 int id = Integer.valueOf(idStr);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
103 SedimentLoadLS theLoad = SedimentLoadLS.getSedimentLoadById(id);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
104 if (theLoad == null) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
105 log.error("No load found for id: " + idStr);
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
106 return;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
107 }
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
108 log.debug("Setting up SedimentLoadLSFacet for id: " + id);
8109
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
109 if (theLoad.getGrainFraction() != null) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
110 log.debug("GrainFraction: " + theLoad.getGrainFraction().getName());
8109
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
111 }
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
112 log.debug("Kind: " + theLoad.getKind());
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
113 log.debug("Unit: " + theLoad.getUnit().getName());
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
114
8204
c657ddcf1fa6 Sediment loads at measurement stations and longitudinal sections need different processing and styling for diagrams.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
115 // Name has the pattern sedimentload.ls.<unit>.<grainfraction_name>
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
116 name = NAME;
8109
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
117
8114
84f42caeea2a Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents: 8111
diff changeset
118 String i18nUnit = "";
84f42caeea2a Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents: 8111
diff changeset
119
8109
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
120 if (theLoad.getUnit().getName().equals("m3/a")) {
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
121 /* unit_id is NOT NULL */
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
122 name += ".m3a";
8114
84f42caeea2a Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents: 8111
diff changeset
123 i18nUnit = "m\u00b3/a";
8109
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
124 } else {
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
125 name += ".ta";
8114
84f42caeea2a Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents: 8111
diff changeset
126 i18nUnit = "t/a";
8109
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
127 }
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
128
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
129 String gfName;
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
130 if (theLoad.getGrainFraction() != null) {
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
131 gfName = theLoad.getGrainFraction().getName();
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
132 } else {
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
133 gfName = "unknown";
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
134 }
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
135 name += "." + gfName;
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
136
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8148
diff changeset
137 log.debug("Created facet: " + name);
8109
2707c3aa1aa7 (issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8103
diff changeset
138
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
139 description = Resources.getMsg(
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
140 callMeta,
8142
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8137
diff changeset
141 "facet.sedimentload." + gfName,
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8137
diff changeset
142 new Object[] { years, i18nUnit });
8222
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
143
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
144 if (kind.equals("official")) {
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
145 String descPrefix = Resources.getMsg(
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
146 callMeta,
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
147 "facet.sedimentload.prefix.offcial");
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
148 description = descPrefix + description;
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
149 }
1cd7225df846 Let official epochs be showy and remove detritus of 'yields' in datacage config.
Tom Gottfried <tom@intevation.de>
parents: 8204
diff changeset
150
8103
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
151 ((D4EArtifact)artifact).addStringData("load_id", idStr);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
152 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
153
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
154
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
155 /** Copy deeply. */
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
156 @Override
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
157 public Facet deepCopy() {
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
158 SedimentLoadLSFacet copy = new SedimentLoadLSFacet();
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
159 copy.set(this);
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
160 copy.type = type;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
161 copy.hash = hash;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
162 copy.stateId = stateId;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
163 return copy;
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
164 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
165 }
54d35418141e Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
166 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org