java/cewolf-1.0/src/main/java/de/laures/cewolf/taglib/tags/ProducerTag.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
     1 /* ================================================================
     2  * Cewolf : Chart enabling Web Objects Framework
     3  * ================================================================
     4  *
     5  * Project Info:  http://cewolf.sourceforge.net
     6  * Project Lead:  Guido Laures (guido@laures.de);
     7  *
     8  * (C) Copyright 2002, by Guido Laures
     9  *
    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 the License, or (at your option) any later version.
    13  *
    14  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
    15  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    16  * See the GNU Lesser General Public License for more details.
    17  *
    18  * You should have received a copy of the GNU Lesser General Public License along with this
    19  * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    20  * Boston, MA 02111-1307, USA.
    21  */
    22 
    23 package de.laures.cewolf.taglib.tags;
    24 
    25 import javax.servlet.jsp.JspException;
    26 
    27 import de.laures.cewolf.DatasetProducer;
    28 import de.laures.cewolf.taglib.DataAware;
    29 
    30 /** 
    31  * Tag &lt;producer&gt; which defines a DatasetProducer.
    32  * @see DataTag
    33  * @author  Guido Laures 
    34  */
    35 public class ProducerTag extends AbstractParameterizedObjectTag {
    36 
    37     private boolean useCache = true;
    38 
    39     public int doEndTag() throws JspException {
    40         DatasetProducer dataProducer = null;
    41         try {
    42             dataProducer = (DatasetProducer) getObject();
    43             if (dataProducer == null) {
    44                 throw new JspException("Could not find datasetproducer under ID '" + getId() + "'");
    45             }
    46         } catch (ClassCastException cce) {
    47             throw new JspException(
    48                 "Bean under ID '"
    49                     + getId()
    50                     + "' is of type '"
    51                     + getObject().getClass().getName()
    52                     + "'.\nType expected:"
    53                     + DatasetProducer.class.getName());
    54         }
    55         DataAware dw = (DataAware) findAncestorWithClass(this, DataAware.class);
    56         log.debug("setting data config on " + dw);
    57         log.debug("useCache = " + useCache);
    58         addParameter(DatasetProducer.PRODUCER_ATTRIBUTE_NAME, getId());
    59         dw.setDataProductionConfig(dataProducer, getParameters(), useCache);
    60         return doAfterEndTag(EVAL_BODY_INCLUDE);
    61     }
    62 
    63     /**
    64      * Sets the useCache.
    65      * @param useCache The useCache to set
    66      */
    67     public void setUsecache(boolean useCache) {
    68         this.useCache = useCache;
    69     }
    70 
    71 }