comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java @ 2424:092e519ff461

merged flys-artifacts/2.6.1
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:26 +0200
parents c321b39b39ab
children 23b4ff116015
comparison
equal deleted inserted replaced
2392:8112ec686a9a 2424:092e519ff461
1 package de.intevation.flys.artifacts.states;
2
3 import de.intevation.artifactdatabase.state.Facet;
4
5 import de.intevation.artifacts.CallContext;
6
7 import de.intevation.flys.artifacts.FLYSArtifact;
8 import de.intevation.flys.artifacts.WINFOArtifact;
9
10 import de.intevation.flys.artifacts.model.CalculationResult;
11 import de.intevation.flys.artifacts.model.DataFacet;
12 import de.intevation.flys.artifacts.model.FacetTypes;
13 import de.intevation.flys.artifacts.model.ReferenceCurveFacet;
14 import de.intevation.flys.artifacts.model.ReportFacet;
15 import de.intevation.flys.artifacts.model.WWQQ;
16
17 import java.util.List;
18
19 import org.apache.log4j.Logger;
20
21
22 public class ReferenceCurveState
23 extends DefaultState
24 implements FacetTypes
25 {
26 private static Logger logger = Logger.getLogger(ReferenceCurveState.class);
27
28 public ReferenceCurveState() {
29 }
30
31 @Override
32 public Object computeAdvance(
33 FLYSArtifact artifact,
34 String hash,
35 CallContext context,
36 List<Facet> facets,
37 Object old
38 ) {
39 if (!(artifact instanceof WINFOArtifact)) {
40 return null;
41 }
42
43 String id = getID();
44
45 WINFOArtifact winfo = (WINFOArtifact)artifact;
46
47 CalculationResult res = old instanceof CalculationResult
48 ? (CalculationResult)old
49 : winfo.getReferenceCurveData(context);
50
51 if (facets == null) {
52 return res;
53 }
54
55 WWQQ [] wws = (WWQQ [])res.getData();
56
57 for (int i = 0; i < wws.length; ++i) {
58 String wwsName = wws[i].getName();
59 facets.add(new ReferenceCurveFacet(i,
60 REFERENCE_CURVE,
61 wwsName
62 ));
63 facets.add(new ReferenceCurveFacet(i,
64 REFERENCE_CURVE_NORMALIZED,
65 wwsName
66 ));
67 }
68
69 if (wws.length > 0) {
70 logger.debug("Adding CSV and PDF data facet.");
71 Facet csv = new DataFacet (CSV, "CSV data", ComputeType.ADVANCE, hash, id);
72 Facet pdf = new DataFacet (PDF, "PDF data", ComputeType.ADVANCE, hash, id);
73 facets.add(csv);
74 facets.add(pdf);
75 }
76
77 if (res.getReport().hasProblems()) {
78 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
79 }
80
81 return res;
82 }
83 }
84 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org