Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/process/DischargeProcessor.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 | b37cd2db9659 |
comparison
equal
deleted
inserted
replaced
8353:a82f24b773e7 | 8354:9f9857f6c464 |
---|---|
6 * documentation coming with Dive4Elements River for details. | 6 * documentation coming with Dive4Elements River for details. |
7 */ | 7 */ |
8 | 8 |
9 package org.dive4elements.river.exports.process; | 9 package org.dive4elements.river.exports.process; |
10 | 10 |
11 import java.util.Map; | |
12 | |
11 import org.apache.log4j.Logger; | 13 import org.apache.log4j.Logger; |
12 import org.jfree.data.xy.XYSeries; | 14 import org.jfree.data.xy.XYSeries; |
13 | 15 |
14 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; | 16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; |
15 import org.dive4elements.artifacts.CallContext; | 17 import org.dive4elements.artifacts.CallContext; |
18 import org.dive4elements.artifacts.CallMeta; | |
16 import org.dive4elements.river.artifacts.D4EArtifact; | 19 import org.dive4elements.river.artifacts.D4EArtifact; |
17 import org.dive4elements.river.artifacts.access.RiverAccess; | 20 import org.dive4elements.river.artifacts.access.RiverAccess; |
18 import org.dive4elements.river.artifacts.model.FacetTypes; | 21 import org.dive4elements.river.artifacts.model.FacetTypes; |
19 import org.dive4elements.river.artifacts.model.WQKms; | 22 import org.dive4elements.river.artifacts.model.WQKms; |
23 import org.dive4elements.river.artifacts.resources.Resources; | |
20 import org.dive4elements.river.exports.DiagramGenerator; | 24 import org.dive4elements.river.exports.DiagramGenerator; |
21 import org.dive4elements.river.exports.StyledSeriesBuilder; | 25 import org.dive4elements.river.exports.StyledSeriesBuilder; |
22 import org.dive4elements.river.jfree.StyledXYSeries; | 26 import org.dive4elements.river.jfree.StyledXYSeries; |
23 import org.dive4elements.river.model.Gauge; | 27 import org.dive4elements.river.model.Gauge; |
24 import org.dive4elements.river.model.River; | 28 import org.dive4elements.river.model.River; |
35 /** Station for which the diagram is shown. */ | 39 /** Station for which the diagram is shown. */ |
36 private double km; | 40 private double km; |
37 | 41 |
38 /** Tolerance for comparison of kilometers. */ | 42 /** Tolerance for comparison of kilometers. */ |
39 public static final double KM_EPSILON = 0.001d; | 43 public static final double KM_EPSILON = 0.001d; |
44 | |
45 private String yAxisLabel = ""; | |
46 | |
47 private String I18N_AXIS_LABEL = "chart.discharge.curve.yaxis.label"; | |
40 | 48 |
41 | 49 |
42 /** This processor needs to be constructed with a given km. */ | 50 /** This processor needs to be constructed with a given km. */ |
43 public DischargeProcessor() { | 51 public DischargeProcessor() { |
44 km = Double.NaN; | 52 km = Double.NaN; |
98 ThemeDocument theme, | 106 ThemeDocument theme, |
99 boolean visible) | 107 boolean visible) |
100 { | 108 { |
101 log.debug("DischargeCurveGenerator.doDischargeOut"); | 109 log.debug("DischargeCurveGenerator.doDischargeOut"); |
102 CallContext context = generator.getCallContext(); | 110 CallContext context = generator.getCallContext(); |
111 Map<String, String> metaData = bundle.getFacet().getMetaData( | |
112 bundle.getArtifact(), context); | |
103 WQKms data = (WQKms)bundle.getData(context); | 113 WQKms data = (WQKms)bundle.getData(context); |
104 XYSeries series = new StyledXYSeries(name, theme); | 114 StyledXYSeries series = new StyledXYSeries(name, theme); |
105 double[][] wqData = new double[2][data.size()]; | 115 double[][] wqData = new double[2][data.size()]; |
106 for (int i = 0; i < data.size(); i++) { | 116 for (int i = 0; i < data.size(); i++) { |
107 wqData[0][i] = data.getQ(i); | 117 wqData[0][i] = data.getQ(i); |
108 wqData[1][i] = data.getW(i); | 118 wqData[1][i] = data.getW(i); |
109 } | 119 } |
110 StyledSeriesBuilder.addPoints(series, wqData, false); | 120 StyledSeriesBuilder.addPoints(series, wqData, false); |
121 | |
122 series.putMetaData(metaData, bundle.getArtifact(), context); | |
123 yAxisLabel = metaData.get("Y"); | |
111 | 124 |
112 String gaugeName = data.getName(); | 125 String gaugeName = data.getName(); |
113 RiverAccess access = new RiverAccess((D4EArtifact)bundle.getArtifact()); | 126 RiverAccess access = new RiverAccess((D4EArtifact)bundle.getArtifact()); |
114 River river = access.getRiver(); | 127 River river = access.getRiver(); |
115 | 128 |
125 return; | 138 return; |
126 } | 139 } |
127 | 140 |
128 generator.addAxisSeries(series, axisName, visible); | 141 generator.addAxisSeries(series, axisName, visible); |
129 } | 142 } |
143 | |
144 @Override | |
145 public String getAxisLabel(DiagramGenerator generator) { | |
146 CallMeta meta = generator.getCallContext().getMeta(); | |
147 RiverAccess access = new RiverAccess((D4EArtifact)generator.getMaster()); | |
148 String unit = access.getRiver().getWstUnit().getName(); | |
149 | |
150 if (yAxisLabel != null && !yAxisLabel.isEmpty()) { | |
151 return Resources.getMsg( | |
152 meta, | |
153 yAxisLabel, | |
154 new Object[] { unit }); | |
155 } | |
156 return Resources.getMsg( | |
157 meta, | |
158 I18N_AXIS_LABEL, | |
159 new Object[] { unit }); | |
160 } | |
130 } | 161 } |
131 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 162 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |