comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java @ 3028:77b5f5a26700

Added facets for fix analysis. flys-artifacts/trunk@4597 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 06 Jun 2012 08:07:32 +0000
parents 0abdede5a0b8
children b388d888330d
comparison
equal deleted inserted replaced
3027:52aac4941d2a 3028:77b5f5a26700
11 import de.intevation.flys.artifacts.model.DataFacet; 11 import de.intevation.flys.artifacts.model.DataFacet;
12 import de.intevation.flys.artifacts.model.FacetTypes; 12 import de.intevation.flys.artifacts.model.FacetTypes;
13 import de.intevation.flys.artifacts.model.ReportFacet; 13 import de.intevation.flys.artifacts.model.ReportFacet;
14 14
15 import de.intevation.flys.artifacts.model.fixings.FixCalculation; 15 import de.intevation.flys.artifacts.model.fixings.FixCalculation;
16
17 import de.intevation.flys.artifacts.model.fixings.FixAvSectorFacet;
18 import de.intevation.flys.artifacts.model.fixings.FixEventsFacet;
19 import de.intevation.flys.artifacts.model.fixings.FixOutlierFacet;
20 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet;
21
22
23 import de.intevation.flys.artifacts.model.fixings.DateRange;
16 24
17 import de.intevation.flys.artifacts.states.DefaultState; 25 import de.intevation.flys.artifacts.states.DefaultState;
18 26
19 import java.util.List; 27 import java.util.List;
20 28
48 ) { 56 ) {
49 log.debug("FixationCompute.computeAdvance"); 57 log.debug("FixationCompute.computeAdvance");
50 58
51 CalculationResult res; 59 CalculationResult res;
52 60
61 FixationArtifactAccess access =
62 new FixationArtifactAccess(artifact);
63
53 if (old instanceof CalculationResult) { 64 if (old instanceof CalculationResult) {
54 res = (CalculationResult)old; 65 res = (CalculationResult)old;
55 } 66 }
56 else { 67 else {
57 FixationArtifactAccess access =
58 new FixationArtifactAccess(artifact);
59
60 FixCalculation calc = 68 FixCalculation calc =
61 new FixCalculation(access); 69 new FixCalculation(access);
62 70
63 res = calc.calculate(); 71 res = calc.calculate();
64 } 72 }
71 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); 79 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
72 } 80 }
73 facets.add( 81 facets.add(
74 new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id)); 82 new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
75 83
84 int count = access.getAnalysisPeriods().length;
85 for (int i = 0; i < count; i++) {
86 DateRange period = access.getAnalysisPeriods()[i];
87 for (int j = access.getQSectorStart().intValue();
88 j < access.getQSectorEnd().intValue();
89 j++) {
90 //TODO: replace j with q sector string.
91 String description = j + ": " +
92 period.getFrom().toString() + " - " +
93 period.getTo().toString();
94 facets.add(
95 new FixAvSectorFacet(j - access.getQSectorStart().intValue(),
96 description));
97 }
98 String eventDesc = period.getFrom().toString() +
99 " - " +
100 period.getTo().toString();
101 facets.add(new FixEventsFacet(i, eventDesc));
102 }
103 facets.add(new FixEventsFacet(0, "Referenceperiod"));
104 facets.add(new FixWQCurveFacet("W/Q"));
105 facets.add(new FixOutlierFacet("Outlier"));
106
76 return res; 107 return res;
77 } 108 }
78 } 109 }
79 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : 110 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org