Mercurial > dive4elements > river
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 : |