# HG changeset patch # User Raimund Renkert # Date 1400664981 -7200 # Node ID 4fe290eddb43f614448f0acd547ff030c5edc834 # Parent d4792d01480d09a771a5255e26be61139cde0eb9 Added metadata to styled series. diff -r d4792d01480d -r 4fe290eddb43 artifacts/src/main/java/org/dive4elements/river/jfree/StyledXYSeries.java --- a/artifacts/src/main/java/org/dive4elements/river/jfree/StyledXYSeries.java Wed May 21 11:35:09 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/jfree/StyledXYSeries.java Wed May 21 11:36:21 2014 +0200 @@ -9,9 +9,17 @@ package org.dive4elements.river.jfree; import java.util.List; +import java.util.Map; import org.apache.log4j.Logger; +import org.dive4elements.artifacts.Artifact; +import org.dive4elements.artifacts.CallContext; +import org.dive4elements.river.artifacts.D4EArtifact; +import org.dive4elements.river.artifacts.access.RiverAccess; +import org.dive4elements.river.artifacts.resources.Resources; +import org.dive4elements.river.model.Unit; import org.dive4elements.river.themes.ThemeDocument; +import org.dive4elements.river.utils.RiverUtils; import org.jfree.data.xy.XYDataItem; import org.jfree.data.xy.XYSeries; @@ -21,7 +29,9 @@ /** * @author Ingo Weinzierl */ -public class StyledXYSeries extends XYSeries implements StyledSeries, HasLabel { +public class StyledXYSeries +extends XYSeries +implements StyledSeries, HasLabel, XYMetaDataset { private static final Logger logger = Logger.getLogger(StyledXYSeries.class); @@ -30,6 +40,8 @@ /** If this Series is to be labelled, use this String as label. */ protected String label; + /** The meta data for this series. */ + protected Map metaData; public StyledXYSeries(String key, ThemeDocument theme) { this(key, true, theme, (Shape)null); @@ -115,5 +127,35 @@ add(item.getXValue(), item.getYValue()); } } + + + @Override + public Map getMetaData() { + return metaData; + } + + + @Override + public void putMetaData(Map metaData, + Artifact artifact, + CallContext context) { + this.metaData = metaData; + D4EArtifact d4e = (D4EArtifact) artifact; + RiverAccess access = new RiverAccess(d4e); + Unit unit = RiverUtils.getRiver(d4e).getWstUnit(); + if (metaData.containsKey("X")) { + this.metaData.put("X", + Resources.getMsg( + context.getMeta(), + metaData.get("X"), + new Object[] { access.getRiverName() })); + } + if (metaData.containsKey("Y")) { + this.metaData.put("Y", + Resources.getMsg( + context.getMeta(), + metaData.get("Y"), new Object[] { unit.getName() })); + } + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :