comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java @ 3072:0d3dd8230064

Added component stubs for SQ relation calculation. flys-artifacts/trunk@4663 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 14 Jun 2012 13:46:07 +0000
parents df4d6b286af8
children 8ad8a227d983
comparison
equal deleted inserted replaced
3071:9136fc8f35f0 3072:0d3dd8230064
1 package de.intevation.flys.artifacts.states; 1 package de.intevation.flys.artifacts.states;
2
3 import java.util.ArrayList;
4 import java.util.List;
2 5
3 import org.apache.log4j.Logger; 6 import org.apache.log4j.Logger;
4 7
8 import de.intevation.artifacts.CallContext;
9
10 import de.intevation.artifactdatabase.state.Facet;
11
12 import de.intevation.flys.artifacts.FLYSArtifact;
13 import de.intevation.flys.artifacts.MINFOArtifact;
14 import de.intevation.flys.artifacts.model.DataFacet;
15 import de.intevation.flys.artifacts.model.FacetTypes;
16 import de.intevation.flys.artifacts.model.CalculationResult;
17 import de.intevation.flys.artifacts.model.sq.SQCurveFacet;
18 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.SQRelationCalculation;
5 import de.intevation.flys.artifacts.states.DefaultState; 21 import de.intevation.flys.artifacts.states.DefaultState;
6 22
7 /** 23 /**
8 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> 24 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
9 */ 25 */
10 public class SQRelation extends DefaultState { 26 public class SQRelation extends DefaultState implements FacetTypes {
11 27
12 /** The logger used in this class. */
13 private static Logger logger = Logger.getLogger(SQRelation.class); 28 private static Logger logger = Logger.getLogger(SQRelation.class);
14 29
15 30
16 /**
17 * The default constructor that initializes an empty State object.
18 */
19 public SQRelation() { 31 public SQRelation() {
20 } 32 }
21 33
34
22 @Override 35 @Override
23 protected String getUIProvider() { 36 public Object computeAdvance(
24 return "minfo.sq.relation"; 37 FLYSArtifact artifact,
38 String hash,
39 CallContext context,
40 List<Facet> facets,
41 Object old
42 ) {
43 logger.debug("SQRelation.computeAdvance");
44
45 List<Facet> newFacets = new ArrayList<Facet>();
46
47 CalculationResult res = old instanceof CalculationResult
48 ? (CalculationResult) old
49 : new SQRelationCalculation().calculate((MINFOArtifact) artifact);
50
51 if (facets == null || res == null) {
52 return res;
53 }
54
55 logger.error("Facet creation NOT IMPLEMENTED!");
56 // TODO
57 //for (int idx = 0; idx < res.length; idx++) {
58 int idx = 0;
59 createFacets(newFacets, idx);
60 //}
61
62 Facet csv = new DataFacet(
63 CSV, "CSV data", ComputeType.ADVANCE, hash, id);
64
65 Facet pdf = new DataFacet(
66 PDF, "PDF data", ComputeType.ADVANCE, hash, id);
67
68 newFacets.add(csv);
69 newFacets.add(pdf);
70
71 logger.debug("Created " + newFacets.size() + " new Facets.");
72
73 facets.addAll(newFacets);
74
75 return res;
25 } 76 }
26 77
78
79 protected void createFacets(List<Facet> container, int idx) {
80 // TODO Create facets for each parameter type (A-F)
81 Facet measurements, outliers, curve;
82 measurements = new SQMeasurementFacet(idx, SQ_A_MEASUREMENT, "TODO");
83 outliers = new SQOutlierFacet(idx, SQ_A_OUTLIER, "TODO");
84 curve = new SQCurveFacet(idx, SQ_A_CURVE, "TODO");
85
86 container.add(measurements);
87 container.add(outliers);
88 container.add(curve);
89
90 measurements = new SQMeasurementFacet(idx, SQ_B_MEASUREMENT, "TODO");
91 outliers = new SQOutlierFacet(idx, SQ_B_OUTLIER, "TODO");
92 curve = new SQCurveFacet(idx, SQ_B_CURVE, "TODO");
93
94 container.add(measurements);
95 container.add(outliers);
96 container.add(curve);
97
98 measurements = new SQMeasurementFacet(idx, SQ_C_MEASUREMENT, "TODO");
99 outliers = new SQOutlierFacet(idx, SQ_C_OUTLIER, "TODO");
100 curve = new SQCurveFacet(idx, SQ_C_CURVE, "TODO");
101
102 container.add(measurements);
103 container.add(outliers);
104 container.add(curve);
105
106 measurements = new SQMeasurementFacet(idx, SQ_D_MEASUREMENT, "TODO");
107 outliers = new SQOutlierFacet(idx, SQ_D_OUTLIER, "TODO");
108 curve = new SQCurveFacet(idx, SQ_D_CURVE, "TODO");
109
110 container.add(measurements);
111 container.add(outliers);
112 container.add(curve);
113
114 measurements = new SQMeasurementFacet(idx, SQ_E_MEASUREMENT, "TODO");
115 outliers = new SQOutlierFacet(idx, SQ_E_OUTLIER, "TODO");
116 curve = new SQCurveFacet(idx, SQ_E_CURVE, "TODO");
117
118 container.add(measurements);
119 container.add(outliers);
120 container.add(curve);
121
122 measurements = new SQMeasurementFacet(idx, SQ_F_MEASUREMENT, "TODO");
123 outliers = new SQOutlierFacet(idx, SQ_F_OUTLIER, "TODO");
124 curve = new SQCurveFacet(idx, SQ_F_CURVE, "TODO");
125
126 container.add(measurements);
127 container.add(outliers);
128 container.add(curve);
129 }
27 } 130 }
28 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : 131 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org