Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/BedQualityState.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 | e9343e4c9ae0 |
children | 36faef4f8acb |
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; |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
29 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
|
30 import org.dive4elements.river.artifacts.model.minfo.BedloadDiameterDataFacet; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
31 import org.dive4elements.river.artifacts.model.minfo.BedQualityCalculation; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
32 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
|
33 import org.dive4elements.river.artifacts.model.minfo.BedQualityResultValue; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
34 import org.dive4elements.river.artifacts.resources.Resources; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4825
diff
changeset
|
35 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
|
36 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
37 /* 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
|
38 * obsolute the obfuscated index magic. */ |
3750
e560a9a10eb1
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3749
diff
changeset
|
39 |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
40 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
|
41 |
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
42 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
|
43 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7987
diff
changeset
|
44 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
|
45 .getLogger(BedQualityState.class); |
3750
e560a9a10eb1
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3749
diff
changeset
|
46 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
47 /* The suffix to append to interpol facets. */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
48 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
|
49 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
50 /* 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
|
51 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
|
52 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
53 /* Data Layers */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
54 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
|
55 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
|
56 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
|
57 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
|
58 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
|
59 |
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
|
60 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
|
61 // 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
|
62 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
|
63 "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
|
64 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
|
65 @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
|
66 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
|
67 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
|
68 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
|
69 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
|
70 ) { |
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 String name = facet.getName(); |
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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 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
|
77 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
|
78 } |
8274
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
79 if (name.equals(BED_QUALITY_POROSITY_TOPLAYER) || |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
80 name.equals(BED_QUALITY_POROSITY_SUBLAYER) || |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
81 name.equals(BED_QUALITY_BED_DIAMETER_TOPLAYER) || |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
82 name.equals(BED_QUALITY_BED_DIAMETER_SUBLAYER) || |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
83 name.equals(BED_QUALITY_BEDLOAD_DIAMETER)) { |
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
84 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
|
85 } |
8274
b0d7b0d79d6e
Set facet activity for bed quality.
"Tom Gottfried <tom@intevation.de>"
parents:
8202
diff
changeset
|
86 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
|
87 } |
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 |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
91 @Override |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
92 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
|
93 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
|
94 log.debug("BedQualityState.computeAdvance"); |
3629
f3717e625b0a
MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 |
3749
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
96 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
|
97 |
4825
f8217f1fef2e
ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3785
diff
changeset
|
98 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
|
99 |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
100 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
|
101 : 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
|
102 |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
103 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
|
104 return res; |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
105 } |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
106 |
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
|
107 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
|
108 |
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
|
109 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
|
110 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
|
111 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
|
112 } |
3757
e8a90a5ce624
Added facets and chart generator for bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3750
diff
changeset
|
113 |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
114 generateFacets(context, newFacets, results, getID(), hash); |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
115 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
|
116 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
|
117 facets.addAll(newFacets); |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
118 |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
119 return res; |
3dcc4feff243
Created the initial structure for MINFO bed quality chart generation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3629
diff
changeset
|
120 } |
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
|
121 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
122 private int generateIndex(String diameter) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
123 int d = 0; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
124 if(diameter.equals("d10")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
125 d = 1; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
126 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
127 else if (diameter.equals("d16")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
128 d = 2; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
129 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
130 else if (diameter.equals("d20")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
131 d = 3; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
132 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
133 else if (diameter.equals("d25")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
134 d = 4; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
135 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
136 else if (diameter.equals("d30")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
137 d = 5; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
138 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
139 else if (diameter.equals("d40")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
140 d = 6; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
141 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
142 else if (diameter.equals("d50")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
143 d = 7; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
144 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
145 else if (diameter.equals("d60")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
146 d = 8; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
147 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
148 else if (diameter.equals("d70")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
149 d = 9; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
150 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
151 else if (diameter.equals("d75")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
152 d = 10; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
153 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
154 else if (diameter.equals("d80")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
155 d = 11; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
156 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
157 else if (diameter.equals("d84")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
158 d = 12; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
159 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
160 else if (diameter.equals("d90")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
161 d = 13; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
162 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
163 else if (diameter.equals("dmin")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
164 d = 14; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
165 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
166 else if (diameter.equals("dmax")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
167 d = 15; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
168 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
169 else if (diameter.equals("dm")) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
170 d = 16; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
171 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
172 int ndx = d << 1; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
173 return ndx; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
174 } |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
175 |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
176 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
|
177 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
|
178 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
|
179 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
|
180 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
|
181 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
|
182 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
|
183 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
|
184 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
|
185 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
|
186 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
|
187 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
|
188 int ndxTop = generateIndex(diameter); |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
189 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
|
190 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
|
191 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
|
192 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
|
193 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
|
194 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
|
195 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
|
196 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
|
197 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
|
198 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
|
199 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
|
200 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
|
201 //toplayer |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
202 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
|
203 ndxTop, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
204 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
|
205 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
|
206 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
|
207 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
|
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 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
|
210 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
|
211 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
|
212 stateId, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
213 hash)); |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
214 //sublayer |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
215 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
|
216 ndxSub, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
217 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
|
218 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
|
219 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
|
220 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
|
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 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
|
223 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
|
224 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
|
225 stateId, |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
226 hash)); |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
227 } |
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
|
228 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
|
229 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
|
230 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
|
231 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
|
232 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
|
233 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
|
234 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
|
235 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
|
236 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
|
237 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
|
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 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
|
240 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
|
241 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
|
242 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
|
243 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
|
244 } |
6252
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
245 } |
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 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
248 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
249 protected String getFacetName(BedQualityResultValue value) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
250 /* basename + name or "diameter" + .type */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
251 return BED_QUALITY_DATA_FACET + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
252 (value.isDiameterResult() ? "diameter" : value.getName()) + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
253 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
|
254 } |
38d6ce2c7164
Generate facets for bed diameter measurements and draw them into the generated chart.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
255 |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
256 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
|
257 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
|
258 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
|
259 |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
260 CallMeta meta = context.getMeta(); |
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
261 |
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
|
262 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
|
263 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
|
264 BedQualityResult result = results[idx]; |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3772
diff
changeset
|
265 DateRange range = result.getDateRange(); |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
266 int i = 0; |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
267 for (BedQualityResultValue value: result.getValues()) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
268 newFacets.add(new BedQualityDataFacet((idx << 8) + i++, |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
269 getFacetName(value), |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
270 getFacetDescription(meta, range, value), |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3772
diff
changeset
|
271 ComputeType.ADVANCE, |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
272 stateId, hash, value.getName(), value.getType())); |
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
|
273 } |
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
|
274 } |
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
|
275 } |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
276 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
277 protected String getFacetDescription(CallMeta meta, |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
278 DateRange range, |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
279 BedQualityResultValue value) { |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
280 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
|
281 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
|
282 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
283 final String layerSuffix = |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
284 Resources.getMsg(meta, "bedquality." + value.getType(), ""); |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
285 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
286 /* 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
|
287 final String i18n = I18N_FACET_BED_BASE + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
288 (value.isDiameterResult() ? "diameter" : value.getName()) + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
289 value.getType(); |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
290 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
291 if (value.isDiameterResult()) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
292 /* Include the diameter in the description */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
293 return Resources.getMsg(meta, i18n, i18n, new Object[] { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
294 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
|
295 } else { |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
296 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
|
297 } |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
298 } |
3629
f3717e625b0a
MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
299 } |