franta-hg@1: package de.laures.cewolf.taglib; franta-hg@1: franta-hg@1: import java.io.Serializable; franta-hg@1: import java.util.ArrayList; franta-hg@1: import java.util.List; franta-hg@1: franta-hg@1: import org.jfree.chart.JFreeChart; franta-hg@1: import org.jfree.chart.plot.DefaultDrawingSupplier; franta-hg@1: import org.jfree.chart.plot.DrawingSupplier; franta-hg@1: franta-hg@1: import de.laures.cewolf.ChartValidationException; franta-hg@1: import de.laures.cewolf.DatasetProduceException; franta-hg@1: franta-hg@1: /** franta-hg@1: * Chart definition subclass to handle combined charts franta-hg@1: * franta-hg@1: * @author guido franta-hg@1: * @author tbardzil franta-hg@1: */ franta-hg@1: public class CombinedChartDefinition extends AbstractChartDefinition implements Serializable { franta-hg@1: private String layout; franta-hg@1: franta-hg@1: private List plotDefinitions = new ArrayList(); franta-hg@1: private transient DrawingSupplier drawingSupplier = new DefaultDrawingSupplier(); franta-hg@1: franta-hg@1: public void setLayout(String layout) { franta-hg@1: this.layout = layout; franta-hg@1: } franta-hg@1: franta-hg@1: public Object getDataset() throws DatasetProduceException { franta-hg@1: return ((PlotDefinition)plotDefinitions.get(0)).getDataset(); franta-hg@1: } franta-hg@1: franta-hg@1: public void addPlot(PlotDefinition pd) { franta-hg@1: pd.setDrawingSupplier(drawingSupplier); franta-hg@1: plotDefinitions.add(pd); franta-hg@1: } franta-hg@1: franta-hg@1: protected JFreeChart produceChart() throws DatasetProduceException, ChartValidationException { franta-hg@1: return CewolfChartFactory.getCombinedChartInstance(type, title, xAxisLabel, yAxisLabel, plotDefinitions, layout); franta-hg@1: } franta-hg@1: franta-hg@1: }