1 package org.apache.turbine.modules.actions;
2
3 /*
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 */
21
22
23 import static org.junit.Assert.assertNotNull;
24
25 import org.apache.commons.logging.Log;
26 import org.apache.commons.logging.LogFactory;
27 import org.apache.turbine.annotation.TurbineActionEvent;
28 import org.apache.turbine.pipeline.PipelineData;
29 import org.apache.turbine.util.RunData;
30 import org.apache.velocity.context.Context;
31 /**
32 * This action is used in testing the ExecutePageValve by the ExecutePageValveTest.
33 *
34 * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
35 * @author <a href="mailto:peter@courcoux.biz">Peter Courcoux</a>
36 */
37 public class VelocityActionDoesNothing extends VelocityAction
38 {
39 private static Log log = LogFactory.getLog(VelocityActionDoesNothing.class);
40 public static int numberOfCalls;
41 public static int pipelineDataCalls;
42 public static int actionEventCalls;
43
44 /**
45 * Default action is throw an exception.
46 *
47 * @param pipelineData Current RunData information
48 * @param context Context to populate
49 * @throws Exception Thrown on error
50 */
51 @Override
52 public void doPerform(PipelineData pipelineData, Context context) throws Exception
53 {
54 log.debug("Calling doPerform(PipelineData)");
55 VelocityActionDoesNothing.numberOfCalls++;
56 RunData rd = (RunData)pipelineData;
57 assertNotNull("PipelineData object was Null.", rd);
58 VelocityActionDoesNothing.pipelineDataCalls++;
59 }
60
61 /**
62 * Annotated action method.
63 *
64 * @param pipelineData Current RunData information
65 * @param context Context to populate
66 * @throws Exception Thrown on error
67 */
68 @TurbineActionEvent("annotatedEvent") // subject to URL folding
69 public void arbitraryMethodName(PipelineData pipelineData, Context context) throws Exception
70 {
71 log.debug("Calling arbitraryMethodName(PipelineData)");
72 VelocityActionDoesNothing.numberOfCalls++;
73 RunData rd = (RunData)pipelineData;
74 assertNotNull("RunData object was Null.", rd);
75 VelocityActionDoesNothing.actionEventCalls++;
76 }
77 }