Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/BedQualityState.java @ 8592:36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 19 Mar 2015 13:36:38 +0100 |
parents | 07c9ac22f611 |
children | dbec49147f54 |
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())); |
8592
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
274 newFacets.add(new BedQualityInterpolFacet((idx << 8) + i++, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
275 getFacetName(value) + ".interpol", |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
276 getFacetInterpolDescription(meta, range, value), |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
277 ComputeType.ADVANCE, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
278 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
|
279 } |
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
|
280 } |
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 } |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
282 |
8592
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
283 protected String getFacetInterpolDescription(CallMeta meta, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
284 DateRange range, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
285 BedQualityResultValue value) { |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
286 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
|
287 /* 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
|
288 return part1 + " " + Resources.getMsg(meta, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
289 I18N_INTERPOL_SUFFIX, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
290 I18N_INTERPOL_SUFFIX, |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
291 new Object[] {}); |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
292 } |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
293 |
36faef4f8acb
(issue1755) Add interpolated facets and update themes accordingly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8587
diff
changeset
|
294 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
295 protected String getFacetDescription(CallMeta meta, |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
296 DateRange range, |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
297 BedQualityResultValue value) { |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
298 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
|
299 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
|
300 |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
301 final String layerSuffix = |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
302 Resources.getMsg(meta, "bedquality." + value.getType(), ""); |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
303 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
304 /* 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
|
305 final String i18n = I18N_FACET_BED_BASE + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
306 (value.isDiameterResult() ? "diameter" : value.getName()) + "." + |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
307 value.getType(); |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
308 |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
309 if (value.isDiameterResult()) { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
310 /* Include the diameter in the description */ |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
311 return Resources.getMsg(meta, i18n, i18n, new Object[] { |
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
312 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
|
313 } else { |
8587
07c9ac22f611
(issue1755) Generalise BedQuality result handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8585
diff
changeset
|
314 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
|
315 } |
3767
b4ad8dafe584
Created i18n descriptions for facets in bed quality calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3766
diff
changeset
|
316 } |
3629
f3717e625b0a
MINFO: Added states and config for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
317 } |