Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/process/ComputedDischargeProcessor.java @ 8182:0b4cd7a5f079
Changed discharge processor to plot only discharge curves and added processor for computed discharge curves.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 04 Sep 2014 11:14:24 +0200 |
parents | |
children | e4606eae8ea5 |
comparison
equal
deleted
inserted
replaced
8181:209f8a9e8a75 | 8182:0b4cd7a5f079 |
---|---|
1 package org.dive4elements.river.exports.process; | |
2 | |
3 import org.apache.log4j.Logger; | |
4 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; | |
5 import org.dive4elements.artifacts.CallContext; | |
6 import org.dive4elements.river.artifacts.model.FacetTypes; | |
7 import org.dive4elements.river.artifacts.model.WQKms; | |
8 import org.dive4elements.river.exports.DiagramGenerator; | |
9 import org.dive4elements.river.exports.StyledSeriesBuilder; | |
10 import org.dive4elements.river.jfree.StyledXYSeries; | |
11 import org.dive4elements.river.themes.ThemeDocument; | |
12 import org.jfree.data.xy.XYSeries; | |
13 | |
14 | |
15 public class ComputedDischargeProcessor | |
16 extends DefaultProcessor | |
17 implements FacetTypes | |
18 { | |
19 private static Logger logger = | |
20 Logger.getLogger(ComputedDischargeProcessor.class); | |
21 | |
22 | |
23 @Override | |
24 public void doOut( | |
25 DiagramGenerator generator, | |
26 ArtifactAndFacet bundle, | |
27 ThemeDocument theme, | |
28 boolean visible | |
29 ) { | |
30 CallContext context = generator.getCallContext(); | |
31 Object data = bundle.getData(context); | |
32 if (data instanceof WQKms) { | |
33 doDischargeOut(generator, bundle, theme, visible); | |
34 } | |
35 } | |
36 | |
37 @Override | |
38 public String getAxisLabel(DiagramGenerator generator) { | |
39 return null; | |
40 } | |
41 | |
42 /** | |
43 * Returns true if the Processor class is able to generate output for a facet type | |
44 * | |
45 * @param facettype Name of the facet type | |
46 * @return true if the facettype can be processed | |
47 */ | |
48 @Override | |
49 public boolean canHandle(String facettype) { | |
50 return COMPUTED_DISCHARGE_Q.equals(facettype); | |
51 } | |
52 | |
53 private void doDischargeOut( | |
54 DiagramGenerator generator, | |
55 ArtifactAndFacet bundle, | |
56 ThemeDocument theme, | |
57 boolean visible | |
58 ) { | |
59 CallContext context = generator.getCallContext(); | |
60 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); | |
61 Object data = bundle.getData(context); | |
62 WQKms wqkms = (WQKms) data; | |
63 double[][] wqData = new double[2][wqkms.size()]; | |
64 for (int i = 0; i < wqkms.size(); i++) { | |
65 wqData[0][i] = wqkms.getQ(i); | |
66 wqData[1][i] = wqkms.getW(i); | |
67 } | |
68 StyledSeriesBuilder.addPoints(series, wqData, false); | |
69 generator.addAxisSeries(series, axisName, visible); | |
70 | |
71 } | |
72 } |