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/10/05 06:50:56 UTC
svn commit: r294989 - in /beehive/trunk/netui:
src/pageflow/org/apache/beehive/netui/pageflow/
src/pageflow/org/apache/beehive/netui/pageflow/internal/
test/webapps/drt/coreWeb/bugs/j962/
test/webapps/drt/coreWeb/bugs/j962/noPageFlow/ test/webapps/drt/...
Author: rich
Date: Tue Oct 4 21:50:41 2005
New Revision: 294989
URL: http://svn.apache.org/viewcvs?rev=294989&view=rev
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-962 : Assertion error when creating a page flow through FlowControllerFactory.createPageFlow, and onCreate() throws an exception
tests: bvt in netui (WinXP)
BB: bvt in netui (linux)
Added:
beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/
beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/Controller.java (with props)
beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/index.jsp (with props)
beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/noPageFlow/
beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/noPageFlow/createPageFlow.jsp (with props)
beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J962.xml (with props)
Modified:
beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java
beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java
beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java?rev=294989&r1=294988&r2=294989&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowControllerFactory.java Tue Oct 4 21:50:41 2005
@@ -27,6 +27,7 @@
import org.apache.beehive.netui.util.config.bean.SharedFlowRefConfig;
import org.apache.beehive.netui.pageflow.internal.InternalUtils;
import org.apache.beehive.netui.pageflow.internal.InternalConstants;
+import org.apache.beehive.netui.pageflow.internal.PageFlowRequestWrapper;
import org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig;
import org.apache.beehive.netui.pageflow.handler.ReloadableClassHandler;
import org.apache.beehive.netui.pageflow.handler.Handlers;
@@ -209,6 +210,8 @@
HttpServletResponse response = context.getHttpResponse();
ServletContext servletContext = getServletContext();
PageFlowController retVal = null;
+ // Make sure our request wrapper is in place.
+ request = PageFlowRequestWrapper.wrapRequest(request);
String modulePath = InternalUtils.inferModulePathFromClassName( pageFlowClass.getName() );
ModuleConfig mc = ensureModule( modulePath, request, servletContext );
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java?rev=294989&r1=294988&r2=294989&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java Tue Oct 4 21:50:41 2005
@@ -225,19 +225,14 @@
public static PageFlowRequestWrapper wrapRequest( HttpServletRequest req )
{
- PageFlowRequestWrapper retVal;
if ( req instanceof PageFlowRequestWrapper )
{
- retVal = ( PageFlowRequestWrapper ) req;
- }
- else
- {
- retVal = new PageFlowRequestWrapper( req );
+ return (PageFlowRequestWrapper) req;
}
- //
+ PageFlowRequestWrapper retVal = new PageFlowRequestWrapper( req );
+
// If there's *any* PageFlowRequestWrapper up the chain of wrapped requests, we must copy values from that.
- //
ServletRequest j = retVal.getRequest();
while ( j instanceof HttpServletRequestWrapper )
{
Added: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/Controller.java?rev=294989&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/Controller.java (added)
+++ beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/Controller.java Tue Oct 4 21:50:41 2005
@@ -0,0 +1,35 @@
+/*
+ * 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.j962;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+@Jpf.Controller(
+ simpleActions={
+ @Jpf.SimpleAction(name="begin", path="index.jsp")
+ }
+)
+public class Controller extends PageFlowController
+{
+ protected void onCreate()
+ {
+ throw new IllegalStateException("Intentional exception");
+ }
+}
Propchange: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/Controller.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/index.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/index.jsp?rev=294989&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/index.jsp (added)
+++ beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/index.jsp Tue Oct 4 21:50:41 2005
@@ -0,0 +1,19 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%>
+<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%>
+
+
+<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <netui:body>
+ <h3>${pageFlow.URI}</h3>
+
+ Index page.
+ </netui:body>
+</netui:html>
+
+
+
Propchange: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/index.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/noPageFlow/createPageFlow.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/noPageFlow/createPageFlow.jsp?rev=294989&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/noPageFlow/createPageFlow.jsp (added)
+++ beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/noPageFlow/createPageFlow.jsp Tue Oct 4 21:50:41 2005
@@ -0,0 +1,28 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ page import="org.apache.beehive.netui.pageflow.PageFlowController"%>
+<%@ page import="org.apache.beehive.netui.pageflow.FlowControllerFactory"%>
+<%@ page import="org.apache.beehive.netui.pageflow.RequestContext"%>
+
+
+<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <body>
+ <p>
+ This test ensures that we don't get an assertion error if we create a page flow controller
+ through FlowControllerFactory, even when its onCreate() throws an exception.
+ </p>
+
+ <%
+ FlowControllerFactory f = FlowControllerFactory.get(pageContext.getServletContext());
+ PageFlowController pfc = f.createPageFlow(new RequestContext(request, response), "bugs.j962.Controller");
+ %>
+
+ Page flow instance is: <%= pfc.getClass().getName() %>
+
+ </body>
+</netui:html>
+
+
+
Propchange: beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j962/noPageFlow/createPageFlow.jsp
------------------------------------------------------------------------------
svn:eol-style = native
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=294989&r1=294988&r2=294989&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 Tue Oct 4 21:50:41 2005
@@ -4761,6 +4761,16 @@
</features>
</test>
<test>
+ <name>J962</name>
+ <description>Test to ensure that we don't get an assertion error if we create a page flow controller through FlowControllerFactory, even when its onCreate() throws an exception.</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>bvt.struts11</category>
+ <category>jiraBugs</category>
+ </categories>
+ </test>
+ <test>
<name>JpfScopedFormsTest49</name>
<description>JpfScopedFormsTest49</description>
<webapp>coreWeb</webapp>
Added: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J962.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J962.xml?rev=294989&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J962.xml (added)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J962.xml Tue Oct 4 21:50:41 2005
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>J962</ses:sessionName>
+ <ses:tester>rich</ses:tester>
+ <ses:startDate>04 Oct 2005, 10:46:15.339 PM MDT</ses:startDate>
+ <ses:description>This test ensures that we don't get an assertion error if we create a page flow controller through FlowControllerFactory, even when its onCreate() throws an exception.</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/j962/noPageFlow/createPageFlow.jsp</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>06F26FDA48BA9142BA72A2B50F9CADC4</ses:value>
+ </ses:cookie>
+ <ses:cookie>
+ <ses:name>Language</ses:name>
+ <ses:value>en</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: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=06F26FDA48BA9142BA72A2B50F9CADC4; Language=en; nde-textsize=16px; Country=US</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.12) Gecko/20050915 Firefox/1.0.7</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><![CDATA[<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <body>
+ <p>
+ This test ensures that we don't get an assertion error if we create a page flow controller
+ through FlowControllerFactory, even when its onCreate() throws an exception.
+ </p>
+
+
+
+ Page flow instance is: bugs.j962.Controller
+
+ </body>
+</netui:html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>04 Oct 2005, 10:46:25.904 PM MDT</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file
Propchange: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J962.xml
------------------------------------------------------------------------------
svn:eol-style = native