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/02/22 02:29:30 UTC

svn commit: r154755 - in incubator/beehive/trunk/netui: src/pageflow/org/apache/beehive/netui/pageflow/annotations/ src/tags-html/org/apache/beehive/netui/tags/html/ src/util/org/apache/beehive/netui/util/ test/webapps/drt/coreWeb/tags/popup/ test/webapps/drt/coreWeb/tags/popup/nested/ test/webapps/drt/testRecorder/config/ test/webapps/drt/testRecorder/tests/

Author: rich
Date: Mon Feb 21 17:29:25 2005
New Revision: 154755

URL: http://svn.apache.org/viewcvs?view=rev&rev=154755
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-212 : http://issues.apache.org/jira/browse/BEEHIVE-212

DRT/BVT: netui (WinXP)
BB: self (linux)


Added:
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/Controller.jpf   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/cool.gif   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/index.jsp   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/Controller.jpf   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/index.jsp   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PopupAttribute.xml   (with props)
Removed:
    incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PostOnForward.xml
Modified:
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java
    incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java
    incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
    incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
    incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
    incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java?view=diff&r1=154754&r2=154755
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java Mon Feb 21 17:29:25 2005
@@ -788,8 +788,8 @@
     }
     
     @Target( TYPE )
-            @Retention( RUNTIME )
-            public @interface FacesBacking
+    @Retention( RUNTIME )
+    public @interface FacesBacking
     {
     }
     

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java?view=diff&r1=154754&r2=154755
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/AnchorBase.java Mon Feb 21 17:29:25 2005
@@ -431,7 +431,7 @@
             //_state.onClick = entry;
         }
 
-        // if the user override the onclick we will ignore this
+        // if the user overrides the onclick we will ignore this
         String onclick = _state.getAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, ONCLICK);
         if (onclick == null) {
             if (_formSubmit && formAction != null) {
@@ -457,7 +457,7 @@
 
         trb.doStartTag(writer, _state);
 
-        //Emit javascript if this anchor needs to sumbit the form
+        //Emit javascript if this anchor needs to sumbit the form or open a popup window
         if (_formSubmit && formAction != null || idScript != null || _popupSupport != null) {
             StringBuilder script = new StringBuilder(32);
             StringBuilderRenderAppender scriptWriter = new StringBuilderRenderAppender(script);

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java?view=diff&r1=154754&r2=154755
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java Mon Feb 21 17:29:25 2005
@@ -19,23 +19,29 @@
 
 import org.apache.beehive.netui.core.urls.URLRewriterService;
 import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils;
+import org.apache.beehive.netui.pageflow.PageFlowUtils;
 import org.apache.beehive.netui.tags.ByRef;
 import org.apache.beehive.netui.tags.HtmlUtils;
 import org.apache.beehive.netui.tags.IHtmlAccessable;
+import org.apache.beehive.netui.tags.javascript.ScriptRequestState;
 import org.apache.beehive.netui.tags.internal.PageFlowTagUtils;
 import org.apache.beehive.netui.tags.rendering.AbstractHtmlState;
 import org.apache.beehive.netui.tags.rendering.InputSubmitTag;
 import org.apache.beehive.netui.tags.rendering.TagRenderingBase;
 import org.apache.beehive.netui.tags.rendering.WriteRenderAppender;
+import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender;
 import org.apache.beehive.netui.util.Bundle;
 import org.apache.beehive.netui.util.ParamHelper;
+import org.apache.beehive.netui.util.logging.Logger;
 import org.apache.struts.taglib.html.Constants;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.JspException;
+import javax.servlet.ServletContext;
 import java.util.HashMap;
 import java.util.Map;
+import java.net.URISyntaxException;
 
 /**
  * Generates a button on the page with the specified attributes.  The
@@ -65,16 +71,19 @@
  */
 public class Button
         extends HtmlFocusBaseTag
-        implements IUrlParams, IHtmlAccessable
+        implements IUrlParams, IHtmlAccessable, IHasPopupSupport
 {
+    private static final Logger logger = Logger.getInstance(Button.class);
+    
     public static final String ACTION_OVERRIDE = "actionOverride:";
 
     private InputSubmitTag.State _state = new InputSubmitTag.State();
 
-    private String _action;                // The action which will override the action on the form
-    private String _value;                 // The text of the button (this will override any body text).
-    private Map _params;                   // Any parameters to the submit
-    private String _targetScope;           // Target page flow scope; see comments on setTargetScope()
+    private String _action;                     // The action which will override the action on the form
+    private String _value;                      // The text of the button (this will override any body text).
+    private Map _params;                        // Any parameters to the submit
+    private String _targetScope;                // Target page flow scope; see comments on setTargetScope()
+    private PopupSupport _popupSupport = null;  // popup support, if the popup attribute is set to true
 
     /**
      * Return the name of the Tag.
@@ -184,6 +193,22 @@
     {
         _value = setNonEmptyValueAttribute(value);
     }
+    
+    /**
+     * Sets the popup indicator.
+     * @param popup - whether or not the button should open a popup window.
+     * @jsptagref.attributedescription Boolean.  If <code>popup</code> is set to true,
+     * the button will open a popup window.
+     * @jsptagref.databindable true
+     * @jsptagref.attributesyntaxvalue <i>boolean_popup</i>
+     * @netui:attribute required="false" rtexprvalue="true" type="boolean"
+     * description="If popup is set to true, the button will open a popup window.
+     * @netui.tldx:attribute
+     */
+    public void setPopup(boolean popup)
+    {
+        _popupSupport = new PopupSupport();
+    }
 
     /**
      * Adds a URL parameter to the generated hyperlink.
@@ -251,6 +276,11 @@
         // Generate an HTML element
         _state.disabled = isDisabled();
 
+        // Add parameters for popup window support.
+        if (_popupSupport != null) {
+            _popupSupport.addParams(this, request);
+        }
+        
         ByRef ref = new ByRef();
         if (_action != null) {
             boolean isAction = PageFlowTagUtils.isAction(request, _action);
@@ -297,6 +327,35 @@
             idScript = renderNameAndId(request, _state, null);
         }
 
+        // if the user overrides the onclick we will ignore this
+        if (getOnClick() == null) {
+            if (_popupSupport != null) {
+                String href = null;
+                if (_action != null) {
+                    ServletContext servletContext = pageContext.getServletContext();
+                    boolean forXML = TagRenderingBase.Factory.isXHTML(request);
+                    try {
+                        href = PageFlowUtils.getRewrittenActionURI(servletContext, request, response, _action, _params, null, forXML);
+                    } catch (URISyntaxException e) {
+                        // report the error...
+                        logger.error(Bundle.getString("Tags_URISyntaxException"));
+                        String s = Bundle.getString("Tags_Button_URLException",
+                                                    new Object[]{_action, e.getMessage()});
+                        registerTagError(s, e);
+                    }
+                }
+                else {
+                    Form parentForm = getNearestForm();
+                    href = HtmlUtils.addParams(parentForm.getActionUrl(), _params, response.getCharacterEncoding());
+                }
+                
+                if (href != null) {
+                    href = response.encodeURL(href);
+                    setOnClick(_popupSupport.getOnClick(href));
+                }
+            }
+        }
+        
         // report any errors that may have been generated.
         if (hasErrors())
             return reportAndExit(EVAL_PAGE);
@@ -306,9 +365,19 @@
         br.doStartTag(writer, _state);
         br.doEndTag(writer);
 
-        if (idScript != null)
-            write(idScript);
-
+        //Emit javascript if this button needs to sumbit the form or open a popup window
+        if (idScript != null || _popupSupport != null) {
+            ScriptRequestState srs = ScriptRequestState.getScriptRequestState(request);
+            StringBuilder script = new StringBuilder(32);
+            StringBuilderRenderAppender scriptWriter = new StringBuilderRenderAppender(script);
+
+            if (_popupSupport != null)
+                _popupSupport.writeScript(request, srs, getScriptReporter(), scriptWriter);
+            if (idScript != null)
+                scriptWriter.append(idScript);
+            write(script.toString());
+        }
+        
         // Evaluate the remainder of this page
         localRelease();
         return EVAL_PAGE;
@@ -326,6 +395,7 @@
         _value = null;
         _params = null;
         _targetScope = null;
+        _popupSupport = null;
     }
 
     /* ==================================================================
@@ -391,5 +461,10 @@
     public void setTabindex(int tabindex)
     {
         _state.registerAttribute(AbstractHtmlState.ATTR_GENERAL, TABINDEX, Integer.toString(tabindex));
+    }
+
+    public PopupSupport getPopupSupport()
+    {
+        return _popupSupport;
     }
 }

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java?view=diff&r1=154754&r2=154755
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java Mon Feb 21 17:29:25 2005
@@ -232,6 +232,8 @@
     private FlowController _flowController = null; // The flow controller (page flow or shared flow).
     private boolean _formSubmit = false;
     private Map _params;
+    private String _actionUrl;                     // The generated action URL.
+    private LinkedHashMap<String, List<String>> _extraHiddenParams = null; // hidden form fields based on URL parameters
 
     /**
      * Return the name of the Tag.
@@ -637,6 +639,20 @@
             pageContext.setAttribute(Constants.BEAN_KEY, bean, PageContext.REQUEST_SCOPE);
             ImplicitObjectUtil.loadActionForm(pageContext, bean);
         }
+        
+        // Create the action URL here, so child tags can access it.
+        try {
+            HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
+            _extraHiddenParams = new LinkedHashMap<String, List<String>>();
+            _actionUrl = rewriteActionURL(servletContext, request, response, _extraHiddenParams);
+        }
+        catch (URISyntaxException e) {
+            // report the error...
+            logger.error(Bundle.getString("Tags_URISyntaxException"));
+            String s = Bundle.getString("Tags_Form_URLException",
+                    new Object[]{_state.action, e.getMessage()});
+            registerTagError(s, e);
+        }
 
         // Continue processing this page
         return EVAL_BODY_BUFFERED;
@@ -687,22 +703,10 @@
         // Encode the action
         // If the rewritten form action contains request parameters, turn them into hidden fields --
         // it's not legal to include them in the action URI on a GET.
-        LinkedHashMap<String, List<String>> extraHiddenParams = new LinkedHashMap<String, List<String>>();
         HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
-        String actionUrl = null;
-        try {
-            actionUrl = rewriteActionURL(servletContext, request, response, extraHiddenParams);
-        }
-        catch (URISyntaxException e) {
-            // report the error...
-            logger.error(Bundle.getString("Tags_URISyntaxException"));
-            String s = Bundle.getString("Tags_Form_URLException",
-                    new Object[]{_state.action, e.getMessage()});
-            registerTagError(s, e);
-        }
 
-        if (actionUrl != null) {
-            _state.action = response.encodeURL(actionUrl);
+        if (_actionUrl != null) {
+            _state.action = response.encodeURL(_actionUrl);
         }
 
         WriteRenderAppender writer = new WriteRenderAppender(pageContext);
@@ -745,9 +749,9 @@
         }
 
         // add the extra hidden parameters
-        if (extraHiddenParams != null && extraHiddenParams.size() > 0) {
-            for (String name : extraHiddenParams.keySet()) {
-                for ( String value : extraHiddenParams.get( name ) )
+        if (_extraHiddenParams != null && _extraHiddenParams.size() > 0) {
+            for (String name : _extraHiddenParams.keySet()) {
+                for ( String value : _extraHiddenParams.get( name ) )
                 {
                     writeHiddenParam(name, value, writer, request, true);
                 }
@@ -906,6 +910,14 @@
     }
 
     /**
+     * Get the generated action URL, based on the action attribute.
+     */ 
+    String getActionUrl()
+    {
+        return _actionUrl;
+    }
+
+    /**
      * Release any acquired resources.
      */
     protected void localRelease()
@@ -936,6 +948,8 @@
         _flowController = null;
         _formSubmit = false;
         _params = null;
+        _actionUrl = null;
+        _extraHiddenParams = null;
     }
 
     /**

Modified: incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties?view=diff&r1=154754&r2=154755
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties (original)
+++ incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties Mon Feb 21 17:29:25 2005
@@ -97,6 +97,7 @@
 Tags_Anchor_URLException=URL Exception calculating the URL: {0}
 Tags_Anchor_ForwardError=URL Exception: {0}.  This may be caused because an ActionMapping cannot be found (the page was not accessed through an Action).
 Tags_Form_URLException=The action ''{0}'' for the Form is malformed: {1}
+Tags_Button_URLException=The action ''{0}'' for the Button is malformed: {1}
 Tags_Anchor_InvalidAnchorURI=The Anchor URI is invalid; it must be exactly one of {0}
 Tags_Image_URLException=The src ''{0}'' for the Image is malformed: {1}
 Tags_Rollover_Image_URLException=The src ''{0}'' for the rollover Image is malformed: {1}

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/Controller.jpf
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/Controller.jpf?view=auto&rev=154755
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/Controller.jpf (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/Controller.jpf Mon Feb 21 17:29:25 2005
@@ -0,0 +1,16 @@
+package tags.popup;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
+@Jpf.Controller(
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="index.jsp"),
+        @Jpf.SimpleAction(name="goNested", path="nested/Controller.jpf"),
+        @Jpf.SimpleAction(name="goNested2", path="nested/Controller.jpf"),
+        @Jpf.SimpleAction(name="nestedDone", forwardRef="_auto")
+    }
+)
+public class Controller extends PageFlowController
+{
+}

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

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/cool.gif
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/cool.gif?view=auto&rev=154755
==============================================================================
Binary file - no diff available.

Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/cool.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/index.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/index.jsp?view=auto&rev=154755
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/index.jsp (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/index.jsp Mon Feb 21 17:29:25 2005
@@ -0,0 +1,42 @@
+<%@ 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>
+
+        anchor:
+        <netui:anchor action="goNested" popup="true">
+            <netui:configurePopup width="200" height="100"/>
+            goNested
+        </netui:anchor>
+
+        <br/>
+        imageAnchor: 
+        <netui:imageAnchor action="goNested" src="cool.gif" popup="true">
+            <netui:configurePopup width="200" height="100"/>
+        </netui:imageAnchor>
+
+        <netui:form action="goNested">
+            button (uses form's action):
+            <netui:button value="goNested" popup="true">
+                <netui:configurePopup width="200" height="100"/>
+            </netui:button>
+
+            <br/>
+            button (overrides action):
+            <netui:button action="goNested2" value="goNested2" popup="true">
+                <netui:configurePopup width="200" height="100"/>
+            </netui:button>
+        </netui:form>
+    </netui:body>
+</netui:html>
+
+  
+

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

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/Controller.jpf
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/Controller.jpf?view=auto&rev=154755
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/Controller.jpf (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/Controller.jpf Mon Feb 21 17:29:25 2005
@@ -0,0 +1,15 @@
+package tags.popup.nested;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
+@Jpf.Controller(
+    nested=true,
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="index.jsp"),
+        @Jpf.SimpleAction(name="done", returnAction="nestedDone")
+    }
+)
+public class Controller extends PageFlowController
+{
+}

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

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/index.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/index.jsp?view=auto&rev=154755
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/index.jsp (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/index.jsp Mon Feb 21 17:29:25 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>
+
+        <netui:anchor action="done">done</netui:anchor>
+    </netui:body>
+</netui:html>
+
+  
+

Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/tags/popup/nested/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?view=diff&r1=154754&r2=154755
==============================================================================
--- 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 Mon Feb 21 17:29:25 2005
@@ -5072,9 +5072,19 @@
          </features>
       </test>
       <test>
-         <name>PostOnForward</name>
-         <description>PostOnForward</description>
+         <name>PopupAttribute</name>
+         <description>Test of the 'popup' attribute on anchor, imageAnchor, and button.</description>
          <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>tags</category>
+         </categories>
+         <features>
+            <feature>Popup</feature>
+            <feature>Form</feature>
+            <feature>Nesting</feature>
+         </features>
       </test>
       <test>
          <name>PrimitiveOptionsDS</name>

Added: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PopupAttribute.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PopupAttribute.xml?view=auto&rev=154755
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PopupAttribute.xml (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PopupAttribute.xml Mon Feb 21 17:29:25 2005
@@ -0,0 +1,774 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+   <ses:sessionName>PopupAttribute</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>21 Feb 2005, 03:57:45.281 PM MST</ses:startDate>
+   <ses:description>Test of the 'popup' attribute on anchor, imageAnchor, and button.</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/tags/popup/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+&lt;html lang="en">
+
+    &lt;head>
+        &lt;base href="http://localhost:8080/coreWeb/tags/popup/index.jsp">
+    &lt;/head>
+    &lt;body>
+        &lt;h3>/tags/popup/Controller.jpf&lt;/h3>
+
+        anchor:
+        &lt;a href="/coreWeb/tags/popup/goNested.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_0" onclick="netui_popup('/coreWeb/tags/popup/goNested.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_0','','width=200,height=100',false);return false;">goNested&lt;/a>
+
+        &lt;br/>
+        imageAnchor: 
+        &lt;a href="/coreWeb/tags/popup/goNested.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_1" onclick="netui_popup('/coreWeb/tags/popup/goNested.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_1','','width=200,height=100',false);return false;">&lt;img src="/coreWeb/tags/popup/cool.gif">&lt;/a>
+
+        &lt;form action="/coreWeb/tags/popup/goNested.do" method="post">
+            button (uses form's action):
+            &lt;input type="submit" value="goNested" onclick="netui_popup('/coreWeb/tags/popup/goNested.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_3','','width=200,height=100',false);return false;">
+
+            &lt;br/>
+            button (overrides action):
+            &lt;input type="submit" name="actionOverride:goNested2?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_4" value="goNested2" onclick="netui_popup('/coreWeb/tags/popup/goNested2.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_4','','width=200,height=100',false);return false;">
+        &lt;/form>
+    &lt;script language="JavaScript" type="text/JavaScript">
+&lt;!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+function netui_popup(url, name, features, replace)
+{
+  wnd=open(url, name, features, replace);
+  if (wnd.opener == null) wnd.opener=self;
+}
+
+function Netui_OnPopupDone_0(map)
+{
+  for (var i in map)
+  {
+    document.getElementById(i).value=map[i];
+  }
+}
+
+function Netui_OnPopupDone_1(map)
+{
+  for (var i in map)
+  {
+    document.getElementById(i).value=map[i];
+  }
+}
+
+function Netui_OnPopupDone_3(map)
+{
+  for (var i in map)
+  {
+    document.getElementById(i).value=map[i];
+  }
+}
+
+function Netui_OnPopupDone_4(map)
+{
+  for (var i in map)
+  {
+    document.getElementById(i).value=map[i];
+  }
+}
+-->
+&lt;/script>&lt;/body>
+
+&lt;/html></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>2</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/tags/popup/goNested.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_netui:returnActionCallback</ses:name>
+                  <ses:value>Netui_OnPopupDone_0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_netui:returnActionViewRenderer</ses:name>
+                  <ses:value>org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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>referer</ses:name>
+                  <ses:value>http://localhost:8080/coreWeb/tags/popup/Controller.jpf</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.5) Gecko/20041107 Firefox/1.0</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/tags/popup/nested/index.jsp">
+    </head>
+    <body>
+        <h3>/tags/popup/nested/Controller.jpf</h3>
+
+        <a href="/coreWeb/tags/popup/nested/done.do">done</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>3</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/tags/popup/nested/done.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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>referer</ses:name>
+                  <ses:value>http://localhost:8080/coreWeb/tags/popup/goNested.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_0</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;script language="JavaScript" type="text/JavaScript">
+&lt;!--
+var map = new Object();
+top.opener.Netui_OnPopupDone_0(map);
+window.close();
+-->
+&lt;/script></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>4</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/tags/popup/goNested.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_netui:returnActionCallback</ses:name>
+                  <ses:value>Netui_OnPopupDone_1</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_netui:returnActionViewRenderer</ses:name>
+                  <ses:value>org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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>referer</ses:name>
+                  <ses:value>http://localhost:8080/coreWeb/tags/popup/Controller.jpf</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.5) Gecko/20041107 Firefox/1.0</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/tags/popup/nested/index.jsp">
+    </head>
+    <body>
+        <h3>/tags/popup/nested/Controller.jpf</h3>
+
+        <a href="/coreWeb/tags/popup/nested/done.do">done</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>5</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/tags/popup/nested/done.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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>referer</ses:name>
+                  <ses:value>http://localhost:8080/coreWeb/tags/popup/goNested.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_1</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;script language="JavaScript" type="text/JavaScript">
+&lt;!--
+var map = new Object();
+top.opener.Netui_OnPopupDone_1(map);
+window.close();
+-->
+&lt;/script></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>6</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/tags/popup/goNested.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_netui:returnActionCallback</ses:name>
+                  <ses:value>Netui_OnPopupDone_3</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_netui:returnActionViewRenderer</ses:name>
+                  <ses:value>org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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>referer</ses:name>
+                  <ses:value>http://localhost:8080/coreWeb/tags/popup/Controller.jpf</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.5) Gecko/20041107 Firefox/1.0</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/tags/popup/nested/index.jsp">
+    </head>
+    <body>
+        <h3>/tags/popup/nested/Controller.jpf</h3>
+
+        <a href="/coreWeb/tags/popup/nested/done.do">done</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>7</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/tags/popup/nested/done.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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>referer</ses:name>
+                  <ses:value>http://localhost:8080/coreWeb/tags/popup/goNested.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_3</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;script language="JavaScript" type="text/JavaScript">
+&lt;!--
+var map = new Object();
+top.opener.Netui_OnPopupDone_3(map);
+window.close();
+-->
+&lt;/script></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>8</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/tags/popup/goNested2.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_netui:returnActionCallback</ses:name>
+                  <ses:value>Netui_OnPopupDone_4</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_netui:returnActionViewRenderer</ses:name>
+                  <ses:value>org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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>referer</ses:name>
+                  <ses:value>http://localhost:8080/coreWeb/tags/popup/Controller.jpf</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.5) Gecko/20041107 Firefox/1.0</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/tags/popup/nested/index.jsp">
+    </head>
+    <body>
+        <h3>/tags/popup/nested/Controller.jpf</h3>
+
+        <a href="/coreWeb/tags/popup/nested/done.do">done</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>9</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/tags/popup/nested/done.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>611585B7ECFD1806550010F3F07FABD6</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=611585B7ECFD1806550010F3F07FABD6</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>referer</ses:name>
+                  <ses:value>http://localhost:8080/coreWeb/tags/popup/goNested2.do?_netui%3AreturnActionViewRenderer=org.apache.beehive.netui.tags.internal.ReturnActionViewRenderer&amp;_netui%3AreturnActionCallback=Netui_OnPopupDone_4</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;script language="JavaScript" type="text/JavaScript">
+&lt;!--
+var map = new Object();
+top.opener.Netui_OnPopupDone_4(map);
+window.close();
+-->
+&lt;/script></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>21 Feb 2005, 03:58:13.131 PM MST</ses:endDate>
+   <ses:testCount>9</ses:testCount>
+</ses:recorderSession>

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