annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadCalculate.java @ 6680:b9dd591b3fbd

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

http://dive4elements.wald.intevation.org