You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by ep...@apache.org on 2003/09/26 19:49:47 UTC
cvs commit: jakarta-turbine-2/conf TurbineResources.properties
epugh 2003/09/26 10:49:47
Modified: xdocs changes.xml
src/test/org/apache/turbine/modules ActionLoaderTest.java
src/test/org/apache/turbine/modules/actions
VelocityActionThrowsException.java
conf TurbineResources.properties
Log:
Unit test testing the bubble exceptions property
Revision Changes Path
1.65 +5 -0 jakarta-turbine-2/xdocs/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-2/xdocs/changes.xml,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- changes.xml 26 Sep 2003 00:39:51 -0000 1.64
+++ changes.xml 26 Sep 2003 17:49:46 -0000 1.65
@@ -75,6 +75,11 @@
<p>
<ul>
<li>
+ doXXX events would eat exceptions while doPerform would bubble them up.
+ Added property action.event.bubbleexception which is true by default that
+ applies to both types and either bubbles them up, or logs and sinks them.
+ </li>
+ <li>
The intake validators were fixed so that fields with required=false
rules no longer attempt to execute the remaining rules when no
input is provided. A minLength > 0 rule is no longer synonymous
1.2 +209 -123 jakarta-turbine-2/src/test/org/apache/turbine/modules/ActionLoaderTest.java
Index: ActionLoaderTest.java
===================================================================
RCS file: /home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/modules/ActionLoaderTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ActionLoaderTest.java 11 Sep 2003 15:00:09 -0000 1.1
+++ ActionLoaderTest.java 26 Sep 2003 17:49:46 -0000 1.2
@@ -1,9 +1,63 @@
package org.apache.turbine.modules;
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2001-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ * "Apache Turbine" must not be used to endorse or promote products
+ * derived from this software without prior written permission. For
+ * written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * "Apache Turbine", nor may "Apache" appear in their name, without
+ * prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
import java.util.Vector;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServletResponse;
-import org.apache.turbine.modules.ActionLoader;
-import org.apache.turbine.modules.PageLoader;
+
+import org.apache.turbine.Turbine;
import org.apache.turbine.om.security.User;
import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.rundata.RunDataService;
@@ -16,131 +70,163 @@
import com.mockobjects.servlet.MockHttpServletResponse;
import com.mockobjects.servlet.MockServletConfig;
/**
- * This test case is to verify whether Exceptions in Velocity actions are
- * properly bubbled up.
+ * This test case is to verify whether exceptions in Velocity actions are
+ * properly bubbled up when action.event.bubbleexception=true. Or, if
+ * action.event.bubbleexception=false, then the exceptions should be
+ * logged and sunk.
*
* @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
*/
-public class ActionLoaderTest extends BaseTestCase
-{
- private static TurbineConfig tc = null;
- private static TemplateService ts = null;
- private MockServletConfig config = null;
- private EnhancedMockHttpServletRequest request = null;
- private EnhancedMockHttpSession session = null;
- private HttpServletResponse response = null;
- private static ServletConfig sc = null;
- /*
- * @see TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- config = new MockServletConfig();
- config.setupNoParameters();
- request = new EnhancedMockHttpServletRequest();
- request.setupServerName("bob");
- request.setupGetProtocol("http");
- request.setupScheme("scheme");
- request.setupPathInfo("damn");
- request.setupGetServletPath("damn2");
- request.setupGetContextPath("wow");
- request.setupGetContentType("html/text");
- request.setupAddHeader("Content-type", "html/text");
- request.setupAddHeader("Accept-Language", "en-US");
- Vector v = new Vector();
- request.setupGetParameterNames(v.elements());
- session = new EnhancedMockHttpSession();
- response = new MockHttpServletResponse();
- session.setupGetAttribute(User.SESSION_KEY, null);
- request.setSession(session);
- sc = config;
- tc = new TurbineConfig(".", "/conf/test/CompleteTurbineResources.properties");
- tc.initialize();
- }
- /*
- * @see TestCase#tearDown()
- */
- protected void tearDown() throws Exception
- {
- super.tearDown();
- if (tc != null)
- {
- tc.dispose();
- }
- }
- /**
- * Constructor for VelocityErrorScreenTest.
- * @param arg0
- */
- public ActionLoaderTest(String arg0) throws Exception
- {
- super(arg0);
- }
- /**
- * This unit test verifies that if your standard doPerform is called,
- * and it throws an Exception, the exception is bubbled up out of the ActionLoader...
+public class ActionLoaderTest extends BaseTestCase {
+ private static TurbineConfig tc = null;
+ private static TemplateService ts = null;
+ private MockServletConfig config = null;
+ private EnhancedMockHttpServletRequest request = null;
+ private EnhancedMockHttpSession session = null;
+ private HttpServletResponse response = null;
+ private static ServletConfig sc = null;
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ config = new MockServletConfig();
+ config.setupNoParameters();
+ request = new EnhancedMockHttpServletRequest();
+ request.setupServerName("bob");
+ request.setupGetProtocol("http");
+ request.setupScheme("scheme");
+ request.setupPathInfo("damn");
+ request.setupGetServletPath("damn2");
+ request.setupGetContextPath("wow");
+ request.setupGetContentType("html/text");
+ request.setupAddHeader("Content-type", "html/text");
+ request.setupAddHeader("Accept-Language", "en-US");
+ Vector v = new Vector();
+ request.setupGetParameterNames(v.elements());
+ session = new EnhancedMockHttpSession();
+ response = new MockHttpServletResponse();
+ session.setupGetAttribute(User.SESSION_KEY, null);
+ request.setSession(session);
+ sc = config;
+ tc =
+ new TurbineConfig(
+ ".",
+ "/conf/test/CompleteTurbineResources.properties");
+ tc.initialize();
+ }
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ if (tc != null) {
+ tc.dispose();
+ }
+ }
+ /**
+ * Constructor for VelocityErrorScreenTest.
+ * @param arg0
+ */
+ public ActionLoaderTest(String arg0) throws Exception {
+ super(arg0);
+ }
+ /**
+ * This unit test verifies that if your standard doPerform is called,
+ * and it throws an Exception, the exception is bubbled up out of the ActionLoader...
+ *
+ * @throws Exception If something goes wrong with the unit test
+ */
+ public void testDoPerformBubblesException() throws Exception {
+ RunData data = getRunData();
+ try {
+ String defaultPage = "VelocityPage";
+ ActionLoader.getInstance().exec(data, data.getAction());
+ fail("Should have thrown an exception");
+ } catch (Exception e) {
+ //good
+ }
+ }
+ /**
+ * This unit test verifies that if an Action Event doEventSubmit_ is called, and it throws an Exception, the
+ * exception is bubbled up out of the ActionLoader...
+ *
+ * @throws Exception If something goes wrong with the unit test
+ */
+ public void testActionEventBubblesException() throws Exception {
+ // can't seem to figure out how to setup the Mock Request with the right parameters...
+ request.setupAddParameter("eventSubmit_doCauseexception", "foo");
+ RunData data = getRunData();
+ data.getParameters().add("eventSubmit_doCauseexception", "foo");
+ assertTrue(
+ data.getParameters().containsKey("eventSubmit_doCauseexception"));
+ try {
+ String defaultPage = "VelocityPage";
+ ActionLoader.getInstance().exec(data, data.getAction());
+ fail("Should have bubbled out an exception thrown by the action.");
+ } catch (Exception e) {
+ //good
+ }
+ }
+
+ /**
+ * This unit test verifies that if your standard doPerform is called,
+ * and it throws an Exception, if the action.event.bubbleexception
+ * property is set to false then the exception is NOT bubbled up
+ *
+ * @throws Exception If something goes wrong with the unit test
+ */
+ public void testDoPerformDoesntBubbleException() throws Exception {
+ Turbine.getConfiguration().setProperty("action.event.bubbleexception",Boolean.FALSE);
+ assertFalse(Turbine.getConfiguration().getBoolean("action.event.bubbleexception"));
+ RunData data = getRunData();
+ try {
+ String defaultPage = "VelocityPage";
+ ActionLoader.getInstance().exec(data, data.getAction());
+
+ } catch (Exception e) {
+ fail("Should NOT have thrown an exception:" + e.getMessage());
+ }
+ }
+ /**
+ * This unit test verifies that if an Action Event doEventSubmit_ is called,
+ * and it throws an Exception, if the action.event.bubbleexception
+ * property is set to false then the exception is NOT bubbled up
*
* @throws Exception If something goes wrong with the unit test
*/
- public void testDoPerformBubblesException() throws Exception
- {
- RunData data = getRunData();
- data.setAction("VelocityActionThrowsException");
- try
- {
- String defaultPage = "VelocityPage";
- ActionLoader.getInstance().exec(data, data.getAction());
- fail("Should have thrown an exception");
- }
- catch (Exception e)
- {
- //good
- }
- }
- /**
- * This unit test verifies that if an Action Event doEventSubmit_ is called, and it throws an Exception, the
- * exception is bubbled up out of the ActionLoader...
- *
- * @throws Exception If something goes wrong with the unit test
- */
- public void testActionEventBubblesException() throws Exception
- {
- // can't seem to figure out how to setup the Mock Request with the right parameters...
- request.setupAddParameter("eventSubmit_doCauseexception", "foo");
- RunData data = getRunData();
- data.getParameters().add("eventSubmit_doCauseexception", "foo");
- assertTrue(data.getParameters().containsKey("eventSubmit_doCauseexception"));
- data.setAction("VelocityActionThrowsException");
- try
- {
- String defaultPage = "VelocityPage";
- ActionLoader.getInstance().exec(data, data.getAction());
- fail("Should have bubbled out an exception thrown by the action.");
- }
- catch (Exception e)
- {
- //good
- }
- }
- public void testNonexistentActionCausesError() throws Exception
- {
- RunData data = getRunData();
- data.setAction("ImaginaryAction");
- try
- {
- PageLoader.getInstance().exec(data, "boo");
- fail("Should have thrown an exception");
- }
- catch (Exception e)
- {
- //good
- }
- }
- private RunData getRunData() throws Exception
- {
- RunDataService rds = (RunDataService) TurbineServices.getInstance().getService(RunDataService.SERVICE_NAME);
- RunData runData = rds.getRunData(request, response, config);
- return runData;
- }
+ public void testActionEventDoesntBubbleException() throws Exception {
+ // can't seem to figure out how to setup the Mock Request with the right parameters...
+ Turbine.getConfiguration().setProperty("action.event.bubbleexception",Boolean.FALSE);
+ request.setupAddParameter("eventSubmit_doCauseexception", "foo");
+ RunData data = getRunData();
+ data.getParameters().add("eventSubmit_doCauseexception", "foo");
+ assertTrue(
+ data.getParameters().containsKey("eventSubmit_doCauseexception"));
+
+ try {
+ String defaultPage = "VelocityPage";
+ ActionLoader.getInstance().exec(data, data.getAction());
+ } catch (Exception e) {
+ fail("Should NOT have thrown an exception:" + e.getMessage());
+ }
+ }
+ public void testNonexistentActionCausesError() throws Exception {
+ RunData data = getRunData();
+ data.setAction("ImaginaryAction");
+ try {
+ PageLoader.getInstance().exec(data, "boo");
+ fail("Should have thrown an exception");
+ } catch (Exception e) {
+ //good
+ }
+ }
+ private RunData getRunData() throws Exception {
+ RunDataService rds =
+ (RunDataService) TurbineServices.getInstance().getService(
+ RunDataService.SERVICE_NAME);
+ RunData runData = rds.getRunData(request, response, config);
+ runData.setAction("VelocityActionThrowsException");
+ return runData;
+ }
}
1.2 +1 -1 jakarta-turbine-2/src/test/org/apache/turbine/modules/actions/VelocityActionThrowsException.java
Index: VelocityActionThrowsException.java
===================================================================
RCS file: /home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/modules/actions/VelocityActionThrowsException.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- VelocityActionThrowsException.java 11 Sep 2003 15:00:09 -0000 1.1
+++ VelocityActionThrowsException.java 26 Sep 2003 17:49:46 -0000 1.2
@@ -89,6 +89,6 @@
public void doCauseexception(RunData data, Context context) throws Exception
{
log.debug("Calling doCauseexception");
- throw new Exception("From Actin Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
+ throw new Exception("From Action Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
}
}
1.52 +8 -1 jakarta-turbine-2/conf/TurbineResources.properties
Index: TurbineResources.properties
===================================================================
RCS file: /home/cvs/jakarta-turbine-2/conf/TurbineResources.properties,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- TurbineResources.properties 2 Sep 2003 13:28:28 -0000 1.51
+++ TurbineResources.properties 26 Sep 2003 17:49:47 -0000 1.52
@@ -217,6 +217,13 @@
#
action.eventsubmit.needsvalue = false
+#
+# Set this value to false if you want perform your own error trapping.
+# Otherwise when an exception in an do<xxx> or doPerform method occurs
+# then Turbine will hand control over to your specified error screen
+#
+action.event.bubbleexception = true
+
# -------------------------------------------------------------------
#
# J N D I C O N T E X T S
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org
Re: cvs commit: jakarta-turbine-2/conf TurbineResources.properties
Posted by "Daniel L. Rall" <dl...@finemaltcoding.com>.
Turbine documents that the opening-brace-on-newline formatting style is used.
epugh@apache.org wrote:
> epugh 2003/09/26 10:49:47
>
> Modified: xdocs changes.xml
> src/test/org/apache/turbine/modules ActionLoaderTest.java
> src/test/org/apache/turbine/modules/actions
> VelocityActionThrowsException.java
> conf TurbineResources.properties
> Log:
> Unit test testing the bubble exceptions property
>
> Revision Changes Path
> 1.65 +5 -0 jakarta-turbine-2/xdocs/changes.xml
>
> Index: changes.xml
> ===================================================================
> RCS file: /home/cvs/jakarta-turbine-2/xdocs/changes.xml,v
> retrieving revision 1.64
> retrieving revision 1.65
> diff -u -r1.64 -r1.65
> --- changes.xml 26 Sep 2003 00:39:51 -0000 1.64
> +++ changes.xml 26 Sep 2003 17:49:46 -0000 1.65
> @@ -75,6 +75,11 @@
> <p>
> <ul>
> <li>
> + doXXX events would eat exceptions while doPerform would bubble them up.
> + Added property action.event.bubbleexception which is true by default that
> + applies to both types and either bubbles them up, or logs and sinks them.
> + </li>
> + <li>
> The intake validators were fixed so that fields with required=false
> rules no longer attempt to execute the remaining rules when no
> input is provided. A minLength > 0 rule is no longer synonymous
>
>
>
> 1.2 +209 -123 jakarta-turbine-2/src/test/org/apache/turbine/modules/ActionLoaderTest.java
>
> Index: ActionLoaderTest.java
> ===================================================================
> RCS file: /home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/modules/ActionLoaderTest.java,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -r1.1 -r1.2
> --- ActionLoaderTest.java 11 Sep 2003 15:00:09 -0000 1.1
> +++ ActionLoaderTest.java 26 Sep 2003 17:49:46 -0000 1.2
> @@ -1,9 +1,63 @@
> package org.apache.turbine.modules;
> +/* ====================================================================
> + * The Apache Software License, Version 1.1
> + *
> + * Copyright (c) 2001-2003 The Apache Software Foundation. All rights
> + * reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + *
> + * 1. Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + *
> + * 2. Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in
> + * the documentation and/or other materials provided with the
> + * distribution.
> + *
> + * 3. The end-user documentation included with the redistribution,
> + * if any, must include the following acknowledgment:
> + * "This product includes software developed by the
> + * Apache Software Foundation (http://www.apache.org/)."
> + * Alternately, this acknowledgment may appear in the software itself,
> + * if and wherever such third-party acknowledgments normally appear.
> + *
> + * 4. The names "Apache" and "Apache Software Foundation" and
> + * "Apache Turbine" must not be used to endorse or promote products
> + * derived from this software without prior written permission. For
> + * written permission, please contact apache@apache.org.
> + *
> + * 5. Products derived from this software may not be called "Apache",
> + * "Apache Turbine", nor may "Apache" appear in their name, without
> + * prior written permission of the Apache Software Foundation.
> + *
> + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
> + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> + * SUCH DAMAGE.
> + * ====================================================================
> + *
> + * This software consists of voluntary contributions made by many
> + * individuals on behalf of the Apache Software Foundation. For more
> + * information on the Apache Software Foundation, please see
> + * <http://www.apache.org/>.
> + */
> +
> import java.util.Vector;
> import javax.servlet.ServletConfig;
> import javax.servlet.http.HttpServletResponse;
> -import org.apache.turbine.modules.ActionLoader;
> -import org.apache.turbine.modules.PageLoader;
> +
> +import org.apache.turbine.Turbine;
> import org.apache.turbine.om.security.User;
> import org.apache.turbine.services.TurbineServices;
> import org.apache.turbine.services.rundata.RunDataService;
> @@ -16,131 +70,163 @@
> import com.mockobjects.servlet.MockHttpServletResponse;
> import com.mockobjects.servlet.MockServletConfig;
> /**
> - * This test case is to verify whether Exceptions in Velocity actions are
> - * properly bubbled up.
> + * This test case is to verify whether exceptions in Velocity actions are
> + * properly bubbled up when action.event.bubbleexception=true. Or, if
> + * action.event.bubbleexception=false, then the exceptions should be
> + * logged and sunk.
> *
> * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
> */
> -public class ActionLoaderTest extends BaseTestCase
> -{
> - private static TurbineConfig tc = null;
> - private static TemplateService ts = null;
> - private MockServletConfig config = null;
> - private EnhancedMockHttpServletRequest request = null;
> - private EnhancedMockHttpSession session = null;
> - private HttpServletResponse response = null;
> - private static ServletConfig sc = null;
> - /*
> - * @see TestCase#setUp()
> - */
> - protected void setUp() throws Exception
> - {
> - super.setUp();
> - config = new MockServletConfig();
> - config.setupNoParameters();
> - request = new EnhancedMockHttpServletRequest();
> - request.setupServerName("bob");
> - request.setupGetProtocol("http");
> - request.setupScheme("scheme");
> - request.setupPathInfo("damn");
> - request.setupGetServletPath("damn2");
> - request.setupGetContextPath("wow");
> - request.setupGetContentType("html/text");
> - request.setupAddHeader("Content-type", "html/text");
> - request.setupAddHeader("Accept-Language", "en-US");
> - Vector v = new Vector();
> - request.setupGetParameterNames(v.elements());
> - session = new EnhancedMockHttpSession();
> - response = new MockHttpServletResponse();
> - session.setupGetAttribute(User.SESSION_KEY, null);
> - request.setSession(session);
> - sc = config;
> - tc = new TurbineConfig(".", "/conf/test/CompleteTurbineResources.properties");
> - tc.initialize();
> - }
> - /*
> - * @see TestCase#tearDown()
> - */
> - protected void tearDown() throws Exception
> - {
> - super.tearDown();
> - if (tc != null)
> - {
> - tc.dispose();
> - }
> - }
> - /**
> - * Constructor for VelocityErrorScreenTest.
> - * @param arg0
> - */
> - public ActionLoaderTest(String arg0) throws Exception
> - {
> - super(arg0);
> - }
> - /**
> - * This unit test verifies that if your standard doPerform is called,
> - * and it throws an Exception, the exception is bubbled up out of the ActionLoader...
> +public class ActionLoaderTest extends BaseTestCase {
> + private static TurbineConfig tc = null;
> + private static TemplateService ts = null;
> + private MockServletConfig config = null;
> + private EnhancedMockHttpServletRequest request = null;
> + private EnhancedMockHttpSession session = null;
> + private HttpServletResponse response = null;
> + private static ServletConfig sc = null;
> + /*
> + * @see TestCase#setUp()
> + */
> + protected void setUp() throws Exception {
> + super.setUp();
> + config = new MockServletConfig();
> + config.setupNoParameters();
> + request = new EnhancedMockHttpServletRequest();
> + request.setupServerName("bob");
> + request.setupGetProtocol("http");
> + request.setupScheme("scheme");
> + request.setupPathInfo("damn");
> + request.setupGetServletPath("damn2");
> + request.setupGetContextPath("wow");
> + request.setupGetContentType("html/text");
> + request.setupAddHeader("Content-type", "html/text");
> + request.setupAddHeader("Accept-Language", "en-US");
> + Vector v = new Vector();
> + request.setupGetParameterNames(v.elements());
> + session = new EnhancedMockHttpSession();
> + response = new MockHttpServletResponse();
> + session.setupGetAttribute(User.SESSION_KEY, null);
> + request.setSession(session);
> + sc = config;
> + tc =
> + new TurbineConfig(
> + ".",
> + "/conf/test/CompleteTurbineResources.properties");
> + tc.initialize();
> + }
> + /*
> + * @see TestCase#tearDown()
> + */
> + protected void tearDown() throws Exception {
> + super.tearDown();
> + if (tc != null) {
> + tc.dispose();
> + }
> + }
> + /**
> + * Constructor for VelocityErrorScreenTest.
> + * @param arg0
> + */
> + public ActionLoaderTest(String arg0) throws Exception {
> + super(arg0);
> + }
> + /**
> + * This unit test verifies that if your standard doPerform is called,
> + * and it throws an Exception, the exception is bubbled up out of the ActionLoader...
> + *
> + * @throws Exception If something goes wrong with the unit test
> + */
> + public void testDoPerformBubblesException() throws Exception {
> + RunData data = getRunData();
> + try {
> + String defaultPage = "VelocityPage";
> + ActionLoader.getInstance().exec(data, data.getAction());
> + fail("Should have thrown an exception");
> + } catch (Exception e) {
> + //good
> + }
> + }
> + /**
> + * This unit test verifies that if an Action Event doEventSubmit_ is called, and it throws an Exception, the
> + * exception is bubbled up out of the ActionLoader...
> + *
> + * @throws Exception If something goes wrong with the unit test
> + */
> + public void testActionEventBubblesException() throws Exception {
> + // can't seem to figure out how to setup the Mock Request with the right parameters...
> + request.setupAddParameter("eventSubmit_doCauseexception", "foo");
> + RunData data = getRunData();
> + data.getParameters().add("eventSubmit_doCauseexception", "foo");
> + assertTrue(
> + data.getParameters().containsKey("eventSubmit_doCauseexception"));
> + try {
> + String defaultPage = "VelocityPage";
> + ActionLoader.getInstance().exec(data, data.getAction());
> + fail("Should have bubbled out an exception thrown by the action.");
> + } catch (Exception e) {
> + //good
> + }
> + }
> +
> + /**
> + * This unit test verifies that if your standard doPerform is called,
> + * and it throws an Exception, if the action.event.bubbleexception
> + * property is set to false then the exception is NOT bubbled up
> + *
> + * @throws Exception If something goes wrong with the unit test
> + */
> + public void testDoPerformDoesntBubbleException() throws Exception {
> + Turbine.getConfiguration().setProperty("action.event.bubbleexception",Boolean.FALSE);
> + assertFalse(Turbine.getConfiguration().getBoolean("action.event.bubbleexception"));
> + RunData data = getRunData();
> + try {
> + String defaultPage = "VelocityPage";
> + ActionLoader.getInstance().exec(data, data.getAction());
> +
> + } catch (Exception e) {
> + fail("Should NOT have thrown an exception:" + e.getMessage());
> + }
> + }
> + /**
> + * This unit test verifies that if an Action Event doEventSubmit_ is called,
> + * and it throws an Exception, if the action.event.bubbleexception
> + * property is set to false then the exception is NOT bubbled up
> *
> * @throws Exception If something goes wrong with the unit test
> */
> - public void testDoPerformBubblesException() throws Exception
> - {
> - RunData data = getRunData();
> - data.setAction("VelocityActionThrowsException");
> - try
> - {
> - String defaultPage = "VelocityPage";
> - ActionLoader.getInstance().exec(data, data.getAction());
> - fail("Should have thrown an exception");
> - }
> - catch (Exception e)
> - {
> - //good
> - }
> - }
> - /**
> - * This unit test verifies that if an Action Event doEventSubmit_ is called, and it throws an Exception, the
> - * exception is bubbled up out of the ActionLoader...
> - *
> - * @throws Exception If something goes wrong with the unit test
> - */
> - public void testActionEventBubblesException() throws Exception
> - {
> - // can't seem to figure out how to setup the Mock Request with the right parameters...
> - request.setupAddParameter("eventSubmit_doCauseexception", "foo");
> - RunData data = getRunData();
> - data.getParameters().add("eventSubmit_doCauseexception", "foo");
> - assertTrue(data.getParameters().containsKey("eventSubmit_doCauseexception"));
> - data.setAction("VelocityActionThrowsException");
> - try
> - {
> - String defaultPage = "VelocityPage";
> - ActionLoader.getInstance().exec(data, data.getAction());
> - fail("Should have bubbled out an exception thrown by the action.");
> - }
> - catch (Exception e)
> - {
> - //good
> - }
> - }
> - public void testNonexistentActionCausesError() throws Exception
> - {
> - RunData data = getRunData();
> - data.setAction("ImaginaryAction");
> - try
> - {
> - PageLoader.getInstance().exec(data, "boo");
> - fail("Should have thrown an exception");
> - }
> - catch (Exception e)
> - {
> - //good
> - }
> - }
> - private RunData getRunData() throws Exception
> - {
> - RunDataService rds = (RunDataService) TurbineServices.getInstance().getService(RunDataService.SERVICE_NAME);
> - RunData runData = rds.getRunData(request, response, config);
> - return runData;
> - }
> + public void testActionEventDoesntBubbleException() throws Exception {
> + // can't seem to figure out how to setup the Mock Request with the right parameters...
> + Turbine.getConfiguration().setProperty("action.event.bubbleexception",Boolean.FALSE);
> + request.setupAddParameter("eventSubmit_doCauseexception", "foo");
> + RunData data = getRunData();
> + data.getParameters().add("eventSubmit_doCauseexception", "foo");
> + assertTrue(
> + data.getParameters().containsKey("eventSubmit_doCauseexception"));
> +
> + try {
> + String defaultPage = "VelocityPage";
> + ActionLoader.getInstance().exec(data, data.getAction());
> + } catch (Exception e) {
> + fail("Should NOT have thrown an exception:" + e.getMessage());
> + }
> + }
> + public void testNonexistentActionCausesError() throws Exception {
> + RunData data = getRunData();
> + data.setAction("ImaginaryAction");
> + try {
> + PageLoader.getInstance().exec(data, "boo");
> + fail("Should have thrown an exception");
> + } catch (Exception e) {
> + //good
> + }
> + }
> + private RunData getRunData() throws Exception {
> + RunDataService rds =
> + (RunDataService) TurbineServices.getInstance().getService(
> + RunDataService.SERVICE_NAME);
> + RunData runData = rds.getRunData(request, response, config);
> + runData.setAction("VelocityActionThrowsException");
> + return runData;
> + }
> }
>
>
>
> 1.2 +1 -1 jakarta-turbine-2/src/test/org/apache/turbine/modules/actions/VelocityActionThrowsException.java
>
> Index: VelocityActionThrowsException.java
> ===================================================================
> RCS file: /home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/modules/actions/VelocityActionThrowsException.java,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -r1.1 -r1.2
> --- VelocityActionThrowsException.java 11 Sep 2003 15:00:09 -0000 1.1
> +++ VelocityActionThrowsException.java 26 Sep 2003 17:49:46 -0000 1.2
> @@ -89,6 +89,6 @@
> public void doCauseexception(RunData data, Context context) throws Exception
> {
> log.debug("Calling doCauseexception");
> - throw new Exception("From Actin Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
> + throw new Exception("From Action Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
> }
> }
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org
Re: cvs commit: jakarta-turbine-2/conf TurbineResources.properties
Posted by "Daniel L. Rall" <dl...@finemaltcoding.com>.
Turbine documents that the opening-brace-on-newline formatting style is used.
epugh@apache.org wrote:
> epugh 2003/09/26 10:49:47
>
> Modified: xdocs changes.xml
> src/test/org/apache/turbine/modules ActionLoaderTest.java
> src/test/org/apache/turbine/modules/actions
> VelocityActionThrowsException.java
> conf TurbineResources.properties
> Log:
> Unit test testing the bubble exceptions property
>
> Revision Changes Path
> 1.65 +5 -0 jakarta-turbine-2/xdocs/changes.xml
>
> Index: changes.xml
> ===================================================================
> RCS file: /home/cvs/jakarta-turbine-2/xdocs/changes.xml,v
> retrieving revision 1.64
> retrieving revision 1.65
> diff -u -r1.64 -r1.65
> --- changes.xml 26 Sep 2003 00:39:51 -0000 1.64
> +++ changes.xml 26 Sep 2003 17:49:46 -0000 1.65
> @@ -75,6 +75,11 @@
> <p>
> <ul>
> <li>
> + doXXX events would eat exceptions while doPerform would bubble them up.
> + Added property action.event.bubbleexception which is true by default that
> + applies to both types and either bubbles them up, or logs and sinks them.
> + </li>
> + <li>
> The intake validators were fixed so that fields with required=false
> rules no longer attempt to execute the remaining rules when no
> input is provided. A minLength > 0 rule is no longer synonymous
>
>
>
> 1.2 +209 -123 jakarta-turbine-2/src/test/org/apache/turbine/modules/ActionLoaderTest.java
>
> Index: ActionLoaderTest.java
> ===================================================================
> RCS file: /home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/modules/ActionLoaderTest.java,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -r1.1 -r1.2
> --- ActionLoaderTest.java 11 Sep 2003 15:00:09 -0000 1.1
> +++ ActionLoaderTest.java 26 Sep 2003 17:49:46 -0000 1.2
> @@ -1,9 +1,63 @@
> package org.apache.turbine.modules;
> +/* ====================================================================
> + * The Apache Software License, Version 1.1
> + *
> + * Copyright (c) 2001-2003 The Apache Software Foundation. All rights
> + * reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + *
> + * 1. Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + *
> + * 2. Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in
> + * the documentation and/or other materials provided with the
> + * distribution.
> + *
> + * 3. The end-user documentation included with the redistribution,
> + * if any, must include the following acknowledgment:
> + * "This product includes software developed by the
> + * Apache Software Foundation (http://www.apache.org/)."
> + * Alternately, this acknowledgment may appear in the software itself,
> + * if and wherever such third-party acknowledgments normally appear.
> + *
> + * 4. The names "Apache" and "Apache Software Foundation" and
> + * "Apache Turbine" must not be used to endorse or promote products
> + * derived from this software without prior written permission. For
> + * written permission, please contact apache@apache.org.
> + *
> + * 5. Products derived from this software may not be called "Apache",
> + * "Apache Turbine", nor may "Apache" appear in their name, without
> + * prior written permission of the Apache Software Foundation.
> + *
> + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
> + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> + * SUCH DAMAGE.
> + * ====================================================================
> + *
> + * This software consists of voluntary contributions made by many
> + * individuals on behalf of the Apache Software Foundation. For more
> + * information on the Apache Software Foundation, please see
> + * <http://www.apache.org/>.
> + */
> +
> import java.util.Vector;
> import javax.servlet.ServletConfig;
> import javax.servlet.http.HttpServletResponse;
> -import org.apache.turbine.modules.ActionLoader;
> -import org.apache.turbine.modules.PageLoader;
> +
> +import org.apache.turbine.Turbine;
> import org.apache.turbine.om.security.User;
> import org.apache.turbine.services.TurbineServices;
> import org.apache.turbine.services.rundata.RunDataService;
> @@ -16,131 +70,163 @@
> import com.mockobjects.servlet.MockHttpServletResponse;
> import com.mockobjects.servlet.MockServletConfig;
> /**
> - * This test case is to verify whether Exceptions in Velocity actions are
> - * properly bubbled up.
> + * This test case is to verify whether exceptions in Velocity actions are
> + * properly bubbled up when action.event.bubbleexception=true. Or, if
> + * action.event.bubbleexception=false, then the exceptions should be
> + * logged and sunk.
> *
> * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
> */
> -public class ActionLoaderTest extends BaseTestCase
> -{
> - private static TurbineConfig tc = null;
> - private static TemplateService ts = null;
> - private MockServletConfig config = null;
> - private EnhancedMockHttpServletRequest request = null;
> - private EnhancedMockHttpSession session = null;
> - private HttpServletResponse response = null;
> - private static ServletConfig sc = null;
> - /*
> - * @see TestCase#setUp()
> - */
> - protected void setUp() throws Exception
> - {
> - super.setUp();
> - config = new MockServletConfig();
> - config.setupNoParameters();
> - request = new EnhancedMockHttpServletRequest();
> - request.setupServerName("bob");
> - request.setupGetProtocol("http");
> - request.setupScheme("scheme");
> - request.setupPathInfo("damn");
> - request.setupGetServletPath("damn2");
> - request.setupGetContextPath("wow");
> - request.setupGetContentType("html/text");
> - request.setupAddHeader("Content-type", "html/text");
> - request.setupAddHeader("Accept-Language", "en-US");
> - Vector v = new Vector();
> - request.setupGetParameterNames(v.elements());
> - session = new EnhancedMockHttpSession();
> - response = new MockHttpServletResponse();
> - session.setupGetAttribute(User.SESSION_KEY, null);
> - request.setSession(session);
> - sc = config;
> - tc = new TurbineConfig(".", "/conf/test/CompleteTurbineResources.properties");
> - tc.initialize();
> - }
> - /*
> - * @see TestCase#tearDown()
> - */
> - protected void tearDown() throws Exception
> - {
> - super.tearDown();
> - if (tc != null)
> - {
> - tc.dispose();
> - }
> - }
> - /**
> - * Constructor for VelocityErrorScreenTest.
> - * @param arg0
> - */
> - public ActionLoaderTest(String arg0) throws Exception
> - {
> - super(arg0);
> - }
> - /**
> - * This unit test verifies that if your standard doPerform is called,
> - * and it throws an Exception, the exception is bubbled up out of the ActionLoader...
> +public class ActionLoaderTest extends BaseTestCase {
> + private static TurbineConfig tc = null;
> + private static TemplateService ts = null;
> + private MockServletConfig config = null;
> + private EnhancedMockHttpServletRequest request = null;
> + private EnhancedMockHttpSession session = null;
> + private HttpServletResponse response = null;
> + private static ServletConfig sc = null;
> + /*
> + * @see TestCase#setUp()
> + */
> + protected void setUp() throws Exception {
> + super.setUp();
> + config = new MockServletConfig();
> + config.setupNoParameters();
> + request = new EnhancedMockHttpServletRequest();
> + request.setupServerName("bob");
> + request.setupGetProtocol("http");
> + request.setupScheme("scheme");
> + request.setupPathInfo("damn");
> + request.setupGetServletPath("damn2");
> + request.setupGetContextPath("wow");
> + request.setupGetContentType("html/text");
> + request.setupAddHeader("Content-type", "html/text");
> + request.setupAddHeader("Accept-Language", "en-US");
> + Vector v = new Vector();
> + request.setupGetParameterNames(v.elements());
> + session = new EnhancedMockHttpSession();
> + response = new MockHttpServletResponse();
> + session.setupGetAttribute(User.SESSION_KEY, null);
> + request.setSession(session);
> + sc = config;
> + tc =
> + new TurbineConfig(
> + ".",
> + "/conf/test/CompleteTurbineResources.properties");
> + tc.initialize();
> + }
> + /*
> + * @see TestCase#tearDown()
> + */
> + protected void tearDown() throws Exception {
> + super.tearDown();
> + if (tc != null) {
> + tc.dispose();
> + }
> + }
> + /**
> + * Constructor for VelocityErrorScreenTest.
> + * @param arg0
> + */
> + public ActionLoaderTest(String arg0) throws Exception {
> + super(arg0);
> + }
> + /**
> + * This unit test verifies that if your standard doPerform is called,
> + * and it throws an Exception, the exception is bubbled up out of the ActionLoader...
> + *
> + * @throws Exception If something goes wrong with the unit test
> + */
> + public void testDoPerformBubblesException() throws Exception {
> + RunData data = getRunData();
> + try {
> + String defaultPage = "VelocityPage";
> + ActionLoader.getInstance().exec(data, data.getAction());
> + fail("Should have thrown an exception");
> + } catch (Exception e) {
> + //good
> + }
> + }
> + /**
> + * This unit test verifies that if an Action Event doEventSubmit_ is called, and it throws an Exception, the
> + * exception is bubbled up out of the ActionLoader...
> + *
> + * @throws Exception If something goes wrong with the unit test
> + */
> + public void testActionEventBubblesException() throws Exception {
> + // can't seem to figure out how to setup the Mock Request with the right parameters...
> + request.setupAddParameter("eventSubmit_doCauseexception", "foo");
> + RunData data = getRunData();
> + data.getParameters().add("eventSubmit_doCauseexception", "foo");
> + assertTrue(
> + data.getParameters().containsKey("eventSubmit_doCauseexception"));
> + try {
> + String defaultPage = "VelocityPage";
> + ActionLoader.getInstance().exec(data, data.getAction());
> + fail("Should have bubbled out an exception thrown by the action.");
> + } catch (Exception e) {
> + //good
> + }
> + }
> +
> + /**
> + * This unit test verifies that if your standard doPerform is called,
> + * and it throws an Exception, if the action.event.bubbleexception
> + * property is set to false then the exception is NOT bubbled up
> + *
> + * @throws Exception If something goes wrong with the unit test
> + */
> + public void testDoPerformDoesntBubbleException() throws Exception {
> + Turbine.getConfiguration().setProperty("action.event.bubbleexception",Boolean.FALSE);
> + assertFalse(Turbine.getConfiguration().getBoolean("action.event.bubbleexception"));
> + RunData data = getRunData();
> + try {
> + String defaultPage = "VelocityPage";
> + ActionLoader.getInstance().exec(data, data.getAction());
> +
> + } catch (Exception e) {
> + fail("Should NOT have thrown an exception:" + e.getMessage());
> + }
> + }
> + /**
> + * This unit test verifies that if an Action Event doEventSubmit_ is called,
> + * and it throws an Exception, if the action.event.bubbleexception
> + * property is set to false then the exception is NOT bubbled up
> *
> * @throws Exception If something goes wrong with the unit test
> */
> - public void testDoPerformBubblesException() throws Exception
> - {
> - RunData data = getRunData();
> - data.setAction("VelocityActionThrowsException");
> - try
> - {
> - String defaultPage = "VelocityPage";
> - ActionLoader.getInstance().exec(data, data.getAction());
> - fail("Should have thrown an exception");
> - }
> - catch (Exception e)
> - {
> - //good
> - }
> - }
> - /**
> - * This unit test verifies that if an Action Event doEventSubmit_ is called, and it throws an Exception, the
> - * exception is bubbled up out of the ActionLoader...
> - *
> - * @throws Exception If something goes wrong with the unit test
> - */
> - public void testActionEventBubblesException() throws Exception
> - {
> - // can't seem to figure out how to setup the Mock Request with the right parameters...
> - request.setupAddParameter("eventSubmit_doCauseexception", "foo");
> - RunData data = getRunData();
> - data.getParameters().add("eventSubmit_doCauseexception", "foo");
> - assertTrue(data.getParameters().containsKey("eventSubmit_doCauseexception"));
> - data.setAction("VelocityActionThrowsException");
> - try
> - {
> - String defaultPage = "VelocityPage";
> - ActionLoader.getInstance().exec(data, data.getAction());
> - fail("Should have bubbled out an exception thrown by the action.");
> - }
> - catch (Exception e)
> - {
> - //good
> - }
> - }
> - public void testNonexistentActionCausesError() throws Exception
> - {
> - RunData data = getRunData();
> - data.setAction("ImaginaryAction");
> - try
> - {
> - PageLoader.getInstance().exec(data, "boo");
> - fail("Should have thrown an exception");
> - }
> - catch (Exception e)
> - {
> - //good
> - }
> - }
> - private RunData getRunData() throws Exception
> - {
> - RunDataService rds = (RunDataService) TurbineServices.getInstance().getService(RunDataService.SERVICE_NAME);
> - RunData runData = rds.getRunData(request, response, config);
> - return runData;
> - }
> + public void testActionEventDoesntBubbleException() throws Exception {
> + // can't seem to figure out how to setup the Mock Request with the right parameters...
> + Turbine.getConfiguration().setProperty("action.event.bubbleexception",Boolean.FALSE);
> + request.setupAddParameter("eventSubmit_doCauseexception", "foo");
> + RunData data = getRunData();
> + data.getParameters().add("eventSubmit_doCauseexception", "foo");
> + assertTrue(
> + data.getParameters().containsKey("eventSubmit_doCauseexception"));
> +
> + try {
> + String defaultPage = "VelocityPage";
> + ActionLoader.getInstance().exec(data, data.getAction());
> + } catch (Exception e) {
> + fail("Should NOT have thrown an exception:" + e.getMessage());
> + }
> + }
> + public void testNonexistentActionCausesError() throws Exception {
> + RunData data = getRunData();
> + data.setAction("ImaginaryAction");
> + try {
> + PageLoader.getInstance().exec(data, "boo");
> + fail("Should have thrown an exception");
> + } catch (Exception e) {
> + //good
> + }
> + }
> + private RunData getRunData() throws Exception {
> + RunDataService rds =
> + (RunDataService) TurbineServices.getInstance().getService(
> + RunDataService.SERVICE_NAME);
> + RunData runData = rds.getRunData(request, response, config);
> + runData.setAction("VelocityActionThrowsException");
> + return runData;
> + }
> }
>
>
>
> 1.2 +1 -1 jakarta-turbine-2/src/test/org/apache/turbine/modules/actions/VelocityActionThrowsException.java
>
> Index: VelocityActionThrowsException.java
> ===================================================================
> RCS file: /home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/modules/actions/VelocityActionThrowsException.java,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -r1.1 -r1.2
> --- VelocityActionThrowsException.java 11 Sep 2003 15:00:09 -0000 1.1
> +++ VelocityActionThrowsException.java 26 Sep 2003 17:49:46 -0000 1.2
> @@ -89,6 +89,6 @@
> public void doCauseexception(RunData data, Context context) throws Exception
> {
> log.debug("Calling doCauseexception");
> - throw new Exception("From Actin Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
> + throw new Exception("From Action Event VelocityActionThrowsException.doCauseexception an Exception is always thrown!");
> }
> }