Mercurial > dive4elements > river
diff 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 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java Tue Jun 19 11:13:04 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java Tue Jun 19 12:25:01 2012 +0000 @@ -15,6 +15,7 @@ import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.model.sq.SQCurveFacet; +import de.intevation.flys.artifacts.model.sq.SQFractionResult; import de.intevation.flys.artifacts.model.sq.SQMeasurementFacet; import de.intevation.flys.artifacts.model.sq.SQOutlierFacet; import de.intevation.flys.artifacts.model.sq.SQRelationCalculation; @@ -54,6 +55,8 @@ } SQResult[] sqr = (SQResult[]) res.getData(); + logger.info("Calculation computed " + sqr.length + " SQResult objects"); + createFacets(newFacets, sqr, hash); Facet csv = new DataFacet( @@ -80,27 +83,84 @@ ) { String stateId = getID(); - // TODO Create facets for each parameter type (A-F) - container.add(new SQMeasurementFacet( - 0, - SQ_A_MEASUREMENT, - "Measurement TODO", - hash, - stateId - )); + for (int res = 0, n = sqr.length; res < n; res++) { - container.add(new SQCurveFacet(0, SQ_A_CURVE, "TODO")); + for (int i = 0; i < 6; i++) { + SQFractionResult result = sqr[res].getFraction(i); - for (int i = 0, C = sqr[0].getOutliersCount(); i < C; i++) { - container.add(new SQOutlierFacet( - 0, - i, - SQ_A_OUTLIER, - "OUTLIER AT" + i, - hash, - stateId - )); + if (result == null) { + logger.warn("Fraction at index " + i + " is empty!"); + continue; + } + + container.add(new SQMeasurementFacet( + res, + i, + getFractionFacetname(1, i), + "Measurement (Fraction " + i + ")", + hash, + stateId + )); + + container.add(new SQCurveFacet( + res, + i, + getFractionFacetname(0, i), + "CURVE AT " + i, + hash, + stateId + )); + + for (int j = 0, C = result.getOutliersCount(); j < C; j++) { + container.add(new SQOutlierFacet( + res, + i, + j, + getFractionFacetname(2, i), + "OUTLIER AT " + i, + hash, + stateId + )); + } + } } } + + + protected String getFractionFacetname(int type, int fractionIdx) { + logger.debug("getFractionFacetname(): " + type + " | " + fractionIdx); + + switch (type) { + case 0: + switch (fractionIdx) { + case 0: return SQ_A_CURVE; + case 1: return SQ_B_CURVE; + case 2: return SQ_C_CURVE; + case 3: return SQ_D_CURVE; + case 4: return SQ_E_CURVE; + case 5: return SQ_F_CURVE; + } + case 1: + switch (fractionIdx) { + case 0: return SQ_A_MEASUREMENT; + case 1: return SQ_B_MEASUREMENT; + case 2: return SQ_C_MEASUREMENT; + case 3: return SQ_D_MEASUREMENT; + case 4: return SQ_E_MEASUREMENT; + case 5: return SQ_F_MEASUREMENT; + } + case 2: + switch (fractionIdx) { + case 0: return SQ_A_OUTLIER; + case 1: return SQ_B_OUTLIER; + case 2: return SQ_C_OUTLIER; + case 3: return SQ_D_OUTLIER; + case 4: return SQ_E_OUTLIER; + case 5: return SQ_F_OUTLIER; + } + } + + return null; + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :