    001    package org.apache.turbine.modules.actions;
    002
    003    /*
    004     * Licensed to the Apache Software Foundation (ASF) under one
    005     * or more contributor license agreements.  See the NOTICE file
    006     * distributed with this work for additional information
    007     * regarding copyright ownership.  The ASF licenses this file
    008     * to you under the Apache License, Version 2.0 (the
    009     * "License"); you may not use this file except in compliance
    010     * with the License.  You may obtain a copy of the License at
    011     *
    012     *   http://www.apache.org/licenses/LICENSE-2.0
    013     *
    014     * Unless required by applicable law or agreed to in writing,
    015     * software distributed under the License is distributed on an
    016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    017     * KIND, either express or implied.  See the License for the
    018     * specific language governing permissions and limitations
    019     * under the License.
    020     */
    021
    022
    023    import org.apache.turbine.pipeline.PipelineData;
    024    import org.apache.turbine.util.RunData;
    025    import org.apache.velocity.context.Context;
    026    import org.apache.commons.logging.Log;
    027    import org.apache.commons.logging.LogFactory;
    028    /**
    029     * This action is used in testing the ActionLoader for Velocity templates.  Verifies
    030     * that exceptions are properly bubbled out.
    031     *
    032     * @author     <a href="mailto:epugh@upstate.com">Eric Pugh</a>
    033     * @author <a href="mailto:peter@courcoux.biz">Peter Courcoux</a>
    034     * @created    October 11, 2002
    035     */
    036    public class VelocityActionThrowsException extends VelocityAction
    037    {
    038        private static Log log = LogFactory.getLog(VelocityActionThrowsException.class);
    039        /**
    040         *  Default action is throw an exception.
    041         *
    042         * @param  data           Current RunData information
    043         * @param  context        Context to populate
    044         * @exception  Exception  Thrown on error
    045         */
    046        public void doPerform(RunData data, Context context) throws Exception
    047        {
    048            log.debug("Calling doPerform(RunData)");
    049            throw new Exception("From VelocityActionThrowsException.doPerform an Exception is always thrown!");
    050        }
    051
    052        /**
    053         *  Default action is throw an exception.
    054         *
    055         * @param  data           Current PipelineData information
    056         * @param  context        Context to populate
    057         * @exception  Exception  Thrown on error
    058         */
    059        public void doPerform(PipelineData data, Context context) throws Exception
    060        {
    061            log.debug("Calling doPerform(PipelineData)");
    062            throw new Exception("From VelocityActionThrowsException.doPerform an Exception is always thrown!");
    063        }
    064
    065
    066
    067        /**
    068         * This action event also throws an exception.
    069         * @param data
    070         * @param context
    071         * @throws Exception
    072         */
    073        public void doCauseexception(RunData data, Context context) throws Exception
    074        {
    075            log.debug("Calling doCauseexception(RunData)");
    076            throw new Exception("From Action Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
    077        }
    078
    079        /**
    080         * This action event also throws an exception.
    081         * @param data
    082         * @param context
    083         * @throws Exception
    084         */
    085        public void doCauseexception(PipelineData data, Context context) throws Exception
    086        {
    087            log.debug("Calling doCauseexception(PipelineData)");
    088            throw new Exception("From Action Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
    089        }
    090
    091
    092    }