annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadCalculate.java @ 6665:b7945db8a43b

issue1413: Only show unknown sediment loads of selected unit type. Therefore, adjusted the factory to take the units name. Unfortunately, names in db do not match values of data items. Thus do manual replacing. In Facet and Calculate, take the chosen unit via access and to the string replacement. In Facet, do not transform data (we assume it comes in unit as labeled in the db), and removed the possibility of m3/a-data of unknown yields in a t/a diagram and vice versa.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 25 Jul 2013 15:08:13 +0200
parents 113c0fc71280
children 368db84f1241
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: 4826
diff changeset
9 package org.dive4elements.river.artifacts.states.minfo;
4220
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
11 import java.util.ArrayList;
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
12 import java.util.Date;
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
13 import java.util.List;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
14
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
15 import org.apache.log4j.Logger;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
16 import org.dive4elements.artifactdatabase.state.Facet;
6361
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
17 import org.dive4elements.artifactdatabase.state.FacetActivity;
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
18 import org.dive4elements.artifacts.Artifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
19 import org.dive4elements.artifacts.CallContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
20 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
21 import org.dive4elements.river.artifacts.D4EArtifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
22 import org.dive4elements.river.artifacts.access.SedimentLoadAccess;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
23 import org.dive4elements.river.artifacts.model.CalculationResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
24 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
25 import org.dive4elements.river.artifacts.model.ReportFacet;
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
26 import org.dive4elements.river.artifacts.model.minfo.SedimentLoad;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
27 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadCalculation;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
28 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadFacet;
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
29 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadFactory;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
30 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadResult;
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
31 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadUnknownFacet;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
32 import org.dive4elements.river.artifacts.resources.Resources;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4826
diff changeset
33 import org.dive4elements.river.artifacts.states.DefaultState;
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
34 import org.dive4elements.river.utils.DateGuesser;
4220
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 public class SedimentLoadCalculate
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 extends DefaultState
4736
b195fede1c3b Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4546
diff changeset
39 implements FacetTypes
4220
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 {
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
42 private static final long serialVersionUID = 1L;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
43
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
44 private static final Logger logger = Logger
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
45 .getLogger(SedimentLoadCalculate.class);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
46
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
47 public static final String I18N_FACET_SEDIMENTLOAD_COARSE = "facet.sedimentload.coarse";
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
48 public static final String I18N_FACET_SEDIMENTLOAD_SAND = "facet.sedimentload.sand";
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
49 public static final String I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE = "facet.sedimentload.fine_middle";
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
50 public static final String I18N_FACET_SEDIMENTLOAD_SUSPSAND = "facet.sedimentload.susp_sand";
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
51 public static final String I18N_FACET_SEDIMENTLOAD_SUSPSANDBED = "facet.sediemntload.susp_sand_bed";
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
52 public static final String I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT = "facet.sedimentload.susp_sediment";
4546
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
53 public static final String I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD = "facet.sedimentload.total_load";
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
54 public static final String I18N_FACET_SEDIMENTLOAD_TOTAL = "facet.sedimentload.total";
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
55
6361
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
56 static {
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
57 // Active/deactivate facets.
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
58 FacetActivity.Registry.getInstance().register(
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
59 "minfo",
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
60 new FacetActivity() {
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
61 @Override
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
62 public Boolean isInitialActive(
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
63 Artifact artifact,
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
64 Facet facet,
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
65 String output
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
66 ) {
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
67 String name = facet.getName();
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
68 if (name.equals(SEDIMENT_LOAD_COARSE) ||
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
69 name.equals(SEDIMENT_LOAD_FINEMIDDLE) ||
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
70 name.equals(SEDIMENT_LOAD_SAND) ||
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
71 name.equals(SEDIMENT_LOAD_SUSP_SAND) ||
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
72 name.equals(SEDIMENT_LOAD_SUSP_SEDIMENT) ||
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
73 name.equals(SEDIMENT_LOAD_SUSP_SAND_BED)){
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
74 return Boolean.FALSE;
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
75 }
6662
ab11ce67854b Fixed typo that made me search longer than necessary.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6392
diff changeset
76 else if (name.equals(SEDIMENT_LOAD_UNKNOWN)) {
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
77 D4EArtifact d4e = (D4EArtifact)artifact;
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
78 SedimentLoadUnknownFacet f =
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
79 (SedimentLoadUnknownFacet)
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
80 d4e.getNativeFacet(facet, null);
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
81 SedimentLoad load =
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
82 (SedimentLoad)f.getData(artifact, null);
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
83 SedimentLoadAccess access =
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
84 new SedimentLoadAccess(d4e);
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
85 List<int[]> dates = new ArrayList<int[]>();
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
86 if (access.getYearEpoch().equals("year")) {
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
87 dates.add(access.getPeriod());
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
88 }
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
89 else {
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
90 int[][] epochs = access.getEpochs();
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
91 for (int i = 0; i < epochs.length; i++) {
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
92 dates.add(epochs[i]);
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
93 }
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
94 }
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
95 for (int[] date: dates) {
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
96 try {
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
97 Date s =
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
98 DateGuesser.guessDate(String.valueOf(date[0]));
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
99 Date e =
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
100 DateGuesser.guessDate(String.valueOf(date[1]));
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
101 if (!(s.after(load.getEnd()) ||
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
102 e.before(load.getStart()))) {
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
103 return Boolean.TRUE;
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
104 }
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
105 }
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
106 catch (IllegalArgumentException iae) {
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
107 return Boolean.FALSE;
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
108 }
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
109 }
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
110 return Boolean.FALSE;
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
111 }
6361
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
112 else {
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
113 return null;
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
114 }
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
115 }
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
116 });
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
117 }
01ff5cd6abfa Set initial facet activity for sediment load fractions.
Raimund Renkert <rrenkert@intevation.de>
parents: 6101
diff changeset
118
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
119 @Override
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
120 public Object computeAdvance(D4EArtifact artifact, String hash,
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
121 CallContext context, List<Facet> facets, Object old) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
122 logger.debug("SedimentLoadCalculate.computeAdvance");
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
123
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
124 List<Facet> newFacets = new ArrayList<Facet>();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
125
6101
a0078e5e3b39 Removed unused context from RangeAccess and subclasses leading to some dead code removal.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
126 SedimentLoadAccess access = new SedimentLoadAccess(artifact);
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
127
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
128 CalculationResult res = old instanceof CalculationResult ? (CalculationResult) old
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
129 : new SedimentLoadCalculation().calculate(access);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
130
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
131 if (facets == null || res == null) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
132 return res;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
133 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
134
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
135 SedimentLoadResult[] results = (SedimentLoadResult[]) res.getData();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
136
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
137 if (results == null || results.length == 0) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
138 logger.warn("Calculation computed no results!");
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
139 return res;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
140 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
141
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
142 String river = access.getRiver();
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
143 SedimentLoad[] unknown =
6665
b7945db8a43b issue1413: Only show unknown sediment loads of selected unit type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6663
diff changeset
144 SedimentLoadFactory.getSedimentLoadUnknown(river, access.getUnit().replace("_per_","/"));
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
145
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
146 String type = access.getYearEpoch();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
147 if (type.equals("year")) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
148 generateYearFacets(context, newFacets, results, getID(), hash);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
149 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
150 else if (type.equals("epoch")) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
151 generateEpochFacets(context, newFacets, results, getID(), hash);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
152 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
153 else if (type.equals("off_epoch")) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
154 generateOffEpochFacets(context, newFacets, results, getID(), hash);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
155 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
156 logger.debug("Created " + newFacets.size() + " new Facets.");
4519
3e1810e72199 Add report facet if calculation had problems.
Raimund Renkert <rrenkert@intevation.de>
parents: 4372
diff changeset
157 if (res.getReport().hasProblems()) {
3e1810e72199 Add report facet if calculation had problems.
Raimund Renkert <rrenkert@intevation.de>
parents: 4372
diff changeset
158 newFacets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
3e1810e72199 Add report facet if calculation had problems.
Raimund Renkert <rrenkert@intevation.de>
parents: 4372
diff changeset
159 }
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
160
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
161 for (int i = 0; i < unknown.length; i++) {
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
162 newFacets.add(new SedimentLoadUnknownFacet(
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
163 i,
6663
113c0fc71280 Fix, missed to commit a typo correction.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6662
diff changeset
164 SEDIMENT_LOAD_UNKNOWN,
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
165 unknown[i].getDescription(),
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
166 ComputeType.ADVANCE,
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
167 getID(),
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
168 hash));
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
169 }
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
170 facets.addAll(newFacets);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
171
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
172 return res;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
173 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
174
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
175 protected void generateYearFacets(CallContext context, List<Facet> newFacets,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
176 SedimentLoadResult[] results, String stateId, String hash) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
177 logger.debug("SedimentLoadCalculate.generateFacets");
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
178
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
179 CallMeta meta = context.getMeta();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
180
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
181 // newFacets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
182 for (int idx = 0; idx < results.length; idx++) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
183 SedimentLoadResult res = results[idx];
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
184 if (res.hasCoarseData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
185 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
186 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
187 SEDIMENT_LOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
188 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
189 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
190 I18N_FACET_SEDIMENTLOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
191 I18N_FACET_SEDIMENTLOAD_COARSE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
192 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
193 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
194 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
195 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
196 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
197 if (res.hasSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
198 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
199 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
200 SEDIMENT_LOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
201 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
202 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
203 I18N_FACET_SEDIMENTLOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
204 I18N_FACET_SEDIMENTLOAD_SAND) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
205 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
206 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
207 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
208 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
209 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
210 if (res.hasFineMiddleData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
211 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
212 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
213 SEDIMENT_LOAD_FINEMIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
214 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
215 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
216 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
217 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
218 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
219 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
220 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
221 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
222 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
223 if (res.hasSuspSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
224 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
225 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
226 SEDIMENT_LOAD_SUSP_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
227 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
228 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
229 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
230 I18N_FACET_SEDIMENTLOAD_SUSPSAND)
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
231 + " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
232 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
233 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
234 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
235 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
236 if (res.hasSuspSandBedData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
237 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
238 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
239 SEDIMENT_LOAD_SUSP_SAND_BED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
240 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
241 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
242 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
243 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
244 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
245 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
246 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
247 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
248 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
249 if (res.hasSuspSedimentData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
250 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
251 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
252 SEDIMENT_LOAD_SUSP_SEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
253 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
254 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
255 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
256 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
257 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
258 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
259 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
260 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
261
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
262 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
263 if (res.hasTotalData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
264 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
265 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
266 SEDIMENT_LOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
267 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
268 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
269 I18N_FACET_SEDIMENTLOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
270 I18N_FACET_SEDIMENTLOAD_TOTAL) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
271 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
272 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
273 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
274 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
275 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
276 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
277 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
278
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
279 protected void generateEpochFacets(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
280 CallContext context,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
281 List<Facet> newFacets,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
282 SedimentLoadResult[] results,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
283 String stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
284 String hash
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
285 ) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
286 logger.debug("SedimentLoadCalculate.generateEpochFacets");
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
287
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
288 CallMeta meta = context.getMeta();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
289
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
290 // newFacets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
291 for (int idx = 0; idx < results.length; idx++) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
292 SedimentLoadResult res = results[idx];
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
293 if (res.hasCoarseData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
294 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
295 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
296 SEDIMENT_LOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
297 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
298 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
299 I18N_FACET_SEDIMENTLOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
300 I18N_FACET_SEDIMENTLOAD_COARSE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
301 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
302 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
303 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
304 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
305 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
306 if (res.hasSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
307 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
308 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
309 SEDIMENT_LOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
310 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
311 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
312 I18N_FACET_SEDIMENTLOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
313 I18N_FACET_SEDIMENTLOAD_SAND) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
314 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
315 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
316 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
317 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
318 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
319 if (res.hasFineMiddleData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
320 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
321 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
322 SEDIMENT_LOAD_FINEMIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
323 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
324 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
325 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
326 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
327 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
328 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
329 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
330 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
331 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
332 if (res.hasSuspSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
333 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
334 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
335 SEDIMENT_LOAD_SUSP_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
336 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
337 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
338 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
339 I18N_FACET_SEDIMENTLOAD_SUSPSAND)
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
340 + " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
341 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
342 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
343 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
344 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
345 if (res.hasSuspSandBedData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
346 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
347 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
348 SEDIMENT_LOAD_SUSP_SAND_BED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
349 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
350 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
351 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
352 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
353 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
354 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
355 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
356 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
357 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
358 if (res.hasSuspSedimentData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
359 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
360 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
361 SEDIMENT_LOAD_SUSP_SEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
362 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
363 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
364 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
365 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
366 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
367 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
368 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
369 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
370
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
371 }
4546
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
372 if (res.hasTotalLoadData()) {
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
373 newFacets.add(new SedimentLoadFacet(
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
374 idx,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
375 SEDIMENT_LOAD_TOTAL_LOAD,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
376 Resources.getMsg(
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
377 meta,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
378 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
379 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD) +
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
380 " - " + res.getStartYear() + "-" + res.getEndYear(),
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
381 ComputeType.ADVANCE,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
382 stateId,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
383 hash));
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
384 }
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
385 if (res.hasTotalData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
386 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
387 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
388 SEDIMENT_LOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
389 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
390 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
391 I18N_FACET_SEDIMENTLOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
392 I18N_FACET_SEDIMENTLOAD_TOTAL) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
393 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
394 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
395 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
396 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
397 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
398 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
399 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
400
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
401 protected void generateOffEpochFacets(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
402 CallContext context,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
403 List<Facet> newFacets,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
404 SedimentLoadResult[] results,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
405 String stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
406 String hash
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
407 ) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
408 logger.debug("SedimentLoadCalculate.generateOffEpochFacets");
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
409
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
410 CallMeta meta = context.getMeta();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
411
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
412 // newFacets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
413 for (int idx = 0; idx < results.length; idx++) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
414 SedimentLoadResult res = results[idx];
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
415 if (res.hasCoarseData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
416 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
417 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
418 SEDIMENT_LOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
419 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
420 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
421 I18N_FACET_SEDIMENTLOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
422 I18N_FACET_SEDIMENTLOAD_COARSE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
423 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
424 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
425 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
426 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
427 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
428 if (res.hasSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
429 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
430 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
431 SEDIMENT_LOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
432 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
433 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
434 I18N_FACET_SEDIMENTLOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
435 I18N_FACET_SEDIMENTLOAD_SAND) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
436 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
437 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
438 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
439 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
440 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
441 if (res.hasFineMiddleData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
442 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
443 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
444 SEDIMENT_LOAD_FINEMIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
445 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
446 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
447 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
448 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
449 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
450 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
451 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
452 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
453 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
454 if (res.hasSuspSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
455 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
456 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
457 SEDIMENT_LOAD_SUSP_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
458 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
459 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
460 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
461 I18N_FACET_SEDIMENTLOAD_SUSPSAND) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
462 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
463 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
464 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
465 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
466 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
467 if (res.hasSuspSandBedData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
468 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
469 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
470 SEDIMENT_LOAD_SUSP_SAND_BED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
471 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
472 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
473 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
474 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
475 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
476 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
477 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
478 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
479 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
480 if (res.hasSuspSedimentData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
481 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
482 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
483 SEDIMENT_LOAD_SUSP_SEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
484 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
485 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
486 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
487 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
488 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
489 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
490 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
491 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
492
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
493 }
4546
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
494 if (res.hasTotalLoadData()) {
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
495 newFacets.add(new SedimentLoadFacet(
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
496 idx,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
497 SEDIMENT_LOAD_TOTAL_LOAD,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
498 Resources.getMsg(
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
499 meta,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
500 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
501 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD) +
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
502 " - " + res.getStartYear() + "-" + res.getEndYear(),
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
503 ComputeType.ADVANCE,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
504 stateId,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
505 hash));
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
506 }
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
507 if (res.hasTotalData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
508 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
509 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
510 SEDIMENT_LOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
511 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
512 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
513 I18N_FACET_SEDIMENTLOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
514 I18N_FACET_SEDIMENTLOAD_TOTAL) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
515 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
516 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
517 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
518 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
519 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
520 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
521 }
4220
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
522 }

http://dive4elements.wald.intevation.org