comparison artifacts/src/main/java/org/dive4elements/river/exports/process/FlowVelocityProcessor.java @ 7877:43f18dc56c5a

Fixed subtitle handling and added flowvelocity subtitle.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 16 May 2014 10:55:59 +0200
parents 440c55b9634e
children 45cced06490c
comparison
equal deleted inserted replaced
7876:5951d6430ade 7877:43f18dc56c5a
11 import org.apache.log4j.Logger; 11 import org.apache.log4j.Logger;
12 import org.jfree.data.xy.XYSeries; 12 import org.jfree.data.xy.XYSeries;
13 13
14 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; 14 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
15 import org.dive4elements.artifacts.CallContext; 15 import org.dive4elements.artifacts.CallContext;
16 import org.dive4elements.river.artifacts.D4EArtifact;
17 import org.dive4elements.river.artifacts.access.RiverAccess;
18 import org.dive4elements.river.artifacts.context.RiverContext;
16 import org.dive4elements.river.artifacts.model.FacetTypes; 19 import org.dive4elements.river.artifacts.model.FacetTypes;
20 import org.dive4elements.river.artifacts.model.ZoomScale;
17 import org.dive4elements.river.exports.DiagramGenerator; 21 import org.dive4elements.river.exports.DiagramGenerator;
18 import org.dive4elements.river.exports.StyledSeriesBuilder; 22 import org.dive4elements.river.exports.StyledSeriesBuilder;
19 import org.dive4elements.river.jfree.StyledXYSeries; 23 import org.dive4elements.river.jfree.StyledXYSeries;
20 import org.dive4elements.river.themes.ThemeDocument; 24 import org.dive4elements.river.themes.ThemeDocument;
21 25
22 import org.dive4elements.river.model.FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue; 26 import org.dive4elements.river.model.FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue;
23 import org.dive4elements.river.artifacts.model.FlowVelocityData; 27 import org.dive4elements.river.artifacts.model.FlowVelocityData;
28 import org.dive4elements.river.artifacts.resources.Resources;
24 29
25 public class FlowVelocityProcessor extends DefaultProcessor { 30 public class FlowVelocityProcessor extends DefaultProcessor {
26 31
27 private final static Logger logger = 32 private final static Logger logger =
28 Logger.getLogger(FlowVelocityProcessor.class); 33 Logger.getLogger(FlowVelocityProcessor.class);
29 34
30 public static final String I18N_AXIS_LABEL = 35 public static final String I18N_AXIS_LABEL =
31 "chart.flow_velocity.section.yaxis.label"; 36 "chart.flow_velocity.section.yaxis.label";
32 public static final String I18N_AXIS_LABEL_DEFAULT = 37 public static final String I18N_AXIS_LABEL_DEFAULT =
33 "Geschwindigkeit v [m/s]"; 38 "Geschwindigkeit v [m/s]";
39 public static final String I18N_SUBTITLE_RADIUS =
40 "chart.subtitle.radius";
34 41
35 @Override 42 @Override
36 public void doOut( 43 public void doOut(
37 DiagramGenerator generator, 44 DiagramGenerator generator,
38 ArtifactAndFacet bundle, 45 ArtifactAndFacet bundle,
66 } else { 73 } else {
67 logger.error("Unknown facet name: " + facetName); 74 logger.error("Unknown facet name: " + facetName);
68 return; 75 return;
69 } 76 }
70 StyledSeriesBuilder.addPoints(series, points, true); 77 StyledSeriesBuilder.addPoints(series, points, true);
78 Double start = (Double)context.getContextValue("startkm");
79 Double end = (Double)context.getContextValue("endkm");
80 if (start != null && end != null) {
81 logger.debug("start: " + start + " end: " + end);
82 D4EArtifact artifact = (D4EArtifact)bundle.getArtifact();
83 RiverContext fc = (RiverContext)context.globalContext();
84 // Adaptive smoothing, based on zoom factor/diagram extents.
85 ZoomScale scales = (ZoomScale)fc.get("zoomscale");
86 RiverAccess access = new RiverAccess((D4EArtifact)artifact);
87 String river = access.getRiverName();
71 88
89 double radius = scales.getRadius(river, start, end);
90 logger.debug("add a subtitle");
91 generator.addSubtitle(Resources.getMsg(
92 context.getMeta(),
93 I18N_SUBTITLE_RADIUS,
94 new Object[] { radius }));
95 }
72 generator.addAxisSeries(series, axisName, visible); 96 generator.addAxisSeries(series, axisName, visible);
73 } 97 }
74 98
75 @Override 99 @Override
76 public boolean canHandle(String facettype) { 100 public boolean canHandle(String facettype) {

http://dive4elements.wald.intevation.org