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 :

http://dive4elements.wald.intevation.org