annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java @ 3294:5e52202302e5

SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly. flys-artifacts/trunk@4973 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 13 Jul 2012 08:25:13 +0000
parents 116b342893e3
children 45af081061e7
rev   line source
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.states;
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
3 import de.intevation.artifactdatabase.state.Facet;
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
5 import de.intevation.artifacts.CallContext;
3116
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
6 import de.intevation.artifacts.CallMeta;
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
7
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
8 import de.intevation.flys.artifacts.FLYSArtifact;
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
9
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
10 import de.intevation.flys.artifacts.access.SQRelationAccess;
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
11
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
12 import de.intevation.flys.artifacts.model.CalculationResult;
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
13 import de.intevation.flys.artifacts.model.DataFacet;
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
14 import de.intevation.flys.artifacts.model.FacetTypes;
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
15
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
16 import de.intevation.flys.artifacts.model.sq.SQCurveFacet;
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
17 import de.intevation.flys.artifacts.model.sq.SQFractionResult;
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
18 import de.intevation.flys.artifacts.model.sq.SQMeasurementFacet;
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
19 import de.intevation.flys.artifacts.model.sq.SQOutlierFacet;
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
20 import de.intevation.flys.artifacts.model.sq.SQRelationCalculation;
3079
8ad8a227d983 Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3072
diff changeset
21 import de.intevation.flys.artifacts.model.sq.SQResult;
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
22
3116
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
23 import de.intevation.flys.artifacts.resources.Resources;
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
24
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 import de.intevation.flys.artifacts.states.DefaultState;
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
27 import java.util.List;
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
28
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
29 import org.apache.log4j.Logger;
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
30
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 /**
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 */
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
34 public class SQRelation extends DefaultState implements FacetTypes {
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
36 private static Logger log = Logger.getLogger(SQRelation.class);
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38
3116
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
39 public static final String I18N_FACET_CURVE =
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
40 "facet.sq_relation.curve";
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
41
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
42 public static final String I18N_FACET_MEASUREMENTS =
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
43 "facet.sq_relation.measurements";
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
44
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
45 public static final String I18N_FACET_OUTLIERS =
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
46 "facet.sq_relation.outliers";
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
47
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
48
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 public SQRelation() {
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 }
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
52
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 @Override
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
54 public Object computeAdvance(
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
55 FLYSArtifact artifact,
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
56 String hash,
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
57 CallContext context,
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
58 List<Facet> facets,
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
59 Object old
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
60 ) {
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
61 log.debug("SQRelation.computeAdvance");
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
62
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
63 CalculationResult res = old instanceof CalculationResult
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
64 ? (CalculationResult)old
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
65 : new SQRelationCalculation(
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
66 new SQRelationAccess(artifact)).calculate();
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
67
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
68 if (facets == null) {
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
69 return res;
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
70 }
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
71
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
72 SQResult [] sqr = (SQResult [])res.getData();
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
73 if (sqr == null) {
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
74 return res;
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
75 }
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
76
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
77 createFacets(context, facets, sqr, hash);
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
78
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
79 Facet csv = new DataFacet(
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
80 CSV, "CSV data", ComputeType.ADVANCE, hash, id);
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
81
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
82 Facet pdf = new DataFacet(
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
83 PDF, "PDF data", ComputeType.ADVANCE, hash, id);
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
84
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
85 facets.add(csv);
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
86 facets.add(pdf);
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
87
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
88 return res;
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 }
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
91
3079
8ad8a227d983 Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3072
diff changeset
92 protected void createFacets(
3116
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
93 CallContext context,
3079
8ad8a227d983 Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3072
diff changeset
94 List<Facet> container,
8ad8a227d983 Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3072
diff changeset
95 SQResult[] sqr,
8ad8a227d983 Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3072
diff changeset
96 String hash
8ad8a227d983 Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3072
diff changeset
97 ) {
3116
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
98 CallMeta meta = context.getMeta();
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
99 String stateId = getID();
3099
ef0dd585b5e0 Display measurements in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3087
diff changeset
100
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
101 for (int res = 0, n = sqr.length; res < n; res++) {
3099
ef0dd585b5e0 Display measurements in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3087
diff changeset
102
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
103 for (int i = 0; i < 6; i++) {
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
104 SQFractionResult result = sqr[res].getFraction(i);
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
105
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
106 if (result == null) {
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
107 log.warn("Fraction at index " + i + " is empty!");
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
108 continue;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
109 }
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
110
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
111 container.add(new SQMeasurementFacet(
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
112 res,
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
113 i,
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
114 getFractionFacetname(1, i),
3116
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
115 Resources.getMsg(
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
116 meta,
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
117 I18N_FACET_MEASUREMENTS,
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
118 I18N_FACET_MEASUREMENTS
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
119 ),
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
120 hash,
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
121 stateId
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
122 ));
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
123
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
124 container.add(new SQCurveFacet(
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
125 res,
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
126 i,
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
127 getFractionFacetname(0, i),
3116
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
128 Resources.getMsg(
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
129 meta,
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
130 I18N_FACET_CURVE,
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
131 I18N_FACET_CURVE
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
132 ),
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
133 hash,
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
134 stateId
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
135 ));
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
136
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
137 for (int j = 0, C = result.getOutliersCount(); j < C; j++) {
3119
238803b2cb8b Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3116
diff changeset
138 int index = res;
238803b2cb8b Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3116
diff changeset
139 index = index << 16;
238803b2cb8b Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3116
diff changeset
140 index = index + j;
238803b2cb8b Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3116
diff changeset
141
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
142 if (log.isDebugEnabled()) {
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
143 log.debug("new outliers facet (index=" +index+ ")");
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
144 log.debug(" result index = " + res);
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
145 log.debug(" fraction idx = " + i);
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
146 log.debug(" iteration = " + j);
3119
238803b2cb8b Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3116
diff changeset
147 }
238803b2cb8b Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3116
diff changeset
148
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
149 container.add(new SQOutlierFacet(
3119
238803b2cb8b Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3116
diff changeset
150 index,
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
151 i,
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
152 getFractionFacetname(2, i),
3116
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
153 Resources.getMsg(
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
154 meta,
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
155 I18N_FACET_OUTLIERS,
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
156 I18N_FACET_OUTLIERS,
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
157 new Object[] { j }
2feed9b50047 SQ relation now creates Facets with proper i18n labels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3101
diff changeset
158 ),
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
159 hash,
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
160 stateId
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
161 ));
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
162 }
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
163 }
3079
8ad8a227d983 Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3072
diff changeset
164 }
3072
0d3dd8230064 Added component stubs for SQ relation calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3058
diff changeset
165 }
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
166
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
167
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
168 protected String getFractionFacetname(int type, int fractionIdx) {
3222
116b342893e3 SQ: Connect calculation with artifact parameter access.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3119
diff changeset
169 log.debug("getFractionFacetname(): " + type + " | " + fractionIdx);
3101
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
170
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
171 switch (type) {
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
172 case 0:
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
173 switch (fractionIdx) {
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
174 case 0: return SQ_A_CURVE;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
175 case 1: return SQ_B_CURVE;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
176 case 2: return SQ_C_CURVE;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
177 case 3: return SQ_D_CURVE;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
178 case 4: return SQ_E_CURVE;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
179 case 5: return SQ_F_CURVE;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
180 }
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
181 case 1:
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
182 switch (fractionIdx) {
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
183 case 0: return SQ_A_MEASUREMENT;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
184 case 1: return SQ_B_MEASUREMENT;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
185 case 2: return SQ_C_MEASUREMENT;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
186 case 3: return SQ_D_MEASUREMENT;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
187 case 4: return SQ_E_MEASUREMENT;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
188 case 5: return SQ_F_MEASUREMENT;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
189 }
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
190 case 2:
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
191 switch (fractionIdx) {
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
192 case 0: return SQ_A_OUTLIER;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
193 case 1: return SQ_B_OUTLIER;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
194 case 2: return SQ_C_OUTLIER;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
195 case 3: return SQ_D_OUTLIER;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
196 case 4: return SQ_E_OUTLIER;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
197 case 5: return SQ_F_OUTLIER;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
198 }
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
199 }
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
200
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
201 return null;
b31397addf2f Create Facets for each SQResult and SQFractionResult.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3099
diff changeset
202 }
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
203 }
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
204 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org