Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/BedQualityState.java @ 8653:dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Due to the fact that data can contain NaN's which will be filtered out
before creating the interpolator this requires the actual check
for interpolatable data when data is set in the ResultValue
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 01 Apr 2015 17:10:03 +0200 |
parents | 36faef4f8acb |
children | 4054c7fce43e |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5867
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5867
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
9 package org.dive4elements.river.artifacts.states.minfo; |
3629
f3717e625b0a
MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
11 import java.util.ArrayList; |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
12 import java.util.Date; |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
13 import java.util.List; |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
14 |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
15 import org.apache.log4j.Logger; |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
16 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
17 import org.dive4elements.artifactdatabase.state.Facet; |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
18 import org.dive4elements.artifactdatabase.state.FacetActivity; |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
19 import org.dive4elements.artifacts.Artifact; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
20 import org.dive4elements.artifacts.CallContext; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
21 import org.dive4elements.artifacts.CallMeta; |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
22 import org.dive4elements.river.artifacts.D4EArtifact; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
23 import org.dive4elements.river.artifacts.access.BedQualityAccess; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
24 import org.dive4elements.river.artifacts.model.CalculationResult; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
25 import org.dive4elements.river.artifacts.model.DataFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
26 import org.dive4elements.river.artifacts.model.DateRange; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
27 import org.dive4elements.river.artifacts.model.FacetTypes; |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
28 import org.dive4elements.river.artifacts.model.minfo.BedQualityDataFacet; |
8592
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.minfo.BedQualityInterpolFacet; |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
30 import org.dive4elements.river.artifacts.model.minfo.BedDiameterDataFacet; |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
31 import org.dive4elements.river.artifacts.model.minfo.BedloadDiameterDataFacet; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
32 import org.dive4elements.river.artifacts.model.minfo.BedQualityCalculation; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
33 import org.dive4elements.river.artifacts.model.minfo.BedQualityResult; |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
34 import org.dive4elements.river.artifacts.model.minfo.BedQualityResultValue; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
35 import org.dive4elements.river.artifacts.resources.Resources; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
36 import org.dive4elements.river.artifacts.states.DefaultState; |
3629
f3717e625b0a
MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
38 /* TODO: Change data facets to live in the generalized data scheme and |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
39 * obsolute the obfuscated index magic. */ |
3750
e560a9a10eb1
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3749
diff
changeset
|
40 |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
41 public class BedQualityState extends DefaultState implements FacetTypes { |
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
42 |
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
43 private static final long serialVersionUID = 1L; |
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
44 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7987
diff
changeset
|
45 private static final Logger log = Logger |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
46 .getLogger(BedQualityState.class); |
3750
e560a9a10eb1
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3749
diff
changeset
|
47 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
48 /* The suffix to append to interpol facets. */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
49 public static final String I18N_INTERPOL_SUFFIX = "facet.bedquality.interpol.suffix"; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
50 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
51 /* I18n is in the pattern base.<name>.<type> with the optional suffix .data */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
52 public static final String I18N_FACET_BED_BASE = "facet.bedquality.bed"; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
53 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
54 /* Data Layers */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
55 public static final String I18N_FACET_BEDLOAD_DIAMETER_DATA = "facet.bedquality.bed.diameter.bedload.data"; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
56 public static final String I18N_FACET_BED_DIAMETER_DATA_TOPLAYER = "facet.bedquality.bed.diameter.toplayer.data"; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
57 public static final String I18N_FACET_BED_DIAMETER_DATA_SUBLAYER = "facet.bedquality.bed.diameter.sublayer.data"; |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
58 public static final String I18N_TOPLAYER = "bedquality.toplayer"; |
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
59 public static final String I18N_SUBLAYER = "bedquality.sublayer"; |
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
60 |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
61 static { |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
62 // Active/deactivate facets. |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
63 FacetActivity.Registry.getInstance().register( |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
64 "minfo", |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
65 new FacetActivity() { |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
66 @Override |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
67 public Boolean isInitialActive( |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
68 Artifact artifact, |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
69 Facet facet, |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
70 String output |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
71 ) { |
8592
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
72 String name = facet.getName().replace(".interpol",""); |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
73 if (name.equals(BED_QUALITY_SEDIMENT_DENSITY_TOPLAYER) || |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
74 name.equals(BED_QUALITY_SEDIMENT_DENSITY_SUBLAYER) || |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
75 name.equals(BED_DIAMETER_DATA_TOP) || |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
76 name.equals(BED_DIAMETER_DATA_SUB) || |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
77 name.equals(BEDLOAD_DIAMETER_DATA)){ |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
78 return Boolean.FALSE; |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
79 } |
8274
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
80 if (name.equals(BED_QUALITY_POROSITY_TOPLAYER) || |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
81 name.equals(BED_QUALITY_POROSITY_SUBLAYER) || |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
82 name.equals(BED_QUALITY_BED_DIAMETER_TOPLAYER) || |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
83 name.equals(BED_QUALITY_BED_DIAMETER_SUBLAYER) || |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
84 name.equals(BED_QUALITY_BEDLOAD_DIAMETER)) { |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
85 return Boolean.TRUE; |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
86 } |
8274
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
87 return null; |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
88 } |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
89 }); |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
90 } |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
91 |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
92 @Override |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
93 public Object computeAdvance(D4EArtifact artifact, String hash, |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
94 CallContext context, List<Facet> facets, Object old) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7987
diff
changeset
|
95 log.debug("BedQualityState.computeAdvance"); |
3629
f3717e625b0a
MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
97 List<Facet> newFacets = new ArrayList<Facet>(); |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
98 |
4825
f8217f1fef2e
ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3785
diff
changeset
|
99 BedQualityAccess access = new BedQualityAccess(artifact, context); |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
100 |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
101 CalculationResult res = old instanceof CalculationResult ? (CalculationResult) old |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
102 : new BedQualityCalculation().calculate(access); |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
103 |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
104 if (facets == null || res == null) { |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
105 return res; |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
106 } |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
107 |
3762
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
108 BedQualityResult[] results = (BedQualityResult[]) res.getData(); |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
109 |
3762
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
110 if (results == null || results.length == 0) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7987
diff
changeset
|
111 log.warn("Calculation computed no results!"); |
3762
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
112 return res; |
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
113 } |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
114 |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
115 generateFacets(context, newFacets, results, getID(), hash); |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
116 generateDataFacets(context, newFacets, access, getID(), hash); |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7987
diff
changeset
|
117 log.debug("Created " + newFacets.size() + " new Facets."); |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
118 facets.addAll(newFacets); |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
119 |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
120 return res; |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
121 } |
3762
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
122 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
123 private int generateIndex(String diameter) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
124 int d = 0; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
125 if(diameter.equals("d10")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
126 d = 1; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
127 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
128 else if (diameter.equals("d16")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
129 d = 2; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
130 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
131 else if (diameter.equals("d20")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
132 d = 3; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
133 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
134 else if (diameter.equals("d25")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
135 d = 4; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
136 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
137 else if (diameter.equals("d30")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
138 d = 5; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
139 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
140 else if (diameter.equals("d40")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
141 d = 6; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
142 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
143 else if (diameter.equals("d50")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
144 d = 7; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
145 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
146 else if (diameter.equals("d60")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
147 d = 8; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
148 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
149 else if (diameter.equals("d70")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
150 d = 9; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
151 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
152 else if (diameter.equals("d75")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
153 d = 10; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
154 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
155 else if (diameter.equals("d80")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
156 d = 11; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
157 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
158 else if (diameter.equals("d84")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
159 d = 12; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
160 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
161 else if (diameter.equals("d90")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
162 d = 13; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
163 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
164 else if (diameter.equals("dmin")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
165 d = 14; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
166 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
167 else if (diameter.equals("dmax")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
168 d = 15; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
169 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
170 else if (diameter.equals("dm")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
171 d = 16; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
172 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
173 int ndx = d << 1; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
174 return ndx; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
175 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
176 |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
177 private void generateDataFacets( |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
178 CallContext context, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
179 List<Facet> newFacets, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
180 BedQualityAccess access, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
181 String stateId, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
182 String hash) { |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
183 List<String> diameters = access.getBedDiameter(); |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
184 List<String> loadDiameters = access.getBedloadDiameter(); |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
185 List<DateRange> ranges = access.getDateRanges(); |
7254
fe32a7f9655e
Reduce usage of careless 'for (int i = 0; i < x.size(); i++)' pattern.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6262
diff
changeset
|
186 for (int i = 0, R = ranges.size(); i < R; i++) { |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
187 DateRange range = ranges.get(i); |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
188 for (String diameter: diameters) { |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
189 int ndxTop = generateIndex(diameter); |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
190 int ndxSub = ndxTop; |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
191 ndxTop += 1; |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
192 ndxTop = ndxTop << 3; |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
193 ndxSub = ndxSub << 3; |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
194 ndxTop += i; |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
195 ndxSub += i; |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
196 String toplayer = |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
197 Resources.getMsg( |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
198 context.getMeta(), I18N_TOPLAYER, I18N_TOPLAYER); |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
199 String sublayer = |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
200 Resources.getMsg( |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
201 context.getMeta(), I18N_SUBLAYER, I18N_SUBLAYER); |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
202 //toplayer |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
203 newFacets.add(new BedDiameterDataFacet( |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
204 ndxTop, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
205 BED_DIAMETER_DATA_TOP, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
206 Resources.getMsg( |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
207 context.getMeta(), |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
208 I18N_FACET_BED_DIAMETER_DATA_TOPLAYER, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
209 I18N_FACET_BED_DIAMETER_DATA_TOPLAYER, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
210 new Object[] { diameter.toUpperCase(), |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
211 range.getFrom(), range.getTo(), toplayer}), |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
212 ComputeType.ADVANCE, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
213 stateId, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
214 hash)); |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
215 //sublayer |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
216 newFacets.add(new BedDiameterDataFacet( |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
217 ndxSub, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
218 BED_DIAMETER_DATA_SUB, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
219 Resources.getMsg( |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
220 context.getMeta(), |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
221 I18N_FACET_BED_DIAMETER_DATA_TOPLAYER, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
222 I18N_FACET_BED_DIAMETER_DATA_TOPLAYER, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
223 new Object[] { diameter.toUpperCase(), |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
224 range.getFrom(), range.getTo(), sublayer}), |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
225 ComputeType.ADVANCE, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
226 stateId, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
227 hash)); |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
228 } |
6262
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
229 for (String loadDiameter: loadDiameters) { |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
230 int ndx = generateIndex(loadDiameter); |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
231 ndx = ndx << 3; |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
232 ndx += i; |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
233 newFacets.add(new BedloadDiameterDataFacet( |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
234 ndx, |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
235 BEDLOAD_DIAMETER_DATA, |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
236 Resources.getMsg( |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
237 context.getMeta(), |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
238 I18N_FACET_BEDLOAD_DIAMETER_DATA, |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
239 I18N_FACET_BEDLOAD_DIAMETER_DATA, |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
240 new Object[] { loadDiameter.toUpperCase(), |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
241 range.getFrom(), range.getTo()}), |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
242 ComputeType.ADVANCE, |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
243 stateId, |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
244 hash)); |
ea6225010871
Set facet activity, have the correct facet order and added new facet to bed quality.
Raimund Renkert <rrenkert@intevation.de>
parents:
6252
diff
changeset
|
245 } |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
246 } |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
247 } |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
248 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
249 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
250 protected String getFacetName(BedQualityResultValue value) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
251 /* basename + name or "diameter" + .type */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
252 return BED_QUALITY_DATA_FACET + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
253 (value.isDiameterResult() ? "diameter" : value.getName()) + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
254 value.getType(); |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
255 } |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
256 |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
257 protected void generateFacets(CallContext context, List<Facet> newFacets, |
3762
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
258 BedQualityResult[] results, String stateId, String hash) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7987
diff
changeset
|
259 log.debug("BedQualityState.generateFacets"); |
3762
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
260 |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
261 CallMeta meta = context.getMeta(); |
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
262 |
3785
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
263 newFacets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id)); |
3762
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
264 for (int idx = 0; idx < results.length; idx++) { |
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
265 BedQualityResult result = results[idx]; |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3772
diff
changeset
|
266 DateRange range = result.getDateRange(); |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
267 int i = 0; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
268 for (BedQualityResultValue value: result.getValues()) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
269 newFacets.add(new BedQualityDataFacet((idx << 8) + i++, |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
270 getFacetName(value), |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
271 getFacetDescription(meta, range, value), |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3772
diff
changeset
|
272 ComputeType.ADVANCE, |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
273 stateId, hash, value.getName(), value.getType())); |
8653
dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8592
diff
changeset
|
274 if (value.isInterpolateable()) { |
dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8592
diff
changeset
|
275 newFacets.add(new BedQualityInterpolFacet((idx << 8) + i++, |
dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8592
diff
changeset
|
276 getFacetName(value) + ".interpol", |
dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8592
diff
changeset
|
277 getFacetInterpolDescription(meta, range, value), |
dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8592
diff
changeset
|
278 ComputeType.ADVANCE, |
dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8592
diff
changeset
|
279 stateId, hash, value.getName(), value.getType())); |
dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8592
diff
changeset
|
280 } |
3762
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
281 } |
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
282 } |
0c978a80726a
Splitted up facets for porosity and density into two facets: a toplayer and a sublayer facet for each. BedQualityState will now create facets based on the calculation result.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3761
diff
changeset
|
283 } |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
284 |
8592
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
285 protected String getFacetInterpolDescription(CallMeta meta, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
286 DateRange range, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
287 BedQualityResultValue value) { |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
288 String part1 = getFacetDescription(meta, range, value); |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
289 /* We could add a step description here */ |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
290 return part1 + " " + Resources.getMsg(meta, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
291 I18N_INTERPOL_SUFFIX, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
292 I18N_INTERPOL_SUFFIX, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
293 new Object[] {}); |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
294 } |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
295 |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
296 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
297 protected String getFacetDescription(CallMeta meta, |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
298 DateRange range, |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
299 BedQualityResultValue value) { |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
300 Date from = range != null ? range.getFrom() : new Date(); |
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
301 Date to = range != null ? range.getTo() : new Date(); |
3772
5a8f8fd5310c
The usual wipe after for ill configured Eclipses.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3767
diff
changeset
|
302 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
303 final String layerSuffix = |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
304 Resources.getMsg(meta, "bedquality." + value.getType(), ""); |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
305 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
306 /* This could probably be unified with the facet name */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
307 final String i18n = I18N_FACET_BED_BASE + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
308 (value.isDiameterResult() ? "diameter" : value.getName()) + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
309 value.getType(); |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
310 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
311 if (value.isDiameterResult()) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
312 /* Include the diameter in the description */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
313 return Resources.getMsg(meta, i18n, i18n, new Object[] { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
314 value.getName().toUpperCase(), from, to, layerSuffix }); |
8585
e9343e4c9ae0
Reduce duplicated functions to obtain layer descritpions for bedquality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8274
diff
changeset
|
315 } else { |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
316 return Resources.getMsg(meta, i18n, i18n, new Object[] { from, to, layerSuffix }); |
8585
e9343e4c9ae0
Reduce duplicated functions to obtain layer descritpions for bedquality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8274
diff
changeset
|
317 } |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
318 } |
3629
f3717e625b0a
MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
319 } |