Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/jfree/StyledXYSeries.java @ 7891:4fe290eddb43 facet-metadata
Added metadata to styled series.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 21 May 2014 11:36:21 +0200 |
parents | d20a26e96ef1 |
children | e4606eae8ea5 |
comparison
equal
deleted
inserted
replaced
7890:d4792d01480d | 7891:4fe290eddb43 |
---|---|
7 */ | 7 */ |
8 | 8 |
9 package org.dive4elements.river.jfree; | 9 package org.dive4elements.river.jfree; |
10 | 10 |
11 import java.util.List; | 11 import java.util.List; |
12 import java.util.Map; | |
12 | 13 |
13 import org.apache.log4j.Logger; | 14 import org.apache.log4j.Logger; |
15 import org.dive4elements.artifacts.Artifact; | |
16 import org.dive4elements.artifacts.CallContext; | |
17 import org.dive4elements.river.artifacts.D4EArtifact; | |
18 import org.dive4elements.river.artifacts.access.RiverAccess; | |
19 import org.dive4elements.river.artifacts.resources.Resources; | |
20 import org.dive4elements.river.model.Unit; | |
14 import org.dive4elements.river.themes.ThemeDocument; | 21 import org.dive4elements.river.themes.ThemeDocument; |
22 import org.dive4elements.river.utils.RiverUtils; | |
15 | 23 |
16 import org.jfree.data.xy.XYDataItem; | 24 import org.jfree.data.xy.XYDataItem; |
17 import org.jfree.data.xy.XYSeries; | 25 import org.jfree.data.xy.XYSeries; |
18 | 26 |
19 import java.awt.Shape; | 27 import java.awt.Shape; |
20 | 28 |
21 /** | 29 /** |
22 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 30 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
23 */ | 31 */ |
24 public class StyledXYSeries extends XYSeries implements StyledSeries, HasLabel { | 32 public class StyledXYSeries |
33 extends XYSeries | |
34 implements StyledSeries, HasLabel, XYMetaDataset { | |
25 | 35 |
26 private static final Logger logger = Logger.getLogger(StyledXYSeries.class); | 36 private static final Logger logger = Logger.getLogger(StyledXYSeries.class); |
27 | 37 |
28 protected Style style; | 38 protected Style style; |
29 | 39 |
30 /** If this Series is to be labelled, use this String as label. */ | 40 /** If this Series is to be labelled, use this String as label. */ |
31 protected String label; | 41 protected String label; |
32 | 42 |
43 /** The meta data for this series. */ | |
44 protected Map<String, String> metaData; | |
33 | 45 |
34 public StyledXYSeries(String key, ThemeDocument theme) { | 46 public StyledXYSeries(String key, ThemeDocument theme) { |
35 this(key, true, theme, (Shape)null); | 47 this(key, true, theme, (Shape)null); |
36 } | 48 } |
37 | 49 |
113 protected void add(List<XYDataItem> items) { | 125 protected void add(List<XYDataItem> items) { |
114 for(XYDataItem item : items) { | 126 for(XYDataItem item : items) { |
115 add(item.getXValue(), item.getYValue()); | 127 add(item.getXValue(), item.getYValue()); |
116 } | 128 } |
117 } | 129 } |
130 | |
131 | |
132 @Override | |
133 public Map<String, String> getMetaData() { | |
134 return metaData; | |
135 } | |
136 | |
137 | |
138 @Override | |
139 public void putMetaData(Map<String, String> metaData, | |
140 Artifact artifact, | |
141 CallContext context) { | |
142 this.metaData = metaData; | |
143 D4EArtifact d4e = (D4EArtifact) artifact; | |
144 RiverAccess access = new RiverAccess(d4e); | |
145 Unit unit = RiverUtils.getRiver(d4e).getWstUnit(); | |
146 if (metaData.containsKey("X")) { | |
147 this.metaData.put("X", | |
148 Resources.getMsg( | |
149 context.getMeta(), | |
150 metaData.get("X"), | |
151 new Object[] { access.getRiverName() })); | |
152 } | |
153 if (metaData.containsKey("Y")) { | |
154 this.metaData.put("Y", | |
155 Resources.getMsg( | |
156 context.getMeta(), | |
157 metaData.get("Y"), new Object[] { unit.getName() })); | |
158 } | |
159 } | |
118 } | 160 } |
119 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 161 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |