Author: rich
Date: Fri Apr 29 17:00:07 2005
New Revision: 165363

URL: http://svn.apache.org/viewcvs?rev=165363&view=rev
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-587 : Controls contextual 
service for page flows (PageFlowController) is broken

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


Added:
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControl.java
   (with props)
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControlImpl.jcs
   (with props)
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/Controller.jpf
   (with props)
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/index.jsp
   (with props)
    
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ControlsContextualServices.xml
   (with props)
Modified:
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowBeanContext.java
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowServiceProvider.java
    
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java?rev=165363&r1=165362&r2=165363&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java
 Fri Apr 29 17:00:07 2005
@@ -83,7 +83,7 @@
         //
         Field pageFlowMemberField = getCachedInfo().getPageFlowMemberField();
         
-        // TODO v1: should we add a compiler warning if this field isn't 
transient?  All this reinitialization logic is
+        // TODO: should we add a compiler warning if this field isn't 
transient?  All this reinitialization logic is
         // for the transient case.
         if ( fieldIsUninitialized( pageFlowMemberField ) )
         {

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java?rev=165363&r1=165362&r2=165363&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java
 Fri Apr 29 17:00:07 2005
@@ -27,7 +27,7 @@
 /**
  * @exclude
  */ 
-// TODO v1: comment this and make it public
+// TODO v1: comment
 public interface ServletContainerAdapter
         extends Adapter
 {

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java?rev=165363&r1=165362&r2=165363&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java
 Fri Apr 29 17:00:07 2005
@@ -109,7 +109,6 @@
         // Retrieve the control bean context from the request, and if it's not 
there, from the session.
         // Using the request first ensures that we don't get confused by 
session invalidation.
         //
-        // TODO v1: create our own context, with current-pageflow info.
         ControlBeanContext beanContext = ( ControlBeanContext ) 
request.getAttribute( CONTROL_CONTEXT_CLASSNAME );
         if ( beanContext != null ) return beanContext;
         

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowBeanContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowBeanContext.java?rev=165363&r1=165362&r2=165363&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowBeanContext.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowBeanContext.java
 Fri Apr 29 17:00:07 2005
@@ -19,6 +19,7 @@
 
 import org.apache.beehive.controls.runtime.servlet. ServletBeanContext;
 import org.apache.beehive.netui.pageflow.ActionResolver;
+import org.apache.beehive.netui.pageflow.PageFlowController;
 
 import javax.servlet.ServletRequest;
 
@@ -42,6 +43,6 @@
      public void initialize()
      {
          super.initialize();
-         addService( ActionResolver.class, 
PageFlowServiceProvider.getProvider() );
+         addService( PageFlowController.class, 
PageFlowServiceProvider.getProvider() );
      }
 }

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowServiceProvider.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowServiceProvider.java?rev=165363&r1=165362&r2=165363&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowServiceProvider.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowServiceProvider.java
 Fri Apr 29 17:00:07 2005
@@ -59,7 +59,6 @@
             if ( ! ( request instanceof HttpServletRequest ) ) return null;
             return PageFlowUtils.getCurrentPageFlow( ( HttpServletRequest ) 
request );
         }
-        // TODO v1: add Shared Flow initialization
 
         return null;
     }

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControl.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControl.java?rev=165363&view=auto
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControl.java
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControl.java
 Fri Apr 29 17:00:07 2005
@@ -0,0 +1,9 @@
+package pageFlowCore.controlsContextualServices;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
[EMAIL PROTECTED]
+public interface HelloControl
+{ 
+    public String sayHi();
+}

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControlImpl.jcs
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControlImpl.jcs?rev=165363&view=auto
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControlImpl.jcs
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControlImpl.jcs
 Fri Apr 29 17:00:07 2005
@@ -0,0 +1,17 @@
+package pageFlowCore.controlsContextualServices;
+
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+
[EMAIL PROTECTED](isTransient=true)
+public class HelloControlImpl implements HelloControl
+{ 
+    @Context
+    PageFlowController pageFlow;
+
+    public String sayHi()
+    {
+        return "Hi.  The page flow URI is: " + pageFlow.getURI();
+    }
+}

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/controlsContextualServices/HelloControlImpl.jcs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/Controller.jpf
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/Controller.jpf?rev=165363&view=auto
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/Controller.jpf
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/Controller.jpf
 Fri Apr 29 17:00:07 2005
@@ -0,0 +1,23 @@
+package pageFlowCore.controlsContextualServices;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+import org.apache.beehive.controls.api.bean.Control;
+
[EMAIL PROTECTED]()
+public class Controller extends PageFlowController
+{
+    @Control
+    HelloControl _hello;
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="index", path="index.jsp")
+        }
+    )
+    public Forward begin()
+    {
+        
+        return new Forward( "index", "message", _hello.sayHi() );
+    }
+}

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/Controller.jpf
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/index.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/index.jsp?rev=165363&view=auto
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/index.jsp
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/index.jsp
 Fri Apr 29 17:00:07 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>
+
+        message from control: <b>${pageInput.message}</b>
+    </netui:body>
+</netui:html>
+
+  
+

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/controlsContextualServices/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?rev=165363&r1=165362&r2=165363&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
 (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
 Fri Apr 29 17:00:07 2005
@@ -1814,6 +1814,18 @@
          </features>
       </test>
       <test>
+         <name>ControlsContextualServices</name>
+         <description>Test of marking a PageFlowController with the @Control 
annotation inside a control implementation, which makes the current page flow 
intance available to the control.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+         </categories>
+         <features>
+            <feature>Controls</feature>
+         </features>
+      </test>
+      <test>
          <name>Cr121496</name>
          <description>Multiple forms with parameter and anchor 
posting</description>
          <webapp>coreWeb</webapp>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ControlsContextualServices.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ControlsContextualServices.xml?rev=165363&view=auto
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ControlsContextualServices.xml
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ControlsContextualServices.xml
 Fri Apr 29 17:00:07 2005
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>ControlsContextualServices</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>29 Apr 2005, 05:25:59.448 PM MDT</ses:startDate>
+   <ses:description>Test of marking a PageFlowController with the @Control 
annotation inside a control implementation, which makes the current page flow 
intance available to the control.</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/pageFlowCore/controlsContextualServices/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>5077A026D409D1910A8F0A21243A1C3C</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.5</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=5077A026D409D1910A8F0A21243A1C3C</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.7) Gecko/20050414 Firefox/1.0.3</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+    <head>
+        <base 
href="http://localhost:8080/coreWeb/pageFlowCore/controlsContextualServices/index.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/controlsContextualServices/Controller.jpf</h3>
+
+        message from control: <b>Hi.  The page flow URI is: 
/pageFlowCore/controlsContextualServices/Controller.jpf</b>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>29 Apr 2005, 05:26:05.166 PM MDT</ses:endDate>
+   <ses:testCount>1</ses:testCount>
+</ses:recorderSession>

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


Reply via email to