Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java @ 696:708b270dfd30 facets-slt
OutGenerators use now facets to fetch necessary data.
flys-artifacts/branches/facets-slt@2140 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 17 Jun 2011 09:19:43 +0000 |
parents | 45cd58a2a2bb |
children | f3fd8c9b7f51 |
comparison
equal
deleted
inserted
replaced
695:45cd58a2a2bb | 696:708b270dfd30 |
---|---|
9 | 9 |
10 import de.intevation.artifacts.Artifact; | 10 import de.intevation.artifacts.Artifact; |
11 | 11 |
12 import de.intevation.artifactdatabase.state.Facet; | 12 import de.intevation.artifactdatabase.state.Facet; |
13 | 13 |
14 import de.intevation.flys.artifacts.WINFOArtifact; | 14 import de.intevation.flys.artifacts.FLYSArtifact; |
15 import de.intevation.flys.artifacts.model.FacetTypes; | |
15 import de.intevation.flys.artifacts.model.WQKms; | 16 import de.intevation.flys.artifacts.model.WQKms; |
16 | 17 |
17 | 18 |
18 /** | 19 /** |
19 * An OutGenerator that generates discharge curves. | 20 * An OutGenerator that generates discharge curves. |
20 * | 21 * |
21 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 22 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
22 */ | 23 */ |
23 public class ComputedDischargeCurveGenerator extends DischargeCurveGenerator { | 24 public class ComputedDischargeCurveGenerator |
24 | 25 extends DischargeCurveGenerator |
26 implements FacetTypes | |
27 { | |
25 /** The logger used in this generator.*/ | 28 /** The logger used in this generator.*/ |
26 private static Logger logger = | 29 private static Logger logger = |
27 Logger.getLogger(ComputedDischargeCurveGenerator.class); | 30 Logger.getLogger(ComputedDischargeCurveGenerator.class); |
28 | 31 |
29 | 32 |
66 } | 69 } |
67 | 70 |
68 | 71 |
69 @Override | 72 @Override |
70 public void doOut(Artifact artifact, Facet facet, Document attr) { | 73 public void doOut(Artifact artifact, Facet facet, Document attr) { |
71 logger.debug("ComputedDischargeCurveGenerator.doOut"); | 74 String name = facet != null ? facet.getName() : null; |
72 | 75 |
73 WQKms wqkms = getData(artifact); | 76 logger.debug("ComputedDischargeCurveGenerator.doOut: " + name); |
74 | 77 |
78 FLYSArtifact flys = (FLYSArtifact) artifact; | |
79 Facet f = flys.getNativeFacet(facet); | |
80 | |
81 if (name != null && name.equals(COMPUTED_DISCHARGE_Q)) { | |
82 doQOut((WQKms) f.getData(artifact, context)); | |
83 } | |
84 else { | |
85 logger.warn("Unknown facet type for computed discharge: " + name); | |
86 return; | |
87 } | |
88 } | |
89 | |
90 | |
91 protected void doQOut(WQKms wqkms) { | |
75 int size = wqkms.size(); | 92 int size = wqkms.size(); |
76 | 93 |
77 double[][] data = new double[2][size]; | 94 double[][] data = new double[2][size]; |
78 double[] res = new double[3]; | 95 double[] res = new double[3]; |
79 | 96 |
86 | 103 |
87 dataset.addSeries(getSeriesName(wqkms), data); | 104 dataset.addSeries(getSeriesName(wqkms), data); |
88 } | 105 } |
89 | 106 |
90 | 107 |
91 protected WQKms getData(Artifact artifact) { | |
92 logger.debug("ComputedDischargeCurveGenerator.getData"); | |
93 | |
94 WINFOArtifact winfoArtifact = (WINFOArtifact) artifact; | |
95 | |
96 return winfoArtifact.getComputedDischargeCurveData(); | |
97 } | |
98 | |
99 | |
100 protected String getSeriesName(WQKms wqkms) { | 108 protected String getSeriesName(WQKms wqkms) { |
101 Object[] args = new Object[] { | 109 Object[] args = new Object[] { |
102 getRiverName(), | 110 getRiverName(), |
103 wqkms.getName() | 111 wqkms.getName() |
104 }; | 112 }; |