Mercurial > dive4elements > river
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 : |