    001package 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
    023import org.apache.commons.logging.Log;
    024import org.apache.commons.logging.LogFactory;
    025import org.apache.turbine.pipeline.PipelineData;
    026import org.apache.velocity.context.Context;
    027/**
    028 * This action is used in testing the ActionLoader for Velocity templates.  Verifies
    029 * that exceptions are properly bubbled out.
    030 *
    031 * @author     <a href="mailto:epugh@upstate.com">Eric Pugh</a>
    032 * @author <a href="mailto:peter@courcoux.biz">Peter Courcoux</a>
    033 * @since    October 11, 2002
    034 */
    035public class VelocityActionThrowsException extends VelocityAction
    036{
    037    private static Log log = LogFactory.getLog(VelocityActionThrowsException.class);
    038
    039    /**
    040     *  Default action is throw an exception.
    041     *
    042     * @param  data           Current PipelineData information
    043     * @param  context        Context to populate
    044     * @throws  Exception  Thrown on error
    045     */
    046    @Override
    047    public void doPerform(PipelineData data, Context context) throws Exception
    048    {
    049        log.debug("Calling doPerform(PipelineData)");
    050        throw new Exception("From VelocityActionThrowsException.doPerform an Exception is always thrown!");
    051    }
    052
    053    /**
    054     * This action event also throws an exception.
    055     * @param data
    056     * @param context
    057     * @throws Exception
    058     */
    059    public void doCauseexception(PipelineData data, Context context) throws Exception
    060    {
    061        log.debug("Calling doCauseexception(PipelineData)");
    062        throw new Exception("From Action Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
    063    }
    064}