franta-hg@1: /* ================================================================ franta-hg@1: * Cewolf : Chart enabling Web Objects Framework franta-hg@1: * ================================================================ franta-hg@1: * franta-hg@1: * Project Info: http://cewolf.sourceforge.net franta-hg@1: * Project Lead: Guido Laures (guido@laures.de); franta-hg@1: * franta-hg@1: * (C) Copyright 2002, by Guido Laures, and contributers franta-hg@1: * franta-hg@1: * This library is free software; you can redistribute it and/or modify it under the terms franta-hg@1: * of the GNU Lesser General Public License as published by the Free Software Foundation; franta-hg@1: * either version 2.1 of franta-hg@1: * the License, or (at your option) any later version. franta-hg@1: * franta-hg@1: * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; franta-hg@1: * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. franta-hg@1: * See the GNU Lesser General Public License for more details. franta-hg@1: * franta-hg@1: * You should have received a copy of the GNU Lesser General Public License along with this franta-hg@1: * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, franta-hg@1: * Boston, MA 02111-1307, USA. franta-hg@1: */ franta-hg@1: franta-hg@1: package de.laures.cewolf.taglib.tags; franta-hg@1: franta-hg@1: import java.util.Map; franta-hg@1: franta-hg@1: import javax.servlet.jsp.JspException; franta-hg@1: franta-hg@1: import de.laures.cewolf.DatasetProducer; franta-hg@1: import de.laures.cewolf.taglib.DataAware; franta-hg@1: import de.laures.cewolf.taglib.PlotContainer; franta-hg@1: import de.laures.cewolf.taglib.PlotDefinition; franta-hg@1: import de.laures.cewolf.taglib.TaglibConstants; franta-hg@1: franta-hg@1: /** franta-hg@1: * Tag <sub-plot> which defines a plot to overlay franta-hg@1: * @author Chris McCann franta-hg@1: */ franta-hg@1: public class PlotTag extends CewolfTag implements TaglibConstants, DataAware { franta-hg@1: franta-hg@1: private PlotDefinition plotDefinition = new PlotDefinition(); franta-hg@1: franta-hg@1: public int doStartTag() throws JspException { franta-hg@1: return EVAL_BODY_INCLUDE; franta-hg@1: } franta-hg@1: franta-hg@1: public int doEndTag() throws JspException { franta-hg@1: PlotContainer pc = (PlotContainer)findAncestorWithClass(this, PlotContainer.class); franta-hg@1: if (pc == null) { franta-hg@1: throw new JspException("<plot> must be nested in a PlotContainer tag like <overlaid-chart>"); franta-hg@1: } franta-hg@1: pc.addPlot(plotDefinition); franta-hg@1: return doAfterEndTag(EVAL_PAGE); franta-hg@1: } franta-hg@1: franta-hg@1: public void reset() { franta-hg@1: plotDefinition = new PlotDefinition(); franta-hg@1: } franta-hg@1: franta-hg@1: /** franta-hg@1: * Setter for property type. franta-hg@1: * @param type New value of property type. franta-hg@1: */ franta-hg@1: public void setType(String type) { franta-hg@1: plotDefinition.setType(type); franta-hg@1: } franta-hg@1: franta-hg@1: public void setDataProductionConfig(DatasetProducer dsp, Map params, boolean useCache) { franta-hg@1: plotDefinition.setDataProductionConfig(dsp, params, useCache); franta-hg@1: } franta-hg@1: franta-hg@1: /** franta-hg@1: * Setter for property xAxisLabel. [tb] franta-hg@1: * @param xAxisLabel New value of property xAxisLabel. franta-hg@1: */ franta-hg@1: public void setXaxislabel(String xAxisLabel) { franta-hg@1: plotDefinition.setXaxislabel(xAxisLabel); franta-hg@1: } franta-hg@1: franta-hg@1: /** franta-hg@1: * Setter for property yAxisLabel. [tb] franta-hg@1: * @param yAxisLabel New value of property xAxisLabel. franta-hg@1: */ franta-hg@1: public void setYaxislabel(String yAxisLabel) { franta-hg@1: plotDefinition.setYaxislabel(yAxisLabel); franta-hg@1: } franta-hg@1: franta-hg@1: franta-hg@1: }