comparison artifacts/src/main/java/org/dive4elements/river/exports/process/FixDerivedProcessor.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 de280599dd2f
children 2cabecf27ccc
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;
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;
5 import org.dive4elements.river.artifacts.model.FacetTypes; 11 import org.dive4elements.river.artifacts.model.FacetTypes;
6 import org.dive4elements.river.artifacts.model.fixings.FixDerivateFacet; 12 import org.dive4elements.river.artifacts.model.fixings.FixDerivateFacet;
7 import org.dive4elements.river.artifacts.model.fixings.FixFunction; 13 import org.dive4elements.river.artifacts.model.fixings.FixFunction;
14 import org.dive4elements.river.artifacts.resources.Resources;
8 import org.dive4elements.river.exports.DiagramGenerator; 15 import org.dive4elements.river.exports.DiagramGenerator;
9 import org.dive4elements.river.jfree.JFreeUtil; 16 import org.dive4elements.river.jfree.JFreeUtil;
10 import org.dive4elements.river.jfree.StyledXYSeries; 17 import org.dive4elements.river.jfree.StyledXYSeries;
11 import org.dive4elements.river.themes.ThemeDocument; 18 import org.dive4elements.river.themes.ThemeDocument;
12 19
16 implements FacetTypes 23 implements FacetTypes
17 { 24 {
18 25
19 private static Logger log = Logger.getLogger(FixDerivedProcessor.class); 26 private static Logger log = Logger.getLogger(FixDerivedProcessor.class);
20 27
28 private String yAxisLabel = "";
29
30 private String I18N_AXIS_LABEL = "chart.discharge.curve.yaxis.label";
31
32
21 public FixDerivedProcessor() { 33 public FixDerivedProcessor() {
22 } 34 }
23 35
24 @Override 36 @Override
25 public void doOut( 37 public void doOut(
26 DiagramGenerator generator, 38 DiagramGenerator generator,
27 ArtifactAndFacet bundle, 39 ArtifactAndFacet bundle,
28 ThemeDocument theme, 40 ThemeDocument theme,
29 boolean visible 41 boolean visible
30 ) { 42 ) {
43 CallContext context = generator.getCallContext();
44 Map<String, String> metaData = bundle.getFacet().getMetaData(
45 bundle.getArtifact(), context);
31 FixDerivateFacet facet = (FixDerivateFacet)bundle.getFacet(); 46 FixDerivateFacet facet = (FixDerivateFacet)bundle.getFacet();
32 FixFunction func = (FixFunction)facet.getData( 47 FixFunction func = (FixFunction)facet.getData(
33 bundle.getArtifact(), generator.getCallContext()); 48 bundle.getArtifact(), generator.getCallContext());
49
50 yAxisLabel = metaData.get("Y");
51
34 52
35 if (func == null) { 53 if (func == null) {
36 log.warn("doOut: Facet does not contain FixFunction"); 54 log.warn("doOut: Facet does not contain FixFunction");
37 return; 55 return;
38 } 56 }
46 bundle.getFacetDescription(), 64 bundle.getFacetDescription(),
47 500, // number of samples 65 500, // number of samples
48 0.0 , // start 66 0.0 , // start
49 maxQ); // end 67 maxQ); // end
50 generator.addAxisSeries(series, axisName, visible); 68 generator.addAxisSeries(series, axisName, visible);
69 series.putMetaData(metaData, bundle.getArtifact(), context);
51 } 70 }
52 } 71 }
53 72
54 @Override 73 @Override
55 public boolean canHandle(String facettype) { 74 public boolean canHandle(String facettype) {
56 return FIX_DERIVATE_CURVE.equals(facettype); 75 return FIX_DERIVATE_CURVE.equals(facettype);
57 } 76 }
77
78 @Override
79 public String getAxisLabel(DiagramGenerator generator) {
80 CallMeta meta = generator.getCallContext().getMeta();
81 RiverAccess access = new RiverAccess((D4EArtifact)generator.getMaster());
82 String unit = access.getRiver().getWstUnit().getName();
83
84 if (yAxisLabel != null && !yAxisLabel.isEmpty()) {
85 return Resources.getMsg(
86 meta,
87 yAxisLabel,
88 new Object[] { unit });
89 }
90 return Resources.getMsg(
91 meta,
92 I18N_AXIS_LABEL,
93 new Object[] { unit });
94 }
58 } 95 }

http://dive4elements.wald.intevation.org