# HG changeset patch # User Raimund Renkert # Date 1400665214 -7200 # Node ID e844be34a606564149d88ee41acd6e7ca047dca5 # Parent 4fe290eddb43f614448f0acd547ff030c5edc834 Add metadata to chart series and datasets. diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/DiagramGenerator.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/DiagramGenerator.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/DiagramGenerator.java Wed May 21 11:40:14 2014 +0200 @@ -44,6 +44,7 @@ import org.dive4elements.river.jfree.Bounds; import org.dive4elements.river.jfree.DoubleBounds; import org.dive4elements.river.jfree.StyledAreaSeriesCollection; +import org.dive4elements.river.jfree.XYMetaSeriesCollection; import org.dive4elements.river.themes.ThemeDocument; import org.dive4elements.river.utils.RiverUtils; @@ -494,7 +495,7 @@ logger.debug("Y Range of XYSeries: " + series.getMinY() + " | " + series.getMaxY()); - addAxisDataset(new XYSeriesCollection(series), index, visible); + addAxisDataset(new XYMetaSeriesCollection(series), index, visible); } /** diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -8,6 +8,8 @@ package org.dive4elements.river.exports.process; +import java.util.Map; + import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; @@ -50,6 +52,8 @@ boolean visible) { CallContext context = generator.getCallContext(); Object data = bundle.getData(context); + Map metaData = bundle.getFacet().getMetaData( + bundle.getArtifact(), context); if (!(data instanceof BedDiffYearResult)) { // Should not happen if canHandle is correct @@ -73,7 +77,8 @@ new Object[] { radius })); } BedDiffYearResult bData = (BedDiffYearResult) data; - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + series.putMetaData(metaData, bundle.getArtifact(), context); StyledSeriesBuilder.addPoints(series, bData.getHeightPerYearData(), false, GAP_TOLERANCE); generator.addAxisSeries(series, axisName, visible); diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffYearProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffYearProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffYearProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -8,6 +8,8 @@ package org.dive4elements.river.exports.process; +import java.util.Map; + import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; @@ -34,6 +36,8 @@ protected static double GAP_TOLERANCE = 0.101d; + protected String yAxisLabel; + public static final String I18N_AXIS_LABEL = "chart.beddifference.yaxis.label.diff"; public static final String I18N_AXIS_LABEL_DEFAULT = @@ -49,6 +53,9 @@ boolean visible) { CallContext context = generator.getCallContext(); Object data = bundle.getData(context); + Map metaData = + bundle.getFacet().getMetaData(bundle.getArtifact(), context); + yAxisLabel = metaData.get("Y"); if (data instanceof BedDiffYearResult) { Double start = (Double)context.getContextValue("startkm"); Double end = (Double)context.getContextValue("endkm"); @@ -66,10 +73,10 @@ I18N_SUBTITLE_RADIUS, new Object[] { radius })); } - String facetType = bundle.getFacetName(); BedDiffYearResult bData = (BedDiffYearResult) data; - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + series.putMetaData(metaData, bundle.getArtifact(), context); StyledSeriesBuilder.addPointsFactorY(series, bData.getDifferencesData(), false, @@ -91,9 +98,12 @@ @Override public String getAxisLabel(DiagramGenerator generator) { + if (yAxisLabel != null && !yAxisLabel.isEmpty()) { + return generator.msg(yAxisLabel, I18N_AXIS_LABEL_DEFAULT); + } return generator.msg( - I18N_AXIS_LABEL, - I18N_AXIS_LABEL_DEFAULT); + I18N_AXIS_LABEL, + I18N_AXIS_LABEL_DEFAULT); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/BedHeightProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedHeightProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedHeightProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -9,6 +9,7 @@ package org.dive4elements.river.exports.process; import java.util.List; +import java.util.Map; import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; @@ -39,6 +40,8 @@ protected static final double GAP_TOLERANCE = 0.101d; + protected String yAxisLabel; + @Override public void doOut( DiagramGenerator generator, @@ -65,8 +68,12 @@ private XYSeries prepareSeries(ArtifactAndFacet bundle, ThemeDocument theme, CallContext context) { Object data = bundle.getData(context); - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), + Map metaData = bundle.getFacet().getMetaData( + bundle.getArtifact(), context); + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + series.putMetaData(metaData, bundle.getArtifact(), context); + yAxisLabel = metaData.get("Y"); if (data instanceof BedDiffYearResult) { BedDiffYearResult bData = (BedDiffYearResult) data; @@ -135,6 +142,12 @@ String unit = RiverUtils.getRiver(flys).getWstUnit().getName(); + if (yAxisLabel != null && !yAxisLabel.isEmpty()) { + return generator.msg( + yAxisLabel, + I18N_AXIS_LABEL_DEFAULT, + new Object[] {unit}); + } return generator.msg( I18N_AXIS_LABEL, I18N_AXIS_LABEL_DEFAULT, diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityDensityProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityDensityProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityDensityProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -8,6 +8,8 @@ package org.dive4elements.river.exports.process; +import java.util.Map; + import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; @@ -31,6 +33,7 @@ public static final String I18N_AXIS_LABEL = "chart.bedquality.yaxis.label.density"; + protected String yAxisLabel; @Override public void doOut( DiagramGenerator generator, @@ -38,9 +41,12 @@ ThemeDocument theme, boolean visible) { CallContext context = generator.getCallContext(); - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); Object data = bundle.getData(context); + Map metaData = bundle.getFacet().getMetaData(); + series.putMetaData(metaData, bundle.getArtifact(), context); + yAxisLabel = metaData.get("Y"); String facetName = bundle.getFacetName(); double [][] points; @@ -65,6 +71,9 @@ @Override public String getAxisLabel(DiagramGenerator generator) { + if (yAxisLabel != null && !yAxisLabel.isEmpty()) { + return generator.msg(yAxisLabel, I18N_AXIS_LABEL_DEFAULT); + } return generator.msg( I18N_AXIS_LABEL, I18N_AXIS_LABEL_DEFAULT); diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityDiameterProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityDiameterProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityDiameterProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -8,6 +8,9 @@ package org.dive4elements.river.exports.process; +import java.awt.Dialog.ModalExclusionType; +import java.util.Map; + import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; @@ -33,6 +36,7 @@ public static final String I18N_AXIS_LABEL = "chart.bedquality.yaxis.label.diameter"; + protected String yAxisLabel; @Override public void doOut( DiagramGenerator generator, @@ -40,8 +44,11 @@ ThemeDocument theme, boolean visible) { CallContext context = generator.getCallContext(); - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), + Map metaData = bundle.getFacet().getMetaData(); + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + series.putMetaData(metaData, bundle.getArtifact(), context); + yAxisLabel = metaData.get("Y"); Object data = bundle.getData(context); String facetName = bundle.getFacetName(); double [][] points; @@ -77,6 +84,9 @@ @Override public String getAxisLabel(DiagramGenerator generator) { + if (yAxisLabel != null && !yAxisLabel.isEmpty()) { + return generator.msg(yAxisLabel, I18N_AXIS_LABEL_DEFAULT); + } return generator.msg( I18N_AXIS_LABEL, I18N_AXIS_LABEL_DEFAULT); diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityPorosityProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityPorosityProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityPorosityProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -8,6 +8,8 @@ package org.dive4elements.river.exports.process; +import java.util.Map; + import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; @@ -32,6 +34,8 @@ public static final String I18N_AXIS_LABEL = "chart.bedquality.yaxis.label.porosity"; + protected String yAxisLabel; + @Override public void doOut( DiagramGenerator generator, @@ -39,8 +43,11 @@ ThemeDocument theme, boolean visible) { CallContext context = generator.getCallContext(); - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), + Map metaData = bundle.getFacet().getMetaData(); + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + series.putMetaData(metaData, bundle.getArtifact(), context); + yAxisLabel = metaData.get("Y"); Object data = bundle.getData(context); String facetName = bundle.getFacetName(); double [][] points; @@ -69,6 +76,9 @@ @Override public String getAxisLabel(DiagramGenerator generator) { + if (yAxisLabel != null && !yAxisLabel.isEmpty()) { + return generator.msg(yAxisLabel, I18N_AXIS_LABEL_DEFAULT); + } return generator.msg( I18N_AXIS_LABEL, I18N_AXIS_LABEL_DEFAULT); diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/BedWidthProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedWidthProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedWidthProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -12,6 +12,7 @@ import org.jfree.data.xy.XYSeries; import java.util.List; +import java.util.Map; import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; import org.dive4elements.artifacts.CallContext; @@ -37,6 +38,7 @@ public static final String I18N_AXIS_LABEL = "chart.beddifference.yaxis.label.morph"; + protected String yAxisLabel; @Override public void doOut( DiagramGenerator generator, @@ -44,8 +46,11 @@ ThemeDocument theme, boolean visible) { CallContext context = generator.getCallContext(); - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), + Map metaData = bundle.getFacet().getMetaData(); + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + series.putMetaData(metaData, bundle.getArtifact(), context); + yAxisLabel = metaData.get("Y"); Object data = bundle.getData(context); String facetName = bundle.getFacetName(); @@ -100,6 +105,9 @@ @Override public String getAxisLabel(DiagramGenerator generator) { + if (yAxisLabel != null && !yAxisLabel.isEmpty()) { + return generator.msg(yAxisLabel, I18N_AXIS_LABEL_DEFAULT); + } return generator.msg( I18N_AXIS_LABEL, I18N_AXIS_LABEL_DEFAULT); diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/FlowVelocityProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/FlowVelocityProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/FlowVelocityProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -8,6 +8,8 @@ package org.dive4elements.river.exports.process; +import java.util.Map; + import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; @@ -32,6 +34,9 @@ public static final String I18N_AXIS_LABEL_DEFAULT = "Geschwindigkeit v [m/s]"; + + protected String yAxisLabel; + @Override public void doOut( DiagramGenerator generator, @@ -39,8 +44,11 @@ ThemeDocument theme, boolean visible) { CallContext context = generator.getCallContext(); - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), + Map metaData = bundle.getFacet().getMetaData(); + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + series.putMetaData(metaData, bundle.getArtifact(), context); + yAxisLabel = metaData.get("Y"); String facetName = bundle.getFacetName(); Object data = bundle.getData(context); if (data == null) { @@ -83,6 +91,9 @@ @Override public String getAxisLabel(DiagramGenerator generator) { + if (yAxisLabel != null && !yAxisLabel.isEmpty()) { + return generator.msg(yAxisLabel, I18N_AXIS_LABEL_DEFAULT); + } return generator.msg( I18N_AXIS_LABEL, I18N_AXIS_LABEL_DEFAULT); diff -r 4fe290eddb43 -r e844be34a606 artifacts/src/main/java/org/dive4elements/river/exports/process/MiddleBedHeightProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/MiddleBedHeightProcessor.java Wed May 21 11:36:21 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/MiddleBedHeightProcessor.java Wed May 21 11:40:14 2014 +0200 @@ -8,6 +8,8 @@ package org.dive4elements.river.exports.process; +import java.util.Map; + import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; @@ -36,6 +38,8 @@ public static final String I18N_AXIS_LABEL_DEFAULT = "mittlere Sohlhöhen [müNN]"; + protected String yAxisLabel; + @Override public void doOut( DiagramGenerator generator, @@ -44,11 +48,14 @@ boolean visible) { CallContext context = generator.getCallContext(); logger.debug("Processing: " + bundle.getFacetName()); + Map metaData = bundle.getFacet().getMetaData(); + yAxisLabel = metaData.get("Y"); MiddleBedHeightData data = (MiddleBedHeightData) bundle.getData(context); - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), + StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + series.putMetaData(metaData, bundle.getArtifact(), context); StyledSeriesBuilder.addPoints(series, data.getMiddleHeightsPoints(), false, 0.110d); @@ -62,6 +69,12 @@ String unit = RiverUtils.getRiver(flys).getWstUnit().getName(); + if (yAxisLabel != null && !yAxisLabel.isEmpty()) { + return generator.msg( + yAxisLabel, + I18N_AXIS_LABEL_DEFAULT, + new Object[] { unit }); + } return generator.msg( I18N_AXIS_LABEL, I18N_AXIS_LABEL_DEFAULT,