1 /* ================================================================
2 * Cewolf : Chart enabling Web Objects Framework
3 * ================================================================
5 * Project Info: http://cewolf.sourceforge.net
6 * Project Lead: Guido Laures (guido@laures.de);
8 * (C) Copyright 2002, by Guido Laures, and contributers
10 * This library is free software; you can redistribute it and/or modify it under the terms
11 * of the GNU Lesser General Public License as published by the Free Software Foundation;
12 * either version 2.1 of
13 * the License, or (at your option) any later version.
15 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
16 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17 * See the GNU Lesser General Public License for more details.
19 * You should have received a copy of the GNU Lesser General Public License along with this
20 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
21 * Boston, MA 02111-1307, USA.
24 package de.laures.cewolf.taglib.tags;
28 import javax.servlet.jsp.JspException;
30 import de.laures.cewolf.DatasetProducer;
31 import de.laures.cewolf.taglib.DataAware;
32 import de.laures.cewolf.taglib.PlotContainer;
33 import de.laures.cewolf.taglib.PlotDefinition;
34 import de.laures.cewolf.taglib.TaglibConstants;
37 * Tag <sub-plot> which defines a plot to overlay
38 * @author Chris McCann
40 public class PlotTag extends CewolfTag implements TaglibConstants, DataAware {
42 private PlotDefinition plotDefinition = new PlotDefinition();
44 public int doStartTag() throws JspException {
45 return EVAL_BODY_INCLUDE;
48 public int doEndTag() throws JspException {
49 PlotContainer pc = (PlotContainer)findAncestorWithClass(this, PlotContainer.class);
51 throw new JspException("<plot> must be nested in a PlotContainer tag like <overlaid-chart>");
53 pc.addPlot(plotDefinition);
54 return doAfterEndTag(EVAL_PAGE);
58 plotDefinition = new PlotDefinition();
62 * Setter for property type.
63 * @param type New value of property type.
65 public void setType(String type) {
66 plotDefinition.setType(type);
69 public void setDataProductionConfig(DatasetProducer dsp, Map params, boolean useCache) {
70 plotDefinition.setDataProductionConfig(dsp, params, useCache);
74 * Setter for property xAxisLabel. [tb]
75 * @param xAxisLabel New value of property xAxisLabel.
77 public void setXaxislabel(String xAxisLabel) {
78 plotDefinition.setXaxislabel(xAxisLabel);
82 * Setter for property yAxisLabel. [tb]
83 * @param yAxisLabel New value of property xAxisLabel.
85 public void setYaxislabel(String yAxisLabel) {
86 plotDefinition.setYaxislabel(yAxisLabel);