Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FlowVelocityState.java @ 2702:4c00cf83fff1
Added state, calculation and csv exporter for MINFO flow velociy calculation.
flys-artifacts/trunk@4418 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 16 May 2012 08:37:27 +0000 |
parents | |
children | d8444fcb4e44 |
comparison
equal
deleted
inserted
replaced
2701:c553d4fa3957 | 2702:4c00cf83fff1 |
---|---|
1 package de.intevation.flys.artifacts.states; | |
2 | |
3 import java.util.ArrayList; | |
4 import java.util.List; | |
5 | |
6 import org.apache.log4j.Logger; | |
7 | |
8 import de.intevation.artifactdatabase.state.Facet; | |
9 | |
10 import de.intevation.artifacts.CallContext; | |
11 | |
12 import de.intevation.flys.artifacts.FLYSArtifact; | |
13 import de.intevation.flys.artifacts.MINFOArtifact; | |
14 import de.intevation.flys.artifacts.model.CalculationResult; | |
15 import de.intevation.flys.artifacts.model.DataFacet; | |
16 import de.intevation.flys.artifacts.model.FacetTypes; | |
17 import de.intevation.flys.artifacts.model.FlowVelocityCalculation; | |
18 import de.intevation.flys.artifacts.model.FlowVelocityData; | |
19 | |
20 | |
21 public class FlowVelocityState extends DefaultState implements FacetTypes { | |
22 | |
23 private static Logger logger = Logger.getLogger(FlowVelocityState.class); | |
24 | |
25 | |
26 @Override | |
27 public Object computeAdvance( | |
28 FLYSArtifact artifact, | |
29 String hash, | |
30 CallContext context, | |
31 List<Facet> facets, | |
32 Object old | |
33 ) { | |
34 logger.debug("FlowVelocityState.computeAdvance"); | |
35 | |
36 List<Facet> newFacets = new ArrayList<Facet>(); | |
37 | |
38 CalculationResult res = old instanceof CalculationResult | |
39 ? (CalculationResult) old | |
40 : new FlowVelocityCalculation().calculate((MINFOArtifact) artifact); | |
41 | |
42 if (facets == null || res == null) { | |
43 return res; | |
44 } | |
45 | |
46 FlowVelocityData[] data = (FlowVelocityData[]) res.getData(); | |
47 | |
48 logger.debug("Calculated " + data.length + " FlowVelocityData objects"); | |
49 | |
50 String id = getID(); | |
51 | |
52 for (FlowVelocityData d: data) { | |
53 logger.error("TODO: Implement Facet creation for chart!"); | |
54 | |
55 } | |
56 | |
57 Facet csv = new DataFacet( | |
58 CSV, "CSV data", ComputeType.ADVANCE, hash, id); | |
59 | |
60 // TODO ADD PDF FACET | |
61 | |
62 newFacets.add(csv); | |
63 | |
64 logger.debug("Created " + newFacets.size() + " new Facets."); | |
65 | |
66 facets.addAll(newFacets); | |
67 | |
68 return res; | |
69 } | |
70 } | |
71 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |