You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/09/02 04:48:22 UTC

svn commit: r266244 - in /beehive/trunk/netui: src/pageflow/org/apache/beehive/netui/pageflow/internal/ test/webapps/drt/coreWeb/bugs/j898/ test/webapps/drt/coreWeb/miniTests/initFormBeanInterface/ test/webapps/drt/testRecorder/config/ test/webapps/drt...

Author: rich
Date: Thu Sep  1 19:48:07 2005
New Revision: 266244

URL: http://svn.apache.org/viewcvs?rev=266244&view=rev
Log:
This is a contribution from Glauber Adriano Reis to address http://issues.apache.org/jira/browse/BEEHIVE-898 : Bogus Forward from a PageFlow Action method results in a java.lang.ClassNotFoundException

Also added a test case from Xibin, with the additional condition (null return from an exception handler method) from Glauber.

tests: bvt in netui (WinXP)
BB: self (linux)


Added:
    beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/
    beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/Controller.jpf   (with props)
    beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/SharedFlow.jpfs   (with props)
    beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J898.xml   (with props)
Modified:
    beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java
    beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/initFormBeanInterface/Controller.jpf
    beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml

Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java?rev=266244&r1=266243&r2=266244&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java Thu Sep  1 19:48:07 2005
@@ -189,9 +189,12 @@
                 {
                     ret = invokeExceptionHandlerMethod( context, ex, pfExceptionConfig, form, actionMapping );
                 }
+                else
+                {
+                    ret = invokeExceptionHandlerClass( context, ex, pfExceptionConfig, actionMapping, form );
+                }
             }
-
-            if ( ret == null )
+            else
             {
                 ret = invokeExceptionHandlerClass( context, ex, exceptionConfig, actionMapping, form );
             }

Added: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/Controller.jpf
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/Controller.jpf?rev=266244&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/Controller.jpf (added)
+++ beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/Controller.jpf Thu Sep  1 19:48:07 2005
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package bugs.j898;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+@Jpf.Controller(
+    sharedFlowRefs={
+       @Jpf.SharedFlowRef(name="sf", type=SharedFlow.class)
+    }
+)
+public class Controller extends PageFlowController
+{
+    @Jpf.Action()
+    public Forward begin()
+    {
+        return new Forward("unresolvable");
+    }
+}

Propchange: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/Controller.jpf
------------------------------------------------------------------------------
    svn:eol-style = native

Added: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/SharedFlow.jpfs
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/SharedFlow.jpfs?rev=266244&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/SharedFlow.jpfs (added)
+++ beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/SharedFlow.jpfs Thu Sep  1 19:48:07 2005
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package bugs.j898;
+
+import org.apache.beehive.netui.pageflow.SharedFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowException;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+@Jpf.Controller(
+    catches={
+       @Jpf.Catch(type=PageFlowException.class, method="handlePageFlowException")
+    }
+)
+public class SharedFlow extends SharedFlowController
+{
+    @Jpf.ExceptionHandler
+    public Forward handlePageFlowException(PageFlowException e, String actionName, String message, Object formBean)
+        throws java.io.IOException
+    {
+        e.sendError(getRequest(), getResponse());
+        return null;
+    }
+}

Propchange: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j898/SharedFlow.jpfs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/initFormBeanInterface/Controller.jpf
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/initFormBeanInterface/Controller.jpf?rev=266244&r1=266243&r2=266244&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/initFormBeanInterface/Controller.jpf (original)
+++ beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/initFormBeanInterface/Controller.jpf Thu Sep  1 19:48:07 2005
@@ -24,6 +24,8 @@
 @Jpf.Controller()
 public class Controller extends PageFlowController
 {
+    private MyFormInterface _form = new MyForm();
+
     @Jpf.Action(
         forwards={
             @Jpf.Forward(name="index", path="index.jsp")
@@ -37,6 +39,7 @@
     }
 
     @Jpf.Action(
+        useFormBean="_form",
         forwards={
             @Jpf.Forward(name="index", path="index.jsp")
         }

Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?rev=266244&r1=266243&r2=266244&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Thu Sep  1 19:48:07 2005
@@ -4712,6 +4712,18 @@
          </categories>
       </test>
       <test>
+         <name>J898</name>
+         <description>Test to ensure that exception handling does not blow up with a CNFE when an exception handler method returns null.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>jiraBugs</category>
+         </categories>
+         <features>
+            <feature>Exceptions</feature>
+         </features>
+      </test>
+      <test>
          <name>JpfScopedFormsTest49</name>
          <description>JpfScopedFormsTest49</description>
          <webapp>coreWeb</webapp>

Added: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J898.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J898.xml?rev=266244&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J898.xml (added)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J898.xml Thu Sep  1 19:48:07 2005
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+   <ses:sessionName>J898</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>01 Sep 2005, 08:43:56.745 PM MDT</ses:startDate>
+   <ses:description>Test to ensure that exception handling does not blow up with a CNFE when an exception handler method returns null.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/bugs/j898/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>F4A196EC27F7043B9C358BA3FF884393</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>Country</ses:name>
+                  <ses:value>US</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>Language</ses:name>
+                  <ses:value>en</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>2j0atav2udqld</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=F4A196EC27F7043B9C358BA3FF884393; nde-textsize=16px; Country=US; Language=en; JSESSIONID=2j0atav2udqld</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html><head><title>Page Flow Error - Unresolvable Forward</title></head>
+ <body>
+ <h1>Page Flow Error - Unresolvable Forward</h1>
+ <table border="1" cellspacing="0">
+ <tr><td><b>Page Flow:</b></td><td>/bugs/j898/Controller.jpf</td></tr>
+ <tr><td><b>Action:</b></td><td>begin</td></tr>
+ <tr><td><b>Forward:</b></td><td>unresolvable</td></tr>
+ </table><br />
+ <span style="color:red">Unable to find a forward named <b>unresolvable</b> on action <b>begin</b>.</span>
+ </body></html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>01 Sep 2005, 08:44:01.372 PM MDT</ses:endDate>
+   <ses:testCount>1</ses:testCount>
+</ses:recorderSession>

Propchange: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J898.xml
------------------------------------------------------------------------------
    svn:eol-style = native