Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java @ 2713:b60751cfdd6c
Start MINFO middle bed height calculation in the relevant state and creates facets for chart and csv.
flys-artifacts/trunk@4437 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 18 May 2012 09:18:39 +0000 |
parents | cd6bcca17de6 |
children | 250a370c377d |
comparison
equal
deleted
inserted
replaced
2712:ed612b85fb6d | 2713:b60751cfdd6c |
---|---|
1 package de.intevation.flys.artifacts.states; | 1 package de.intevation.flys.artifacts.states; |
2 | 2 |
3 import java.util.ArrayList; | |
3 import java.util.List; | 4 import java.util.List; |
4 | 5 |
5 import org.apache.log4j.Logger; | 6 import org.apache.log4j.Logger; |
6 | 7 |
7 import de.intevation.artifacts.CallContext; | 8 import de.intevation.artifacts.CallContext; |
8 | 9 |
9 import de.intevation.artifactdatabase.state.Facet; | 10 import de.intevation.artifactdatabase.state.Facet; |
10 | 11 |
11 import de.intevation.flys.artifacts.FLYSArtifact; | 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.MiddleBedHeightData; | |
18 import de.intevation.flys.artifacts.model.MiddleBedHeightFacet; | |
19 import de.intevation.flys.artifacts.model.MiddleBedHeightCalculation; | |
12 | 20 |
13 | 21 |
14 public class MiddleBedHeight extends DefaultState { | 22 public class MiddleBedHeight extends DefaultState implements FacetTypes { |
15 | 23 |
16 private static final Logger logger = Logger.getLogger(MiddleBedHeight.class); | 24 private static final Logger logger = Logger.getLogger(MiddleBedHeight.class); |
17 | 25 |
18 | 26 |
19 @Override | 27 @Override |
24 List<Facet> facets, | 32 List<Facet> facets, |
25 Object old | 33 Object old |
26 ) { | 34 ) { |
27 logger.debug("MiddleBedHeight.computeAdvance"); | 35 logger.debug("MiddleBedHeight.computeAdvance"); |
28 | 36 |
29 logger.warn("TODO: Implement MiddleBedHeight.computeAdvance"); | 37 List<Facet> newFacets = new ArrayList<Facet>(); |
30 | 38 |
31 return null; | 39 CalculationResult res = old instanceof CalculationResult |
40 ? (CalculationResult) old | |
41 : new MiddleBedHeightCalculation().calculate((MINFOArtifact) artifact); | |
42 | |
43 if (facets == null || res == null) { | |
44 return res; | |
45 } | |
46 | |
47 MiddleBedHeightData[] data = (MiddleBedHeightData[]) res.getData(); | |
48 | |
49 logger.debug("Calculated " + data.length + " MiddleBedHeightData objects"); | |
50 | |
51 String id = getID(); | |
52 int idx = 0; | |
53 | |
54 for (MiddleBedHeightData d: data) { | |
55 newFacets.add(new MiddleBedHeightFacet( | |
56 idx, | |
57 MIDDLE_BED_HEIGHT, | |
58 buildMiddleBedHeightName(artifact, context, d), | |
59 ComputeType.ADVANCE, | |
60 id, | |
61 hash | |
62 )); | |
63 | |
64 idx++; | |
65 } | |
66 | |
67 Facet csv = new DataFacet( | |
68 CSV, "CSV data", ComputeType.ADVANCE, hash, id); | |
69 | |
70 // TODO ADD PDF FACET | |
71 | |
72 newFacets.add(csv); | |
73 | |
74 logger.debug("Created " + newFacets.size() + " new Facets."); | |
75 | |
76 facets.addAll(newFacets); | |
77 | |
78 return res; | |
79 } | |
80 | |
81 | |
82 protected String buildMiddleBedHeightName( | |
83 FLYSArtifact artifact, | |
84 CallContext cc, | |
85 MiddleBedHeightData data | |
86 ) { | |
87 logger.error("TODO: Implement buildMiddleBedHeightName"); | |
88 return "TODO: Implement buildMiddleBedHeightName"; | |
32 } | 89 } |
33 } | 90 } |
34 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 91 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |