Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java @ 3559:f9f266504f1d
S/Q relation: Initially activate/deactivate facets.
flys-artifacts/trunk@5156 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 29 Jul 2012 12:30:25 +0000 |
parents | 1df6984628c3 |
children | 5063c93dfb8e |
comparison
equal
deleted
inserted
replaced
3558:c3cd414982fe | 3559:f9f266504f1d |
---|---|
1 package de.intevation.flys.artifacts.states; | 1 package de.intevation.flys.artifacts.states; |
2 | 2 |
3 import de.intevation.artifactdatabase.state.Facet; | 3 import de.intevation.artifactdatabase.state.Facet; |
4 | 4 import de.intevation.artifactdatabase.state.FacetActivity; |
5 | |
6 import de.intevation.artifacts.Artifact; | |
5 import de.intevation.artifacts.CallContext; | 7 import de.intevation.artifacts.CallContext; |
6 import de.intevation.artifacts.CallMeta; | 8 import de.intevation.artifacts.CallMeta; |
9 | |
10 import de.intevation.artifacts.common.utils.StringUtils; | |
7 | 11 |
8 import de.intevation.flys.artifacts.FLYSArtifact; | 12 import de.intevation.flys.artifacts.FLYSArtifact; |
9 | 13 |
10 import de.intevation.flys.artifacts.access.SQRelationAccess; | 14 import de.intevation.flys.artifacts.access.SQRelationAccess; |
11 | 15 |
50 "facet.sq_relation.outlier.curve"; | 54 "facet.sq_relation.outlier.curve"; |
51 | 55 |
52 public static final String I18N_FACET_OUTLIER_MEASUREMENT = | 56 public static final String I18N_FACET_OUTLIER_MEASUREMENT = |
53 "facet.sq_relation.outlier.measurement"; | 57 "facet.sq_relation.outlier.measurement"; |
54 | 58 |
59 public static final int CURVE_INDEX = 0; | |
60 public static final int MEASURREMENT_INDEX = 1; | |
61 public static final int OUTLIER_INDEX = 2; | |
62 public static final int OUTLIER_CURVE_INDEX = 3; | |
63 public static final int OUTLIER_MEASUREMENT_INDEX = 4; | |
64 | |
65 public static final String [][] FACET_NAMES = { | |
66 { SQ_A_CURVE, SQ_B_CURVE, SQ_C_CURVE, | |
67 SQ_D_CURVE, SQ_E_CURVE, SQ_F_CURVE | |
68 }, | |
69 { SQ_A_MEASUREMENT, SQ_B_MEASUREMENT, SQ_C_MEASUREMENT, | |
70 SQ_D_MEASUREMENT, SQ_E_MEASUREMENT, SQ_F_MEASUREMENT | |
71 }, | |
72 { SQ_A_OUTLIER, SQ_B_OUTLIER, SQ_C_OUTLIER, | |
73 SQ_D_OUTLIER, SQ_E_OUTLIER, SQ_F_OUTLIER | |
74 }, | |
75 { SQ_A_OUTLIER_CURVE, SQ_B_OUTLIER_CURVE, SQ_C_OUTLIER_CURVE, | |
76 SQ_D_OUTLIER_CURVE, SQ_E_OUTLIER_CURVE, SQ_F_OUTLIER_CURVE | |
77 }, | |
78 { SQ_A_OUTLIER_MEASUREMENT, SQ_B_OUTLIER_MEASUREMENT, | |
79 SQ_C_OUTLIER_MEASUREMENT, SQ_D_OUTLIER_MEASUREMENT, | |
80 SQ_E_OUTLIER_MEASUREMENT, SQ_F_OUTLIER_MEASUREMENT | |
81 } | |
82 }; | |
83 | |
84 | |
85 static { | |
86 // Active/deactivate facets. | |
87 FacetActivity.Registry.getInstance().register( | |
88 "minfo", | |
89 new FacetActivity() { | |
90 @Override | |
91 public Boolean isInitialActive( | |
92 Artifact artifact, | |
93 Facet facet, | |
94 String output | |
95 ) { | |
96 String name = facet.getName(); | |
97 | |
98 if (StringUtils.contains(name, FACET_NAMES[CURVE_INDEX]) | |
99 || StringUtils.contains( | |
100 name, FACET_NAMES[OUTLIER_MEASUREMENT_INDEX]) | |
101 ) { | |
102 // TODO: Only the last should be active. | |
103 return Boolean.TRUE; | |
104 } | |
105 | |
106 if (StringUtils.contains( | |
107 name, FACET_NAMES[MEASURREMENT_INDEX]) | |
108 || StringUtils.contains( | |
109 name, FACET_NAMES[OUTLIER_INDEX]) | |
110 ) { | |
111 return Boolean.FALSE; | |
112 } | |
113 | |
114 return null; | |
115 } | |
116 }); | |
117 } | |
118 | |
55 public SQRelation() { | 119 public SQRelation() { |
56 } | 120 } |
57 | 121 |
58 | 122 |
59 @Override | 123 @Override |
105 | 169 |
106 CallMeta meta = context.getMeta(); | 170 CallMeta meta = context.getMeta(); |
107 String stateId = getID(); | 171 String stateId = getID(); |
108 for (int i = 0; i < 6; i++) { | 172 for (int i = 0; i < 6; i++) { |
109 container.add(new SQOverviewFacet( | 173 container.add(new SQOverviewFacet( |
110 i, | 174 i, |
111 i, | 175 i, |
112 "sq_chart_overview", | 176 "sq_chart_overview", |
113 Resources.getMsg( | 177 Resources.getMsg( |
114 context.getMeta(), | 178 meta, |
115 I18N_FACET_CURVE, | 179 I18N_FACET_CURVE, |
116 I18N_FACET_CURVE | 180 I18N_FACET_CURVE |
117 ), | 181 ), |
118 hash, | 182 hash, |
119 getID() | 183 getID() |
120 )); | 184 )); |
121 } | 185 } |
122 for (int res = 0, n = sqr.length; res < n; res++) { | 186 for (int res = 0, n = sqr.length; res < n; res++) { |
123 | 187 |
124 for (int i = 0; i < SQResult.NUMBER_FRACTIONS; i++) { | 188 for (int i = 0; i < SQResult.NUMBER_FRACTIONS; i++) { |
125 SQFractionResult result = sqr[res].getFraction(i); | 189 SQFractionResult result = sqr[res].getFraction(i); |
130 } | 194 } |
131 | 195 |
132 container.add(new SQCurveFacet( | 196 container.add(new SQCurveFacet( |
133 res, | 197 res, |
134 i, | 198 i, |
135 getFractionFacetname(0, i), | 199 getFractionFacetname(CURVE_INDEX, i), |
136 Resources.getMsg( | 200 Resources.getMsg( |
137 meta, | 201 meta, |
138 I18N_FACET_CURVE, | 202 I18N_FACET_CURVE, |
139 I18N_FACET_CURVE | 203 I18N_FACET_CURVE |
140 ), | 204 ), |
158 } | 222 } |
159 | 223 |
160 container.add(new SQOutlierFacet( | 224 container.add(new SQOutlierFacet( |
161 index, | 225 index, |
162 i, | 226 i, |
163 getFractionFacetname(2, i), | 227 getFractionFacetname(OUTLIER_INDEX, i), |
164 Resources.getMsg( | 228 Resources.getMsg( |
165 meta, | 229 meta, |
166 I18N_FACET_OUTLIERS, | 230 I18N_FACET_OUTLIERS, |
167 I18N_FACET_OUTLIERS, | 231 I18N_FACET_OUTLIERS, |
168 round | 232 round |
172 )); | 236 )); |
173 | 237 |
174 container.add(new SQOutlierCurveFacet( | 238 container.add(new SQOutlierCurveFacet( |
175 index, | 239 index, |
176 i, | 240 i, |
177 getFractionFacetname(3, i), | 241 getFractionFacetname(OUTLIER_CURVE_INDEX, i), |
178 Resources.getMsg( | 242 Resources.getMsg( |
179 meta, | 243 meta, |
180 I18N_FACET_OUTLIER_CURVE, | 244 I18N_FACET_OUTLIER_CURVE, |
181 I18N_FACET_OUTLIER_CURVE, | 245 I18N_FACET_OUTLIER_CURVE, |
182 round | 246 round |
186 )); | 250 )); |
187 | 251 |
188 container.add(new SQOutlierMeasurementFacet( | 252 container.add(new SQOutlierMeasurementFacet( |
189 index, | 253 index, |
190 i, | 254 i, |
191 getFractionFacetname(4, i), | 255 getFractionFacetname(OUTLIER_MEASUREMENT_INDEX, i), |
192 Resources.getMsg( | 256 Resources.getMsg( |
193 meta, | 257 meta, |
194 I18N_FACET_OUTLIER_MEASUREMENT, | 258 I18N_FACET_OUTLIER_MEASUREMENT, |
195 I18N_FACET_OUTLIER_MEASUREMENT, | 259 I18N_FACET_OUTLIER_MEASUREMENT, |
196 round | 260 round |
201 } // for all outliers | 265 } // for all outliers |
202 | 266 |
203 container.add(new SQMeasurementFacet( | 267 container.add(new SQMeasurementFacet( |
204 res, | 268 res, |
205 i, | 269 i, |
206 getFractionFacetname(1, i), | 270 getFractionFacetname(MEASURREMENT_INDEX, i), |
207 Resources.getMsg( | 271 Resources.getMsg( |
208 meta, | 272 meta, |
209 I18N_FACET_MEASUREMENTS, | 273 I18N_FACET_MEASUREMENTS, |
210 I18N_FACET_MEASUREMENTS | 274 I18N_FACET_MEASUREMENTS |
211 ), | 275 ), |
214 )); | 278 )); |
215 } // for all fractions | 279 } // for all fractions |
216 } // for all results | 280 } // for all results |
217 } | 281 } |
218 | 282 |
219 public static final String [][] FACET_NAMES = { | |
220 { SQ_A_CURVE, SQ_B_CURVE, SQ_C_CURVE, | |
221 SQ_D_CURVE, SQ_E_CURVE, SQ_F_CURVE | |
222 }, | |
223 { SQ_A_MEASUREMENT, SQ_B_MEASUREMENT, SQ_C_MEASUREMENT, | |
224 SQ_D_MEASUREMENT, SQ_E_MEASUREMENT, SQ_F_MEASUREMENT | |
225 }, | |
226 { SQ_A_OUTLIER, SQ_B_OUTLIER, SQ_C_OUTLIER, | |
227 SQ_D_OUTLIER, SQ_E_OUTLIER, SQ_F_OUTLIER | |
228 }, | |
229 { SQ_A_OUTLIER_CURVE, SQ_B_OUTLIER_CURVE, SQ_C_OUTLIER_CURVE, | |
230 SQ_D_OUTLIER_CURVE, SQ_E_OUTLIER_CURVE, SQ_F_OUTLIER_CURVE | |
231 }, | |
232 { SQ_A_OUTLIER_MEASUREMENT, SQ_B_OUTLIER_MEASUREMENT, | |
233 SQ_C_OUTLIER_MEASUREMENT, SQ_D_OUTLIER_MEASUREMENT, | |
234 SQ_E_OUTLIER_MEASUREMENT, SQ_F_OUTLIER_MEASUREMENT | |
235 } | |
236 }; | |
237 | |
238 | |
239 protected static String getFractionFacetname(int type, int idx) { | 283 protected static String getFractionFacetname(int type, int idx) { |
240 if (log.isDebugEnabled()) { | 284 if (log.isDebugEnabled()) { |
241 log.debug("getFractionFacetname(): " + type + " | " + idx); | 285 log.debug("getFractionFacetname(): " + type + " | " + idx); |
242 } | 286 } |
243 type %= FACET_NAMES.length; | 287 type %= FACET_NAMES.length; |