annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadCalculate.java @ 7261:a56fe3bc6700

Refactoring: Let RiverAccess.getRiver return an River. Renamed getRiver in getRiverName. Update Callers.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 08 Oct 2013 14:50:58 +0200
parents 9cc0b03656fb
children f2d97537f48a
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
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
143 String type = access.getYearEpoch();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
144 if (type.equals("year")) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
145 generateYearFacets(context, newFacets, results, getID(), hash);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
146 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
147 else if (type.equals("epoch")) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
148 generateEpochFacets(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("off_epoch")) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
151 generateOffEpochFacets(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 logger.debug("Created " + newFacets.size() + " new Facets.");
6756
9cc0b03656fb issue1433: Update caller for last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6680
diff changeset
154
7261
a56fe3bc6700 Refactoring: Let RiverAccess.getRiver return an River.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6756
diff changeset
155 String river = access.getRiverName();
6756
9cc0b03656fb issue1433: Update caller for last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6680
diff changeset
156 SedimentLoad[] unknown =
9cc0b03656fb issue1433: Update caller for last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6680
diff changeset
157 SedimentLoadFactory.getSedimentLoadUnknown(river,
9cc0b03656fb issue1433: Update caller for last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6680
diff changeset
158 access.getUnit().replace("_per_","/"), type);
9cc0b03656fb issue1433: Update caller for last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6680
diff changeset
159
4519
3e1810e72199 Add report facet if calculation had problems.
Raimund Renkert <rrenkert@intevation.de>
parents: 4372
diff changeset
160 if (res.getReport().hasProblems()) {
3e1810e72199 Add report facet if calculation had problems.
Raimund Renkert <rrenkert@intevation.de>
parents: 4372
diff changeset
161 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
162 }
6392
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
163
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
164 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
165 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
166 i,
6663
113c0fc71280 Fix, missed to commit a typo correction.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6662
diff changeset
167 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
168 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
169 ComputeType.ADVANCE,
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
170 getID(),
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
171 hash));
9a0f8d532797 Load sedimentload fraction with sedimentload factory and add new facets to artifact.
Raimund Renkert <rrenkert@intevation.de>
parents: 6361
diff changeset
172 }
6668
368db84f1241 issue1416: Move a stub new SedimentLoadExporter in place.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6665
diff changeset
173
368db84f1241 issue1416: Move a stub new SedimentLoadExporter in place.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6665
diff changeset
174 newFacets.add(
368db84f1241 issue1416: Move a stub new SedimentLoadExporter in place.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6665
diff changeset
175 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
176
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
177 facets.addAll(newFacets);
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 return res;
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
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
182 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
183 SedimentLoadResult[] results, String stateId, String hash) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
184 logger.debug("SedimentLoadCalculate.generateFacets");
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 CallMeta meta = context.getMeta();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
187
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
188 // 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
189 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
190 SedimentLoadResult res = results[idx];
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
191 if (res.hasCoarseData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
192 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
193 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
194 SEDIMENT_LOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
195 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
196 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
197 I18N_FACET_SEDIMENTLOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
198 I18N_FACET_SEDIMENTLOAD_COARSE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
199 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
200 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
201 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
202 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
203 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
204 if (res.hasSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
205 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
206 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
207 SEDIMENT_LOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
208 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
209 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
210 I18N_FACET_SEDIMENTLOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
211 I18N_FACET_SEDIMENTLOAD_SAND) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
212 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
213 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
214 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
215 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
216 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
217 if (res.hasFineMiddleData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
218 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
219 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
220 SEDIMENT_LOAD_FINEMIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
221 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
222 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
223 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
224 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
225 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
226 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
227 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
228 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
229 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
230 if (res.hasSuspSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
231 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
232 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
233 SEDIMENT_LOAD_SUSP_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
234 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
235 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
236 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
237 I18N_FACET_SEDIMENTLOAD_SUSPSAND)
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
238 + " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
239 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
240 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
241 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
242 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
243 if (res.hasSuspSandBedData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
244 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
245 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
246 SEDIMENT_LOAD_SUSP_SAND_BED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
247 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
248 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
249 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
250 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
251 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
252 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
253 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
254 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
255 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
256 if (res.hasSuspSedimentData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
257 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
258 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
259 SEDIMENT_LOAD_SUSP_SEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
260 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
261 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
262 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
263 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
264 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
265 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
266 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
267 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
268
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
269 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
270 if (res.hasTotalData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
271 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
272 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
273 SEDIMENT_LOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
274 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
275 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
276 I18N_FACET_SEDIMENTLOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
277 I18N_FACET_SEDIMENTLOAD_TOTAL) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
278 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
279 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
280 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
281 hash));
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 }
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 protected void generateEpochFacets(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
287 CallContext context,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
288 List<Facet> newFacets,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
289 SedimentLoadResult[] results,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
290 String stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
291 String hash
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 logger.debug("SedimentLoadCalculate.generateEpochFacets");
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 CallMeta meta = context.getMeta();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
296
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
297 // 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
298 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
299 SedimentLoadResult res = results[idx];
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
300 if (res.hasCoarseData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
301 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
302 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
303 SEDIMENT_LOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
304 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
305 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
306 I18N_FACET_SEDIMENTLOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
307 I18N_FACET_SEDIMENTLOAD_COARSE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
308 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
309 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
310 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
311 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
312 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
313 if (res.hasSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
314 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
315 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
316 SEDIMENT_LOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
317 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
318 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
319 I18N_FACET_SEDIMENTLOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
320 I18N_FACET_SEDIMENTLOAD_SAND) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
321 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
322 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
323 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
324 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
325 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
326 if (res.hasFineMiddleData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
327 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
328 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
329 SEDIMENT_LOAD_FINEMIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
330 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
331 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
332 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
333 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
334 " - " + res.getStartYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
335 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
336 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
337 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
338 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
339 if (res.hasSuspSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
340 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
341 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
342 SEDIMENT_LOAD_SUSP_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
343 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
344 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
345 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
346 I18N_FACET_SEDIMENTLOAD_SUSPSAND)
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
347 + " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
348 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
349 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
350 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
351 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
352 if (res.hasSuspSandBedData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
353 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
354 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
355 SEDIMENT_LOAD_SUSP_SAND_BED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
356 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
357 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
358 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
359 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
360 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
361 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
362 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
363 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
364 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
365 if (res.hasSuspSedimentData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
366 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
367 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
368 SEDIMENT_LOAD_SUSP_SEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
369 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
370 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
371 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
372 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
373 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
374 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
375 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
376 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
377
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
378 }
4546
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
379 if (res.hasTotalLoadData()) {
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
380 newFacets.add(new SedimentLoadFacet(
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
381 idx,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
382 SEDIMENT_LOAD_TOTAL_LOAD,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
383 Resources.getMsg(
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
384 meta,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
385 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
386 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD) +
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
387 " - " + res.getStartYear() + "-" + res.getEndYear(),
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
388 ComputeType.ADVANCE,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
389 stateId,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
390 hash));
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
391 }
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
392 if (res.hasTotalData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
393 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
394 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
395 SEDIMENT_LOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
396 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
397 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
398 I18N_FACET_SEDIMENTLOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
399 I18N_FACET_SEDIMENTLOAD_TOTAL) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
400 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
401 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
402 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
403 hash));
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 }
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 protected void generateOffEpochFacets(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
409 CallContext context,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
410 List<Facet> newFacets,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
411 SedimentLoadResult[] results,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
412 String stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
413 String hash
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 logger.debug("SedimentLoadCalculate.generateOffEpochFacets");
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 CallMeta meta = context.getMeta();
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
418
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
419 // 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
420 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
421 SedimentLoadResult res = results[idx];
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
422 if (res.hasCoarseData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
423 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
424 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
425 SEDIMENT_LOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
426 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
427 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
428 I18N_FACET_SEDIMENTLOAD_COARSE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
429 I18N_FACET_SEDIMENTLOAD_COARSE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
430 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
431 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
432 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
433 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
434 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
435 if (res.hasSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
436 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
437 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
438 SEDIMENT_LOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
439 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
440 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
441 I18N_FACET_SEDIMENTLOAD_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
442 I18N_FACET_SEDIMENTLOAD_SAND) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
443 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
444 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
445 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
446 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
447 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
448 if (res.hasFineMiddleData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
449 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
450 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
451 SEDIMENT_LOAD_FINEMIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
452 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
453 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
454 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
455 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
456 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
457 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
458 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
459 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
460 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
461 if (res.hasSuspSandData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
462 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
463 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
464 SEDIMENT_LOAD_SUSP_SAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
465 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
466 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
467 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
468 I18N_FACET_SEDIMENTLOAD_SUSPSAND) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
469 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
470 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
471 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
472 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
473 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
474 if (res.hasSuspSandBedData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
475 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
476 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
477 SEDIMENT_LOAD_SUSP_SAND_BED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
478 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
479 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
480 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
481 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
482 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
483 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
484 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
485 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
486 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
487 if (res.hasSuspSedimentData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
488 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
489 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
490 SEDIMENT_LOAD_SUSP_SEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
491 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
492 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
493 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
494 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
495 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
496 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
497 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
498 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
499
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
500 }
4546
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
501 if (res.hasTotalLoadData()) {
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
502 newFacets.add(new SedimentLoadFacet(
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
503 idx,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
504 SEDIMENT_LOAD_TOTAL_LOAD,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
505 Resources.getMsg(
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
506 meta,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
507 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
508 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD) +
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
509 " - " + res.getStartYear() + "-" + res.getEndYear(),
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
510 ComputeType.ADVANCE,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
511 stateId,
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
512 hash));
af1938d4e957 New field in sediment load object and calculation.
Raimund Renkert <rrenkert@intevation.de>
parents: 4519
diff changeset
513 }
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
514 if (res.hasTotalData()) {
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
515 newFacets.add(new SedimentLoadFacet(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
516 idx,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
517 SEDIMENT_LOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
518 Resources.getMsg(
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
519 meta,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
520 I18N_FACET_SEDIMENTLOAD_TOTAL,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
521 I18N_FACET_SEDIMENTLOAD_TOTAL) +
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
522 " - " + res.getStartYear() + "-" + res.getEndYear(),
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
523 ComputeType.ADVANCE,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
524 stateId,
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
525 hash));
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
526 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
527 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents: 4220
diff changeset
528 }
4220
a30647abf009 Added config and states for sediment load calculation in MINFO module.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
529 }
6680
b9dd591b3fbd Doc, vimline.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6668
diff changeset
530 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org