java/cewolf-1.0/src/main/java/de/laures/cewolf/taglib/tags/PlotTag.java
author František Kučera <franta-hg@frantovo.cz>
Sat, 28 Feb 2009 21:31:02 +0100
changeset 1 639991d0808a
permissions -rw-r--r--
Rozbalená knihovna verze 1.0
franta-hg@1
     1
/* ================================================================
franta-hg@1
     2
 * Cewolf : Chart enabling Web Objects Framework
franta-hg@1
     3
 * ================================================================
franta-hg@1
     4
 *
franta-hg@1
     5
 * Project Info:  http://cewolf.sourceforge.net
franta-hg@1
     6
 * Project Lead:  Guido Laures (guido@laures.de);
franta-hg@1
     7
 *
franta-hg@1
     8
 * (C) Copyright 2002, by Guido Laures, and contributers
franta-hg@1
     9
 *
franta-hg@1
    10
 * This library is free software; you can redistribute it and/or modify it under the terms
franta-hg@1
    11
 * of the GNU Lesser General Public License as published by the Free Software Foundation;
franta-hg@1
    12
 * either version 2.1 of
franta-hg@1
    13
 * the License, or (at your option) any later version.
franta-hg@1
    14
 *
franta-hg@1
    15
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
franta-hg@1
    16
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
franta-hg@1
    17
 * See the GNU Lesser General Public License for more details.
franta-hg@1
    18
 *
franta-hg@1
    19
 * You should have received a copy of the GNU Lesser General Public License along with this
franta-hg@1
    20
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
franta-hg@1
    21
 * Boston, MA 02111-1307, USA.
franta-hg@1
    22
 */
franta-hg@1
    23
franta-hg@1
    24
package de.laures.cewolf.taglib.tags;
franta-hg@1
    25
franta-hg@1
    26
import java.util.Map;
franta-hg@1
    27
franta-hg@1
    28
import javax.servlet.jsp.JspException;
franta-hg@1
    29
franta-hg@1
    30
import de.laures.cewolf.DatasetProducer;
franta-hg@1
    31
import de.laures.cewolf.taglib.DataAware;
franta-hg@1
    32
import de.laures.cewolf.taglib.PlotContainer;
franta-hg@1
    33
import de.laures.cewolf.taglib.PlotDefinition;
franta-hg@1
    34
import de.laures.cewolf.taglib.TaglibConstants;
franta-hg@1
    35
franta-hg@1
    36
/** 
franta-hg@1
    37
 * Tag &lt;sub-plot&gt; which defines a plot to overlay 
franta-hg@1
    38
 * @author Chris McCann
franta-hg@1
    39
 */
franta-hg@1
    40
public class PlotTag extends CewolfTag implements TaglibConstants, DataAware {
franta-hg@1
    41
franta-hg@1
    42
    private PlotDefinition plotDefinition = new PlotDefinition();
franta-hg@1
    43
franta-hg@1
    44
    public int doStartTag() throws JspException {
franta-hg@1
    45
        return EVAL_BODY_INCLUDE;
franta-hg@1
    46
    }
franta-hg@1
    47
    
franta-hg@1
    48
    public int doEndTag() throws JspException {
franta-hg@1
    49
        PlotContainer pc = (PlotContainer)findAncestorWithClass(this, PlotContainer.class);
franta-hg@1
    50
        if (pc == null) {
franta-hg@1
    51
            throw new JspException("&lt;plot&gt; must be nested in a PlotContainer tag like &lt;overlaid-chart&gt;");
franta-hg@1
    52
        }
franta-hg@1
    53
        pc.addPlot(plotDefinition);
franta-hg@1
    54
        return doAfterEndTag(EVAL_PAGE);
franta-hg@1
    55
    }
franta-hg@1
    56
franta-hg@1
    57
    public void reset() {
franta-hg@1
    58
        plotDefinition = new PlotDefinition();
franta-hg@1
    59
    }
franta-hg@1
    60
franta-hg@1
    61
    /**
franta-hg@1
    62
     * Setter for property type.
franta-hg@1
    63
     * @param type New value of property type.
franta-hg@1
    64
     */
franta-hg@1
    65
    public void setType(String type) {
franta-hg@1
    66
        plotDefinition.setType(type);
franta-hg@1
    67
    }
franta-hg@1
    68
franta-hg@1
    69
    public void setDataProductionConfig(DatasetProducer dsp, Map params, boolean useCache) {
franta-hg@1
    70
        plotDefinition.setDataProductionConfig(dsp, params, useCache);
franta-hg@1
    71
    }
franta-hg@1
    72
    
franta-hg@1
    73
    /**
franta-hg@1
    74
     * Setter for property xAxisLabel. [tb]
franta-hg@1
    75
     * @param xAxisLabel New value of property xAxisLabel.
franta-hg@1
    76
     */
franta-hg@1
    77
    public void setXaxislabel(String xAxisLabel) {
franta-hg@1
    78
        plotDefinition.setXaxislabel(xAxisLabel);
franta-hg@1
    79
    }
franta-hg@1
    80
franta-hg@1
    81
    /**
franta-hg@1
    82
     * Setter for property yAxisLabel. [tb]
franta-hg@1
    83
     * @param yAxisLabel New value of property xAxisLabel.
franta-hg@1
    84
     */
franta-hg@1
    85
    public void setYaxislabel(String yAxisLabel) {
franta-hg@1
    86
        plotDefinition.setYaxislabel(yAxisLabel);
franta-hg@1
    87
    }
franta-hg@1
    88
franta-hg@1
    89
franta-hg@1
    90
}