Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java @ 3101:b31397addf2f
Create Facets for each SQResult and SQFractionResult.
flys-artifacts/trunk@4700 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 19 Jun 2012 12:25:01 +0000 |
parents | ef0dd585b5e0 |
children | 2feed9b50047 |
comparison
equal
deleted
inserted
replaced
3100:c0abfb695332 | 3101:b31397addf2f |
---|---|
13 import de.intevation.flys.artifacts.MINFOArtifact; | 13 import de.intevation.flys.artifacts.MINFOArtifact; |
14 import de.intevation.flys.artifacts.model.DataFacet; | 14 import de.intevation.flys.artifacts.model.DataFacet; |
15 import de.intevation.flys.artifacts.model.FacetTypes; | 15 import de.intevation.flys.artifacts.model.FacetTypes; |
16 import de.intevation.flys.artifacts.model.CalculationResult; | 16 import de.intevation.flys.artifacts.model.CalculationResult; |
17 import de.intevation.flys.artifacts.model.sq.SQCurveFacet; | 17 import de.intevation.flys.artifacts.model.sq.SQCurveFacet; |
18 import de.intevation.flys.artifacts.model.sq.SQFractionResult; | |
18 import de.intevation.flys.artifacts.model.sq.SQMeasurementFacet; | 19 import de.intevation.flys.artifacts.model.sq.SQMeasurementFacet; |
19 import de.intevation.flys.artifacts.model.sq.SQOutlierFacet; | 20 import de.intevation.flys.artifacts.model.sq.SQOutlierFacet; |
20 import de.intevation.flys.artifacts.model.sq.SQRelationCalculation; | 21 import de.intevation.flys.artifacts.model.sq.SQRelationCalculation; |
21 import de.intevation.flys.artifacts.model.sq.SQResult; | 22 import de.intevation.flys.artifacts.model.sq.SQResult; |
22 import de.intevation.flys.artifacts.states.DefaultState; | 23 import de.intevation.flys.artifacts.states.DefaultState; |
52 if (facets == null || res == null) { | 53 if (facets == null || res == null) { |
53 return res; | 54 return res; |
54 } | 55 } |
55 | 56 |
56 SQResult[] sqr = (SQResult[]) res.getData(); | 57 SQResult[] sqr = (SQResult[]) res.getData(); |
58 logger.info("Calculation computed " + sqr.length + " SQResult objects"); | |
59 | |
57 createFacets(newFacets, sqr, hash); | 60 createFacets(newFacets, sqr, hash); |
58 | 61 |
59 Facet csv = new DataFacet( | 62 Facet csv = new DataFacet( |
60 CSV, "CSV data", ComputeType.ADVANCE, hash, id); | 63 CSV, "CSV data", ComputeType.ADVANCE, hash, id); |
61 | 64 |
78 SQResult[] sqr, | 81 SQResult[] sqr, |
79 String hash | 82 String hash |
80 ) { | 83 ) { |
81 String stateId = getID(); | 84 String stateId = getID(); |
82 | 85 |
83 // TODO Create facets for each parameter type (A-F) | 86 for (int res = 0, n = sqr.length; res < n; res++) { |
84 container.add(new SQMeasurementFacet( | |
85 0, | |
86 SQ_A_MEASUREMENT, | |
87 "Measurement TODO", | |
88 hash, | |
89 stateId | |
90 )); | |
91 | 87 |
92 container.add(new SQCurveFacet(0, SQ_A_CURVE, "TODO")); | 88 for (int i = 0; i < 6; i++) { |
89 SQFractionResult result = sqr[res].getFraction(i); | |
93 | 90 |
94 for (int i = 0, C = sqr[0].getOutliersCount(); i < C; i++) { | 91 if (result == null) { |
95 container.add(new SQOutlierFacet( | 92 logger.warn("Fraction at index " + i + " is empty!"); |
96 0, | 93 continue; |
97 i, | 94 } |
98 SQ_A_OUTLIER, | 95 |
99 "OUTLIER AT" + i, | 96 container.add(new SQMeasurementFacet( |
100 hash, | 97 res, |
101 stateId | 98 i, |
102 )); | 99 getFractionFacetname(1, i), |
100 "Measurement (Fraction " + i + ")", | |
101 hash, | |
102 stateId | |
103 )); | |
104 | |
105 container.add(new SQCurveFacet( | |
106 res, | |
107 i, | |
108 getFractionFacetname(0, i), | |
109 "CURVE AT " + i, | |
110 hash, | |
111 stateId | |
112 )); | |
113 | |
114 for (int j = 0, C = result.getOutliersCount(); j < C; j++) { | |
115 container.add(new SQOutlierFacet( | |
116 res, | |
117 i, | |
118 j, | |
119 getFractionFacetname(2, i), | |
120 "OUTLIER AT " + i, | |
121 hash, | |
122 stateId | |
123 )); | |
124 } | |
125 } | |
103 } | 126 } |
127 } | |
128 | |
129 | |
130 protected String getFractionFacetname(int type, int fractionIdx) { | |
131 logger.debug("getFractionFacetname(): " + type + " | " + fractionIdx); | |
132 | |
133 switch (type) { | |
134 case 0: | |
135 switch (fractionIdx) { | |
136 case 0: return SQ_A_CURVE; | |
137 case 1: return SQ_B_CURVE; | |
138 case 2: return SQ_C_CURVE; | |
139 case 3: return SQ_D_CURVE; | |
140 case 4: return SQ_E_CURVE; | |
141 case 5: return SQ_F_CURVE; | |
142 } | |
143 case 1: | |
144 switch (fractionIdx) { | |
145 case 0: return SQ_A_MEASUREMENT; | |
146 case 1: return SQ_B_MEASUREMENT; | |
147 case 2: return SQ_C_MEASUREMENT; | |
148 case 3: return SQ_D_MEASUREMENT; | |
149 case 4: return SQ_E_MEASUREMENT; | |
150 case 5: return SQ_F_MEASUREMENT; | |
151 } | |
152 case 2: | |
153 switch (fractionIdx) { | |
154 case 0: return SQ_A_OUTLIER; | |
155 case 1: return SQ_B_OUTLIER; | |
156 case 2: return SQ_C_OUTLIER; | |
157 case 3: return SQ_D_OUTLIER; | |
158 case 4: return SQ_E_OUTLIER; | |
159 case 5: return SQ_F_OUTLIER; | |
160 } | |
161 } | |
162 | |
163 return null; | |
104 } | 164 } |
105 } | 165 } |
106 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : | 166 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |