annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java @ 4433:5b8919ef601d

Backed out changeset e8a4d2fd25cc
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 07 Nov 2012 12:23:41 +0100
parents e8a4d2fd25cc
children acfd48384835
rev   line source
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.states.fixation;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
3 import java.text.DateFormat;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
4 import java.util.Date;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
5 import java.util.List;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
6
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
7 import org.apache.log4j.Logger;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
8
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9 import de.intevation.artifactdatabase.state.Facet;
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
10 import de.intevation.artifactdatabase.state.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
11 import de.intevation.artifacts.Artifact;
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 import de.intevation.artifacts.CallContext;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.artifacts.FLYSArtifact;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 import de.intevation.flys.artifacts.access.FixAnalysisAccess;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15 import de.intevation.flys.artifacts.model.CalculationResult;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 import de.intevation.flys.artifacts.model.DataFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 import de.intevation.flys.artifacts.model.DateRange;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 import de.intevation.flys.artifacts.model.FacetTypes;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 import de.intevation.flys.artifacts.model.ReportFacet;
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
20 import de.intevation.flys.artifacts.model.fixings.FixAnalysisCalculation;
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21 import de.intevation.flys.artifacts.model.fixings.FixAnalysisEventsFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 import de.intevation.flys.artifacts.model.fixings.FixAnalysisPeriodsFacet;
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
23 import de.intevation.flys.artifacts.model.fixings.FixAnalysisResult;
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 import de.intevation.flys.artifacts.model.fixings.FixAvSectorFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 import de.intevation.flys.artifacts.model.fixings.FixDerivateFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 import de.intevation.flys.artifacts.model.fixings.FixDeviationFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 import de.intevation.flys.artifacts.model.fixings.FixLongitudinalAnalysisFacet;
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
28 import de.intevation.flys.artifacts.model.fixings.FixLongitudinalAvSectorFacet;
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 import de.intevation.flys.artifacts.model.fixings.FixLongitudinalDeviationFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30 import de.intevation.flys.artifacts.model.fixings.FixLongitudinalReferenceFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 import de.intevation.flys.artifacts.model.fixings.FixOutlierFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 import de.intevation.flys.artifacts.model.fixings.FixReferenceEventsFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 import de.intevation.flys.artifacts.resources.Resources;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 import de.intevation.flys.artifacts.states.DefaultState;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36 import de.intevation.flys.utils.IdGenerator;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 /**
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 * @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
40 */
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 public class FixAnalysisCompute
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 extends DefaultState
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 implements FacetTypes
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 /** The log used in this class. */
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 private static Logger log = Logger.getLogger(FixAnalysisCompute.class);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
48 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
49
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 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
51
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 private static final String I18N_DERIVATIVE = "fix.derivative";
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 private static final String I18N_OUTLIER = "fix.outlier";
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
56 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
57
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 private static final String I18N_DEVIATION = "fix.deviation";
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_REFERENCEDEVIATION = "fix.reference.deviation";
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
62 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
63
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 public static final String [] SECTOR_LABELS = {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 "[0 - (MNQ+MQ)/2)",
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 "[(MNQ+MQ)/2 - (MQ+MHQ)/2)",
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67 "[(MQ+MHQ)/2 - HQ5)",
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 "[HQ5 - \u221e)"
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 };
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70
4166
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
71 // 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
72 // 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
73 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
74 // 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
75 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
76 "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
77 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
78 @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
79 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
80 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
81 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
82 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
83 ) {
4166
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
84 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
85 // 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
86 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
87
3913
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
88 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
89 || 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
90 || 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
91 || 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
92 || 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
93 || 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
94 ) {
bdf855b5693f Fixing analysis longitudinal section chart has now initially deactivated A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
95 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
96 }
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
97 }
4433
5b8919ef601d Backed out changeset e8a4d2fd25cc
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4432
diff changeset
98 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
99 && 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
100 return Boolean.FALSE;
48e09640e8ec Let fix sector average facets in deltawt-diagrams enter inactively.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3917
diff changeset
101 }
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
102
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
103 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
104 }
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 });
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
106 }
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3730
diff changeset
107
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
108 /**
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
109 * 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
110 */
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
111 public FixAnalysisCompute() {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
112 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
113
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
114 @Override
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
115 public Object computeAdvance(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
116 FLYSArtifact artifact,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
117 String hash,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
118 CallContext context,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
119 List<Facet> facets,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
120 Object old
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 log.debug("FixAnalysisCompute.computeAdvance");
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
123
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
124 CalculationResult res;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
125
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
126 FixAnalysisAccess access =
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
127 new FixAnalysisAccess(artifact);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
128
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129 if (old instanceof CalculationResult) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
130 res = (CalculationResult)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 else {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
133 FixAnalysisCalculation calc = new FixAnalysisCalculation(access);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
134 res = calc.calculate();
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
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
137 if (facets == null) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
138 return res;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
139 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
140
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
141 if (res.getReport().hasProblems()) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
142 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
143 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
144
3415
e3c7a3228bc2 FixA: Renamed FixResult to FixAnalysisResult.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3412
diff changeset
145 FixAnalysisResult fr = (FixAnalysisResult)res.getData();
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
146 if (fr == null) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
147 return res;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
148 }
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 facets.add(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
151 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
152 facets.add(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
153 new DataFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
154 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
155 facets.add(
659c1111db13 FixA: Added exporter for AT files.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3415
diff changeset
156 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
157
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
158 int maxId = -100;
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 int sectorMask = fr.getUsedSectorsInAnalysisPeriods();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
161
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
162 int qsS = access.getQSectorStart();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
163 int qsE = access.getQSectorEnd();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
164
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
165 // TODO: i18n
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
166 DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
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 DateRange [] periods = access.getAnalysisPeriods();
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 for (int i = 0; i < periods.length; i++) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
171 DateRange period = periods[i];
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
172 String startDate = df.format(period.getFrom());
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
173 String endDate = df.format(period.getTo());
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 for (int j = qsS; j <= qsE; j++) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
176
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
177 // 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
178 if ((sectorMask & (1 << j)) == 0) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
179 continue;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
180 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
181
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
182 String sector = SECTOR_LABELS[j];
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
183 String description = sector + ": " +
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
184 startDate + " - " +
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
185 endDate;
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 int sectorNdx = j - qsS;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
188 int facetNdx = i << 2;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
189 facetNdx = facetNdx | j;
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 if (facetNdx > maxId) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
192 maxId = facetNdx;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
193 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
194
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
195 facets.add(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
196 new FixAvSectorFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
197 facetNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
198 FIX_SECTOR_AVERAGE_DWT + "_" + sectorNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
199 description));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
200 facets.add(
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
201 new FixLongitudinalAvSectorFacet(
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
202 facetNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
203 FIX_SECTOR_AVERAGE_LS + "_" + sectorNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
204 description));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
205 // TODO: i18n
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
206 String dev = "Abweichung: " + description;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
207 facets.add(
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
208 new FixLongitudinalAvSectorFacet(
3412
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_LS_DEVIATION + "_" + sectorNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
211 dev));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
212 facets.add(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
213 new FixAvSectorFacet(
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_WQ + "_" + sectorNdx,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
216 description));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
217
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
218 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
219
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
220 String eventDesc =
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
221 Resources.getMsg(context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
222 I18N_ANALYSIS,
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
223 I18N_ANALYSIS);
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
224
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
225 int k = 0;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
226 for (Date d: fr.getAnalysisEventsDates(i)) {
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
227 int anaNdx = i << 8;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
228 anaNdx = anaNdx | k;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
229 facets.add(new FixAnalysisEventsFacet(anaNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
230 FIX_ANALYSIS_EVENTS_DWT,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
231 eventDesc + (i+1) + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
232 facets.add(new FixLongitudinalAnalysisFacet(anaNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
233 FIX_ANALYSIS_EVENTS_LS,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
234 eventDesc + (i+1) + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
235 facets.add(new FixAnalysisEventsFacet(anaNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
236 FIX_ANALYSIS_EVENTS_WQ,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
237 eventDesc + (i+1) +" - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
238 k++;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
239 }
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
240 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
241
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
242 IdGenerator idg = new IdGenerator(maxId + 1);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
243
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
244 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
245 I18N_REFERENCEPERIOD_SHORT,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
246 I18N_REFERENCEPERIOD_SHORT);
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
247 String i18n_dev = Resources.getMsg(context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
248 I18N_REFERENCEDEVIATION,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
249 I18N_REFERENCEDEVIATION);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
250
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
251 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
252 for (Date d: fr.getReferenceEventsDates()) {
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
253 int refNdx = idg.next() << 8;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
254 refNdx |= i;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
255 facets.add(new FixReferenceEventsFacet(refNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
256 FIX_REFERENCE_EVENTS_DWT,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
257 i18n_ref + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
258 refNdx = idg.next() << 8;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
259 refNdx = refNdx | i;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
260 facets.add(new FixLongitudinalReferenceFacet(refNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
261 FIX_REFERENCE_EVENTS_LS,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
262 i18n_ref + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
263 refNdx = idg.next() << 8;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
264 refNdx |= i;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
265 facets.add(new FixReferenceEventsFacet(refNdx,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
266 FIX_REFERENCE_EVENTS_WQ,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
267 i18n_ref + " - " + df.format(d)));
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
268 i++;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3599
diff changeset
269 }
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
270
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
271
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
272 facets.add(new FixLongitudinalDeviationFacet(idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
273 FIX_DEVIATION_LS,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
274 i18n_dev));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
275
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
276 String i18n_ana = Resources.getMsg(context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
277 I18N_ANALYSISPERIODS,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
278 I18N_ANALYSISPERIODS);
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
279 facets.add(new FixAnalysisPeriodsFacet(idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
280 FIX_ANALYSIS_PERIODS_DWT,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
281 i18n_ana));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
282 facets.add(new FixAnalysisPeriodsFacet(idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
283 FIX_ANALYSIS_PERIODS_LS,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
284 i18n_ana));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
285 facets.add(new FixAnalysisPeriodsFacet(idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
286 FIX_ANALYSIS_PERIODS_WQ,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
287 i18n_ana));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
288
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
289 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
290 I18N_REFERENCEPERIOD,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
291 I18N_REFERENCEPERIOD);
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
292 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
293 FIX_REFERENCE_PERIOD_DWT,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
294 i18n_refp,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3785
diff changeset
295 ComputeType.ADVANCE, null, null));
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
296
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
297 facets.add(new FixWQCurveFacet(idg.next(), "W/Q"));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
298
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
299 Boolean preprocessing = access.getPreprocessing();
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
300
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
301 if (preprocessing != null && preprocessing) {
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
302 facets.add(new FixOutlierFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
303 idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
304 FIX_OUTLIER,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
305 Resources.getMsg(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
306 context.getMeta(), I18N_OUTLIER, I18N_OUTLIER)));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
307 }
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 FixDerivateFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
310 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
311 FIX_DERIVATE_CURVE,
3412
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
312 Resources.getMsg(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
313 context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
314 I18N_DERIVATIVE,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
315 I18N_DERIVATIVE)));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
316
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
317 facets.add(new FixDeviationFacet(
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
318 idg.next(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
319 FIX_DEVIATION_DWT,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
320 Resources.getMsg(context.getMeta(),
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
321 I18N_DEVIATION,
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
322 I18N_DEVIATION)));
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
323 return res;
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
324 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
325 }
da000d9513f7 FixA: Renamed FixationCompute to FixAnalysisCompute
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
326 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org