Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/process/ComputedDischargeProcessor.java @ 8354:9f9857f6c464
Added y axis label to discharge processors.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 01 Oct 2014 13:40:04 +0200 |
parents | e4606eae8ea5 |
children | 0fa963038c61 |
comparison
equal
deleted
inserted
replaced
8353:a82f24b773e7 | 8354:9f9857f6c464 |
---|---|
1 package org.dive4elements.river.exports.process; | 1 package org.dive4elements.river.exports.process; |
2 | |
3 import java.util.Map; | |
2 | 4 |
3 import org.apache.log4j.Logger; | 5 import org.apache.log4j.Logger; |
4 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; | 6 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; |
5 import org.dive4elements.artifacts.CallContext; | 7 import org.dive4elements.artifacts.CallContext; |
8 import org.dive4elements.artifacts.CallMeta; | |
9 import org.dive4elements.river.artifacts.D4EArtifact; | |
10 import org.dive4elements.river.artifacts.access.RiverAccess; | |
6 import org.dive4elements.river.artifacts.model.FacetTypes; | 11 import org.dive4elements.river.artifacts.model.FacetTypes; |
7 import org.dive4elements.river.artifacts.model.WQKms; | 12 import org.dive4elements.river.artifacts.model.WQKms; |
13 import org.dive4elements.river.artifacts.resources.Resources; | |
8 import org.dive4elements.river.exports.DiagramGenerator; | 14 import org.dive4elements.river.exports.DiagramGenerator; |
9 import org.dive4elements.river.exports.StyledSeriesBuilder; | 15 import org.dive4elements.river.exports.StyledSeriesBuilder; |
10 import org.dive4elements.river.jfree.StyledXYSeries; | 16 import org.dive4elements.river.jfree.StyledXYSeries; |
11 import org.dive4elements.river.themes.ThemeDocument; | 17 import org.dive4elements.river.themes.ThemeDocument; |
12 import org.jfree.data.xy.XYSeries; | |
13 | 18 |
14 | 19 |
15 public class ComputedDischargeProcessor | 20 public class ComputedDischargeProcessor |
16 extends DefaultProcessor | 21 extends DefaultProcessor |
17 implements FacetTypes | 22 implements FacetTypes |
18 { | 23 { |
19 private static Logger log = | 24 private static Logger log = |
20 Logger.getLogger(ComputedDischargeProcessor.class); | 25 Logger.getLogger(ComputedDischargeProcessor.class); |
21 | 26 |
27 private String yAxisLabel = ""; | |
28 | |
29 private String I18N_AXIS_LABEL = "chart.discharge.curve.yaxis.label"; | |
22 | 30 |
23 @Override | 31 @Override |
24 public void doOut( | 32 public void doOut( |
25 DiagramGenerator generator, | 33 DiagramGenerator generator, |
26 ArtifactAndFacet bundle, | 34 ArtifactAndFacet bundle, |
34 } | 42 } |
35 } | 43 } |
36 | 44 |
37 @Override | 45 @Override |
38 public String getAxisLabel(DiagramGenerator generator) { | 46 public String getAxisLabel(DiagramGenerator generator) { |
39 return null; | 47 CallMeta meta = generator.getCallContext().getMeta(); |
48 RiverAccess access = new RiverAccess((D4EArtifact)generator.getMaster()); | |
49 String unit = access.getRiver().getWstUnit().getName(); | |
50 if (yAxisLabel != null && !yAxisLabel.isEmpty()) { | |
51 return Resources.getMsg( | |
52 meta, | |
53 yAxisLabel, | |
54 new Object[] { unit }); | |
55 } | |
56 return Resources.getMsg( | |
57 meta, | |
58 I18N_AXIS_LABEL, | |
59 new Object[] { unit }); | |
40 } | 60 } |
41 | 61 |
42 /** | 62 /** |
43 * Returns true if the Processor class is able to generate output for a facet type | 63 * Returns true if the Processor class is able to generate output for a facet type |
44 * | 64 * |
55 ArtifactAndFacet bundle, | 75 ArtifactAndFacet bundle, |
56 ThemeDocument theme, | 76 ThemeDocument theme, |
57 boolean visible | 77 boolean visible |
58 ) { | 78 ) { |
59 CallContext context = generator.getCallContext(); | 79 CallContext context = generator.getCallContext(); |
60 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); | 80 Map<String, String> metaData = bundle.getFacet().getMetaData( |
81 bundle.getArtifact(), context); | |
82 StyledXYSeries series = | |
83 new StyledXYSeries(bundle.getFacetDescription(), theme); | |
61 Object data = bundle.getData(context); | 84 Object data = bundle.getData(context); |
85 | |
86 series.putMetaData(metaData, bundle.getArtifact(), context); | |
87 yAxisLabel = metaData.get("Y"); | |
88 | |
62 WQKms wqkms = (WQKms) data; | 89 WQKms wqkms = (WQKms) data; |
63 double[][] wqData = new double[2][wqkms.size()]; | 90 double[][] wqData = new double[2][wqkms.size()]; |
64 for (int i = 0; i < wqkms.size(); i++) { | 91 for (int i = 0; i < wqkms.size(); i++) { |
65 wqData[0][i] = wqkms.getQ(i); | 92 wqData[0][i] = wqkms.getQ(i); |
66 wqData[1][i] = wqkms.getW(i); | 93 wqData[1][i] = wqkms.getW(i); |
67 } | 94 } |
68 StyledSeriesBuilder.addPoints(series, wqData, false); | 95 StyledSeriesBuilder.addPoints(series, wqData, false); |
69 generator.addAxisSeries(series, axisName, visible); | 96 generator.addAxisSeries(series, axisName, visible); |
70 | |
71 } | 97 } |
72 } | 98 } |