annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixAnalysisCompute.java @ 5863:4897a58c8746

River artifacts: Added new copyright headers.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:40:59 +0200
parents 5aa05a7a34b7
children 59ff03ff48f1
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 *
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
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
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
6 * documentation coming with Dive4Elements River for details.
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: 5646
diff changeset
9 package org.dive4elements.river.artifacts.states.fixation;
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
11 import java.text.DateFormat;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
12 import java.util.Date;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
13 import java.util.List;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
14
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
15 import org.apache.log4j.Logger;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
16
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
17 import org.dive4elements.artifactdatabase.state.Facet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
18 import org.dive4elements.artifactdatabase.state.FacetActivity;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
19 import org.dive4elements.artifacts.Artifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
20 import org.dive4elements.artifacts.CallContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
21 import org.dive4elements.river.artifacts.FLYSArtifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
22 import org.dive4elements.river.artifacts.access.FixAnalysisAccess;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
23 import org.dive4elements.river.artifacts.model.CalculationResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
24 import org.dive4elements.river.artifacts.model.DataFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
25 import org.dive4elements.river.artifacts.model.DateRange;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
26 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
27 import org.dive4elements.river.artifacts.model.ReportFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
28 import org.dive4elements.river.artifacts.model.fixings.FixAnalysisCalculation;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
29 import org.dive4elements.river.artifacts.model.fixings.FixAnalysisEventsFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
30 import org.dive4elements.river.artifacts.model.fixings.FixAnalysisPeriodsFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
31 import org.dive4elements.river.artifacts.model.fixings.FixAnalysisResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
32 import org.dive4elements.river.artifacts.model.fixings.FixAvSectorFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
33 import org.dive4elements.river.artifacts.model.fixings.FixDerivateFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
34 import org.dive4elements.river.artifacts.model.fixings.FixDeviationFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
35 import org.dive4elements.river.artifacts.model.fixings.FixLongitudinalAnalysisFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
36 import org.dive4elements.river.artifacts.model.fixings.FixLongitudinalAvSectorFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
37 import org.dive4elements.river.artifacts.model.fixings.FixLongitudinalDeviationFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
38 import org.dive4elements.river.artifacts.model.fixings.FixLongitudinalReferenceFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
39 import org.dive4elements.river.artifacts.model.fixings.FixOutlierFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
40 import org.dive4elements.river.artifacts.model.fixings.FixReferenceEventsFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
41 import org.dive4elements.river.artifacts.model.fixings.FixWQCurveFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
42 import org.dive4elements.river.artifacts.resources.Resources;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
43 import org.dive4elements.river.artifacts.states.DefaultState;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5646
diff changeset
44 import org.dive4elements.river.utils.IdGenerator;
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 /**
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 */
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49 public class FixAnalysisCompute
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 extends DefaultState
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 implements FacetTypes
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 /** The log used in this class. */
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 private static Logger log = Logger.getLogger(FixAnalysisCompute.class);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
56 private static final String I18N_REFERENCEPERIOD_SHORT = "fix.reference.period.event.short";
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 private static final String I18N_ANALYSISPERIODS = "fix.analysis.periods";
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 private static final String I18N_DERIVATIVE = "fix.derivative";
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62 private static final String I18N_OUTLIER = "fix.outlier";
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
64 private static final String I18N_ANALYSIS = "fix.analysis.short";
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 private static final String I18N_DEVIATION = "fix.deviation";
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 private static final String I18N_REFERENCEDEVIATION = "fix.reference.deviation";
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
70 private static final String I18N_REFERENCEPERIOD = "state.fix.analysis.referenceperiod";
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
71
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72 public static final String [] SECTOR_LABELS = {
5380
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
73 "fix.mnq",
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
74 "fix.mq",
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
75 "fix.mhq",
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
76 "fix.hq5"
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77 };
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
78
4166
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
79 // TODO Why does this happen here? In other cases its implemented in the
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
80 // respective artifact, not State.
3785
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
81 static {
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
82 // Active/deactivate facets.
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
83 FacetActivity.Registry.getInstance().register(
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
84 "fixanalysis",
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
85 new FacetActivity() {
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
86 @Override
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
87 public Boolean isInitialActive(
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
88 Artifact artifact,
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
89 Facet facet,
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
90 String output
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
91 ) {
4166
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
92 if (output.contains(FacetTypes.ChartType.FLSC.toString())) {
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
93 // Longitudinal section chart
3913
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
94 String name = facet.getName();
3785
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
95
3913
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
96 if (name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_DWT)
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
97 || name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_LS)
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
98 || name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_WQ)
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
99 || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_DWT)
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
100 || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_LS)
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
101 || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_WQ)
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
102 ) {
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
103 return Boolean.FALSE;
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
104 }
3785
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
105 }
4433
5b8919ef601d Backed out changeset e8a4d2fd25cc
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4432
diff changeset
106 if (output.contains(FacetTypes.ChartType.FDWC.toString())
4166
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
107 && facet.getName().contains(FacetTypes.FIX_SECTOR_AVERAGE_DWT)) {
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
108 return Boolean.FALSE;
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
109 }
3785
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
110
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
111 return Boolean.TRUE;
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
112 }
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
113 });
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
114 }
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
115
5646
14009b194871 Doc, Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5380
diff changeset
116
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
117 /**
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
118 * The default constructor that initializes an empty State object.
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
119 */
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
120 public FixAnalysisCompute() {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
121 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
122
5646
14009b194871 Doc, Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5380
diff changeset
123
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
124 @Override
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
125 public Object computeAdvance(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
126 FLYSArtifact artifact,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
127 String hash,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
128 CallContext context,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129 List<Facet> facets,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
130 Object old
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
131 ) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
132 log.debug("FixAnalysisCompute.computeAdvance");
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
133
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
134 CalculationResult res;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
135
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
136 FixAnalysisAccess access =
4866
acfd48384835 Changed data field names in fix analsis to ld_from, ld_to, ld step.
Raimund Renkert <rrenkert@intevation.de>
parents: 4433
diff changeset
137 new FixAnalysisAccess(artifact, context);
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
138
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
139 if (old instanceof CalculationResult) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
140 res = (CalculationResult)old;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
141 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
142 else {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
143 FixAnalysisCalculation calc = new FixAnalysisCalculation(access);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
144 res = calc.calculate();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
145 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
146
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
147 if (facets == null) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
148 return res;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
149 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
150
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
151 if (res.getReport().hasProblems()) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
152 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
153 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
154
3415
e3c7a3228bc2 FixA: Renamed FixResult to FixAnalysisResult.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3412
diff changeset
155 FixAnalysisResult fr = (FixAnalysisResult)res.getData();
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
156 if (fr == null) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
157 return res;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
158 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
159
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
160 facets.add(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
161 new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
162 facets.add(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
163 new DataFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
164 FIX_PARAMETERS, "parameters", ComputeType.ADVANCE, hash, id));
3599
659c1111db13 FixA: Added exporter for AT files.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3415
diff changeset
165 facets.add(
659c1111db13 FixA: Added exporter for AT files.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3415
diff changeset
166 new DataFacet(AT, "AT data", ComputeType.ADVANCE, hash, id));
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
167
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
168 int maxId = -100;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
169
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
170 int sectorMask = fr.getUsedSectorsInAnalysisPeriods();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
171
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
172 int qsS = access.getQSectorStart();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
173 int qsE = access.getQSectorEnd();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
174
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
175 // TODO: i18n
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
176 DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
177
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
178 DateRange [] periods = access.getAnalysisPeriods();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
179
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
180 for (int i = 0; i < periods.length; i++) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
181 DateRange period = periods[i];
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
182 String startDate = df.format(period.getFrom());
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
183 String endDate = df.format(period.getTo());
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
184
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
185 for (int j = qsS; j <= qsE; j++) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
186
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
187 // Only emit facets for sectors that really have data.
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
188 if ((sectorMask & (1 << j)) == 0) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
189 continue;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
190 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
191
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
192 String sector = SECTOR_LABELS[j];
5380
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
193 String description = "\u0394W (" +
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
194 Resources.getMsg(context.getMeta(),
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
195 sector,
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
196 sector) +
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
197 ")";
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
198
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
199 int sectorNdx = j - qsS;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
200 int facetNdx = i << 2;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
201 facetNdx = facetNdx | j;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
202
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
203 if (facetNdx > maxId) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
204 maxId = facetNdx;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
205 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
206
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
207 facets.add(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
208 new FixAvSectorFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
209 facetNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
210 FIX_SECTOR_AVERAGE_DWT + "_" + sectorNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
211 description));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
212 facets.add(
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
213 new FixLongitudinalAvSectorFacet(
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
214 facetNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
215 FIX_SECTOR_AVERAGE_LS + "_" + sectorNdx,
5380
75371c9ef472 I1174: Changed label for some themes in fix analysis.
Raimund Renkert <rrenkert@intevation.de>
parents: 4866
diff changeset
216 description + ":" + startDate + " - " + endDate));
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
217 // TODO: i18n
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
218 String dev = "Abweichung: " + description;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
219 facets.add(
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
220 new FixLongitudinalAvSectorFacet(
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
221 facetNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
222 FIX_SECTOR_AVERAGE_LS_DEVIATION + "_" + sectorNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
223 dev));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
224 facets.add(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
225 new FixAvSectorFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
226 facetNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
227 FIX_SECTOR_AVERAGE_WQ + "_" + sectorNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
228 description));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
229
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
230 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
231
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
232 String eventDesc =
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
233 Resources.getMsg(context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
234 I18N_ANALYSIS,
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
235 I18N_ANALYSIS);
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
236
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
237 int k = 0;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
238 for (Date d: fr.getAnalysisEventsDates(i)) {
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
239 int anaNdx = i << 8;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
240 anaNdx = anaNdx | k;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
241 facets.add(new FixAnalysisEventsFacet(anaNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
242 FIX_ANALYSIS_EVENTS_DWT,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
243 eventDesc + (i+1) + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
244 facets.add(new FixLongitudinalAnalysisFacet(anaNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
245 FIX_ANALYSIS_EVENTS_LS,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
246 eventDesc + (i+1) + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
247 facets.add(new FixAnalysisEventsFacet(anaNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
248 FIX_ANALYSIS_EVENTS_WQ,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
249 eventDesc + (i+1) +" - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
250 k++;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
251 }
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
252 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
253
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
254 IdGenerator idg = new IdGenerator(maxId + 1);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
255
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
256 String i18n_ref = Resources.getMsg(context.getMeta(),
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
257 I18N_REFERENCEPERIOD_SHORT,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
258 I18N_REFERENCEPERIOD_SHORT);
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
259 String i18n_dev = Resources.getMsg(context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
260 I18N_REFERENCEDEVIATION,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
261 I18N_REFERENCEDEVIATION);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
262
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
263 int i = 0;
3730
487a8cb4a222 FixA: Improved robustness and performance in facet generation for dates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3610
diff changeset
264 for (Date d: fr.getReferenceEventsDates()) {
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
265 int refNdx = idg.next() << 8;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
266 refNdx |= i;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
267 facets.add(new FixReferenceEventsFacet(refNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
268 FIX_REFERENCE_EVENTS_DWT,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
269 i18n_ref + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
270 refNdx = idg.next() << 8;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
271 refNdx = refNdx | i;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
272 facets.add(new FixLongitudinalReferenceFacet(refNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
273 FIX_REFERENCE_EVENTS_LS,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
274 i18n_ref + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
275 refNdx = idg.next() << 8;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
276 refNdx |= i;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
277 facets.add(new FixReferenceEventsFacet(refNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
278 FIX_REFERENCE_EVENTS_WQ,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
279 i18n_ref + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
280 i++;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
281 }
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
282
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
283
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
284 facets.add(new FixLongitudinalDeviationFacet(idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
285 FIX_DEVIATION_LS,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
286 i18n_dev));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
287
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
288 String i18n_ana = Resources.getMsg(context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
289 I18N_ANALYSISPERIODS,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
290 I18N_ANALYSISPERIODS);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
291 facets.add(new FixAnalysisPeriodsFacet(idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
292 FIX_ANALYSIS_PERIODS_DWT,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
293 i18n_ana));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
294 facets.add(new FixAnalysisPeriodsFacet(idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
295 FIX_ANALYSIS_PERIODS_LS,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
296 i18n_ana));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
297 facets.add(new FixAnalysisPeriodsFacet(idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
298 FIX_ANALYSIS_PERIODS_WQ,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
299 i18n_ana));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
300
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
301 String i18n_refp = Resources.getMsg(context.getMeta(),
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
302 I18N_REFERENCEPERIOD,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
303 I18N_REFERENCEPERIOD);
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
304 facets.add(new DataFacet(idg.next(),
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
305 FIX_REFERENCE_PERIOD_DWT,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
306 i18n_refp,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
307 ComputeType.ADVANCE, null, null));
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
308
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
309 facets.add(new FixWQCurveFacet(idg.next(), "W/Q"));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
310
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
311 Boolean preprocessing = access.getPreprocessing();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
312
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
313 if (preprocessing != null && preprocessing) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
314 facets.add(new FixOutlierFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
315 idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
316 FIX_OUTLIER,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
317 Resources.getMsg(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
318 context.getMeta(), I18N_OUTLIER, I18N_OUTLIER)));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
319 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
320
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
321 facets.add(new FixDerivateFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
322 idg.next(),
3917
1ff257ab38ca Rename fix_derivate to fix_derivate_curve to enable manual points on it
Christian Lins <christian.lins@intevation.de>
parents: 3913
diff changeset
323 FIX_DERIVATE_CURVE,
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
324 Resources.getMsg(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
325 context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
326 I18N_DERIVATIVE,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
327 I18N_DERIVATIVE)));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
328
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
329 facets.add(new FixDeviationFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
330 idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
331 FIX_DEVIATION_DWT,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
332 Resources.getMsg(context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
333 I18N_DEVIATION,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
334 I18N_DEVIATION)));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
335 return res;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
336 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
337 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
338 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org