01: /* ================================================================
02: * Cewolf : Chart enabling Web Objects Framework
03: * ================================================================
04: *
05: * Project Info: http://cewolf.sourceforge.net
06: * Project Lead: Guido Laures (guido@laures.de);
07: *
08: * (C) Copyright 2002, by Guido Laures, and contributers
09: *
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.
14: *
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.
18: *
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.
22: */
23:
24: package de.laures.cewolf.taglib.tags;
25:
26: import java.util.Map;
27:
28: import javax.servlet.jsp.JspException;
29:
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;
35:
36: /**
37: * Tag <sub-plot> which defines a plot to overlay
38: * @author Chris McCann
39: */
40: public class PlotTag extends CewolfTag implements TaglibConstants,
41: DataAware {
42:
43: private PlotDefinition plotDefinition = new PlotDefinition();
44:
45: public int doStartTag() throws JspException {
46: return EVAL_BODY_INCLUDE;
47: }
48:
49: public int doEndTag() throws JspException {
50: PlotContainer pc = (PlotContainer) findAncestorWithClass(this ,
51: PlotContainer.class);
52: if (pc == null) {
53: throw new JspException(
54: "<plot> must be nested in a PlotContainer tag like <overlaid-chart>");
55: }
56: pc.addPlot(plotDefinition);
57: return doAfterEndTag(EVAL_PAGE);
58: }
59:
60: public void reset() {
61: plotDefinition = new PlotDefinition();
62: }
63:
64: /**
65: * Setter for property type.
66: * @param type New value of property type.
67: */
68: public void setType(String type) {
69: plotDefinition.setType(type);
70: }
71:
72: public void setDataProductionConfig(DatasetProducer dsp,
73: Map params, boolean useCache) {
74: plotDefinition.setDataProductionConfig(dsp, params, useCache);
75: }
76:
77: /**
78: * Setter for property xAxisLabel. [tb]
79: * @param xAxisLabel New value of property xAxisLabel.
80: */
81: public void setXaxislabel(String xAxisLabel) {
82: plotDefinition.setXaxislabel(xAxisLabel);
83: }
84:
85: /**
86: * Setter for property yAxisLabel. [tb]
87: * @param yAxisLabel New value of property xAxisLabel.
88: */
89: public void setYaxislabel(String yAxisLabel) {
90: plotDefinition.setYaxislabel(yAxisLabel);
91: }
92:
93: }
|