Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadLSFacet.java @ 8114:84f42caeea2a
Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
author | "Tom Gottfried <tom@intevation.de>" |
---|---|
date | Wed, 20 Aug 2014 17:47:58 +0200 |
parents | 61dae359bb4f |
children | c200b76145ce |
rev | line source |
---|---|
8103
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
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 import org.dive4elements.river.artifacts.model.FacetTypes; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
25 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadDataFactory; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
26 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadData; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
27 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
28 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; |
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.dive4elements.river.model.SedimentLoadLS; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
31 import org.dive4elements.river.model.SedimentLoadLSValue; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
32 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
33 import org.dive4elements.river.utils.RiverUtils; |
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 import java.util.ArrayList; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
36 import java.util.Collections; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
37 import java.util.List; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
38 import java.util.Map; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
39 import java.util.TreeSet; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
40 import java.util.TreeMap; |
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 import org.apache.log4j.Logger; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
43 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
44 import org.w3c.dom.Document; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
45 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
46 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
47 /** Facet to access sediment loads for longitudinal sections. |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
48 * This facet differs from the sedimentloadfacet in that it |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
49 * handles values from the sedimentload_ls table in the backend db. |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
50 * |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
51 * The sedimentload facet uses the internal sedimentload data model |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
52 * to work with measurement stations instead. |
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 public class SedimentLoadLSFacet |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
55 extends DataFacet |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
56 implements FacetTypes, StaticFacet |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
57 { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
58 private static Logger logger = Logger.getLogger(SedimentLoadLSFacet.class); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
59 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
60 /* 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
|
61 * in some way */ |
8109
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
62 private static final String NAME = "sedimentload"; |
8103
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
63 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
64 public SedimentLoadLSFacet() { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
65 } |
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 public SedimentLoadLSFacet(int idx, String name, String description, |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
68 ComputeType type, String stateId, String hash) { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
69 super(idx, name, description, type, hash, stateId); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
70 this.metaData.put("X", "chart.longitudinal.section.xaxis.label"); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
71 this.metaData.put("Y", ""); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
72 } |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
73 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
74 @Override |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
75 public Object getData(Artifact artifact, CallContext context) { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
76 logger.debug("get Data"); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
77 D4EArtifact arti = (D4EArtifact) artifact; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
78 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
79 String idStr = arti.getDataAsString("load_id"); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
80 int id = Integer.valueOf(idStr); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
81 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
82 SedimentLoadLS theLoad = SedimentLoadLS.getSedimentLoadById(id); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
83 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
84 if (theLoad == null) { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
85 logger.error("No load found for id: " + idStr); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
86 return null; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
87 } |
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 /* Now lets get what we want */ |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
90 TDoubleArrayList xPos = new TDoubleArrayList(); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
91 TDoubleArrayList yPos = new TDoubleArrayList(); |
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 for (SedimentLoadLSValue val: theLoad.getSedimentLoadLSValues()) { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
94 double value = val.getValue(); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
95 if (Double.isNaN(value)) { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
96 continue; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
97 } |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
98 xPos.add(val.getStation()); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
99 yPos.add(value); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
100 } |
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 return new double[][] {xPos.toNativeArray(), yPos.toNativeArray()}; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
103 } |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
104 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
105 @Override |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
106 public void setup(Artifact artifact, Document data, CallMeta callMeta) { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
107 logger.debug("setup"); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
108 String code = D4EArtifact.getDatacageIDValue(data); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
109 String[] split = code.split(";"); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
110 String idStr = split[0]; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
111 String desc = ""; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
112 if (split.length >= 2) { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
113 desc = split[1]; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
114 } |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
115 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
116 int id = Integer.valueOf(idStr); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
117 SedimentLoadLS theLoad = SedimentLoadLS.getSedimentLoadById(id); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
118 if (theLoad == null) { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
119 logger.error("No load found for id: " + idStr); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
120 return; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
121 } |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
122 logger.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
|
123 if (theLoad.getGrainFraction() != null) { |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
124 logger.debug("GrainFraction: " + theLoad.getGrainFraction().getName()); |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
125 } |
8103
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
126 logger.debug("Kind: " + theLoad.getKind()); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
127 logger.debug("Unit: " + theLoad.getUnit().getName()); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
128 |
8109
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
129 /* Name has the pattern sedimentload.<unit>.<grainfraction_name> |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
130 * this is partly done for backwards compatibility and theming. |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
131 * See issue 1681 for details. */ |
8103
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
132 name = NAME; |
8109
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
133 |
8114
84f42caeea2a
Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents:
8111
diff
changeset
|
134 String i18nUnit = ""; |
84f42caeea2a
Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents:
8111
diff
changeset
|
135 |
8109
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
136 if (theLoad.getUnit().getName().equals("m3/a")) { |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
137 /* unit_id is NOT NULL */ |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
138 name += ".m3a"; |
8114
84f42caeea2a
Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents:
8111
diff
changeset
|
139 i18nUnit = "m\u00b3/a"; |
8109
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
140 } else { |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
141 name += ".ta"; |
8114
84f42caeea2a
Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents:
8111
diff
changeset
|
142 i18nUnit = "t/a"; |
8109
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
143 } |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
144 |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
145 String gfName; |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
146 if (theLoad.getGrainFraction() != null) { |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
147 gfName = theLoad.getGrainFraction().getName(); |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
148 } else { |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
149 gfName = "unknown"; |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
150 } |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
151 name += "." + gfName; |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
152 |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
153 logger.debug("Created facet: " + name); |
2707c3aa1aa7
(issue1681) Handle different grain fraction kinds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8103
diff
changeset
|
154 |
8103
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
155 description = Resources.getMsg( |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
156 callMeta, |
8111
61dae359bb4f
Change facet.sedimentload.dc to facet.sedimentload.ls
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8109
diff
changeset
|
157 "facet.sedimentload.ls." + gfName, |
61dae359bb4f
Change facet.sedimentload.dc to facet.sedimentload.ls
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8109
diff
changeset
|
158 "Error: please add l10n for facet.sedimentload.ls." + gfName, |
8114
84f42caeea2a
Reconstruct facet description of sediment load longitudinal sections. i18n will follow.
"Tom Gottfried <tom@intevation.de>"
parents:
8111
diff
changeset
|
159 new Object[] { desc, i18nUnit }); |
8103
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
160 ((D4EArtifact)artifact).addStringData("load_id", idStr); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
161 } |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
162 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
163 |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
164 /** Copy deeply. */ |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
165 @Override |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
166 public Facet deepCopy() { |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
167 SedimentLoadLSFacet copy = new SedimentLoadLSFacet(); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
168 copy.set(this); |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
169 copy.type = type; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
170 copy.hash = hash; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
171 copy.stateId = stateId; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
172 return copy; |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
173 } |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
174 } |
54d35418141e
Add SedimentLoadLSFacet
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
175 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |