Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MiddleBedHeightFacet.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 | e4606eae8ea5 |
children | 0a5239a1e46e |
rev | line source |
---|---|
7983
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
3 * |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
7 */ |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.minfo; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 import org.dive4elements.artifactdatabase.state.Facet; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 import org.dive4elements.artifacts.Artifact; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 import org.dive4elements.artifacts.CallContext; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 import org.dive4elements.river.artifacts.D4EArtifact; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 import org.dive4elements.river.artifacts.model.CalculationResult; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 import org.dive4elements.river.artifacts.model.DataFacet; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 import org.apache.log4j.Logger; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 /** |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 * Facet of a MiddleBedHeight curve. |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 */ |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 public class MiddleBedHeightFacet extends DataFacet { |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7983
diff
changeset
|
30 private static Logger log = Logger.getLogger(MiddleBedHeightFacet.class); |
7983
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 public MiddleBedHeightFacet() { |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 // required for clone operation deepCopy() |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
35 } |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
36 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
37 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
38 public MiddleBedHeightFacet( |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
39 int idx, |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
40 String name, |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
41 String description, |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
42 ComputeType type, |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
43 String stateId, |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
44 String hash |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
45 ) { |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
46 super(idx, name, description, type, hash, stateId); |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
47 this.metaData.put("X", "chart.longitudinal.section.xaxis.label"); |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
48 this.metaData.put("Y", "chart.bedheight_middle.section.yaxis.label"); |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
49 } |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
50 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
51 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 public Object getData(Artifact artifact, CallContext context) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7983
diff
changeset
|
53 log.debug("Get data for middle bed height at index: " + index); |
7983
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
54 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
55 D4EArtifact flys = (D4EArtifact) artifact; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
56 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
57 CalculationResult res = (CalculationResult) |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
58 flys.compute(context, hash, stateId, type, false); |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
59 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
60 MiddleBedHeightData[] resultData = |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
61 (MiddleBedHeightData[]) res.getData(); |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
62 MiddleBedHeightData data = resultData[index]; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
63 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
64 return data.getMiddleHeightsPoints(); |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
65 } |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
66 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
67 |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
68 /** Copy deeply. */ |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
69 @Override |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
70 public Facet deepCopy() { |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
71 MiddleBedHeightFacet copy = new MiddleBedHeightFacet(); |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
72 copy.set(this); |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
73 copy.type = type; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
74 copy.hash = hash; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
75 copy.stateId = stateId; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
76 return copy; |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
77 } |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
78 } |
62befca02480
Moved MiddleBedHeight classes to minfo package. Facet now returns double[][] data.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
79 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |