Author: dolander
Date: Thu Jul 29 19:54:58 2004
New Revision: 30961
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/fileupload/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/fileupload/nullbinding/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/fileupload/nullbinding/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/fileupload/nullbinding/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/bean/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/bean/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/bean/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/errors/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/errors/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/errors/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/nullbinding/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/nullbinding/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/nullbinding/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFileUploadNullBinding.xml
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormBean.xml
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormBeanError.xml
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormErrors.xml
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormNullBinding.xml
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FileUpload.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/coreWeb/coretags/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Log:
Add support for JSP 2.0 EL default value handling on the FileUpload and Form
tags.
Add BVT for null binding tests on FileUpload and Form
Add BVT for Initialization beans on Form tags.
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FileUpload.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FileUpload.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FileUpload.java
Thu Jul 29 19:54:58 2004
@@ -277,6 +277,12 @@
idScript = addTagIdMapping(tagId, realName);
}
+ if (hasErrors()) {
+ reportErrors();
+ localRelease();
+ return EVAL_PAGE;
+ }
+
StringBuilder results = new StringBuilder(32);
TagRenderingBase br =
TagRenderingBase.Factory.getRendering(TagRenderingBase.INPUT_FILE_TAG, req);
br.doStartTag(results, _state);
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
==============================================================================
---
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
Thu Jul 29 19:54:58 2004
@@ -243,6 +243,7 @@
private InputHiddenTag.State _hiddenState = new InputHiddenTag.State();
private String _focus = null; // The name of the field to
receive focus, if any.
+ private boolean _reportedError = false;
// @todo: did we support location in 8.1? How?
private String _location = null; // The location hash to
append to the url.
private String _scope = null; // The scope (request or
session) under which our associated bean is stored
@@ -323,8 +324,9 @@
* @netui.tldx:attribute reftype="netui-action-url"
*/
public void setAction(String action)
+ throws JspException
{
- _state.action = action;
+ _state.action = setRequiredValueAttribute(action,"action");;
}
/**
@@ -375,7 +377,7 @@
*/
public void setFocus(String focus)
{
- _focus = focus;
+ _focus = setNonEmptyValueAttribute(focus);
}
/**
@@ -410,8 +412,14 @@
* @netui.tldx:attribute category="misc"
*/
public void setMethod(String method)
+ throws JspException
{
- _state.method = method;
+ if (FORM_POST.equals(method) || FORM_GET.equals(method)) {
+ _state.method = method;
+ return;
+ }
+ String s = Bundle.getString("Tags_ButtonTypeError", new
Object[]{method});
+ registerTagError(s, null);
}
/**
@@ -429,8 +437,10 @@
* @netui.tldx:attribute category="misc"
*/
public void setName(String name)
+ throws JspException
{
- _state.name = name;
+ // @todo: we need to verify what happens if this is null and type is
set.
+ _state.name = setRequiredValueAttribute(name,"name");
}
/**
@@ -448,8 +458,7 @@
*/
public void setOnReset(String onReset)
{
- AbstractHtmlState tsh = getState();
- tsh.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, ONRESET,
onReset);
+ _state.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, ONRESET,
onReset);
}
/**
@@ -467,8 +476,7 @@
*/
public void setOnSubmit(String onSubmit)
{
- AbstractHtmlState tsh = getState();
- tsh.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, ONSUBMIT,
onSubmit);
+ _state.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, ONSUBMIT,
onSubmit);
}
/**
@@ -489,8 +497,9 @@
* @netui.tldx:attribute category="misc"
*/
public void setScope(String scope)
+ throws JspException
{
- _scope = scope;
+ _scope = setRequiredValueAttribute(scope,"scope");
}
/**
@@ -526,8 +535,9 @@
* @netui.tldx:attribute category="misc"
*/
public void setType(String type)
+ throws JspException
{
- _type = type;
+ _type = setRequiredValueAttribute(type,"type");
}
/**
@@ -602,7 +612,16 @@
*/
public int doStartTag() throws JspException
{
- //Error out if there is a parent form
+ // report all errors in the attributes. If the values are in error
then we will
+ // not process the form content.
+ if (hasErrors()) {
+ reportErrors();
+ _reportedError=true;
+ return SKIP_BODY;
+ }
+
+ // Error out if there is a parent form
+ // @todo: should this just be a design time test?
if (getNearestForm() != null) {
registerTagError(Bundle.getString("Tags_FormParentForm"), null);
}
@@ -611,7 +630,8 @@
lookup();
if (hasErrors()) {
reportErrors();
- return EVAL_PAGE;
+ _reportedError=true;
+ return SKIP_BODY;
}
// Create an appropriate "form" element based on our parameters
@@ -663,7 +683,8 @@
if (hasErrors()) {
reportErrors();
- return EVAL_PAGE;
+ _reportedError=true;
+ return SKIP_BODY;
}
if (bean instanceof ActionForm) {
@@ -677,8 +698,7 @@
}
}
if (bean != null) {
- pageContext.setAttribute(Constants.BEAN_KEY, bean,
- PageContext.REQUEST_SCOPE);
+ pageContext.setAttribute(Constants.BEAN_KEY,
bean,PageContext.REQUEST_SCOPE);
pageContext.setAttribute("actionForm", bean);
}
@@ -708,6 +728,10 @@
*/
public int doEndTag() throws JspException
{
+ if (_reportedError) {
+ localRelease();
+ return EVAL_PAGE;
+ }
String idScript = null;
// Create an appropriate "form" element based on our parameters
@@ -739,8 +763,7 @@
// it's not legal to include them in the action URI on a GET.
int query = actionUrl.indexOf('?');
Map extraHiddenParams = null;
- if (query != -1
- && _state.method != null &&
_state.method.equalsIgnoreCase(FORM_GET)
+ if (query != -1 && _state.method != null &&
_state.method.equalsIgnoreCase(FORM_GET)
&&
!URLRewriterService.allowParamsOnFormAction(pageContext.getServletContext(),
request)) {
extraHiddenParams = new LinkedHashMap();
StringTokenizer tok = new
StringTokenizer(actionUrl.substring(query + 1), "&");
@@ -765,16 +788,16 @@
br.doStartTag(results, _state);
// for the form, lets output the contents of the body and the end tag
and exit if there are errors
- if (hasErrors()) {
- reportErrors();
- if (_text != null)
- results.append(_text);
- br.doEndTag(results);
- write(results.toString());
-
- localRelease();
- return EVAL_PAGE;
- }
+ //if (hasErrors()) {
+ // reportErrors();
+ // if (_text != null)
+ // results.append(_text);
+ // br.doEndTag(results);
+ // write(results.toString());
+
+ // localRelease();
+ // return EVAL_PAGE;
+ //}
// Add a transaction token (if present in our session)
HttpSession session = pageContext.getSession();
@@ -908,6 +931,7 @@
_focusMap = null;
if (_idList != null)
_idList.clear();
+ _reportedError = false;
_appConfig = null;
_setRealName = false;
_params = null;
@@ -918,7 +942,8 @@
* <code>type</code> properties if necessary.
* @throws JspException if a required value cannot be looked up
*/
- private void lookup() throws JspException
+ private void lookup()
+ throws JspException
{
ServletContext servletContext = pageContext.getServletContext();
HttpServletRequest request = (HttpServletRequest)
pageContext.getRequest();
@@ -935,6 +960,7 @@
}
_servlet = (ActionServlet)
servletContext.getAttribute(Globals.ACTION_SERVLET_KEY);
+ // check to see if this is a bad action
boolean isAction = PageflowTagUtils.isAction(request, response,
servletContext, _state.action);
if (!isAction) {
registerTagError(Bundle.getString("Tags_BadAction",
_state.action), null);
@@ -944,7 +970,6 @@
//
// If the current module is "/-global" (Global.app), then we'll first
try the module
// associated with the current pageflow. Later we'll try "/-global".
- //
if
(_appConfig.getPrefix().equals(PageFlowConstants.GLOBALAPP_MODULE_CONTEXT_PATH))
{
PageFlowController curPgr =
PageFlowUtils.getCurrentPageFlow(request);
Modified:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
==============================================================================
---
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
Thu Jul 29 19:54:58 2004
@@ -72,6 +72,7 @@
Tags_ButtonText=Click
Tags_ButtonTypeError=The type of a button must be one of 'submit', 'button' or
'reset', found ''{0}''.
+Tags_FormMethodError=The value of a method must be one of 'post' or 'get',
found ''{0}''.
Tags_CaptionTableParent=A TableCaption must have a Table as parent.
Tags_RowTableParent=A TableRow must have a Table or TableBody as parent.
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/fileupload/nullbinding/Controller.jpf
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/fileupload/nullbinding/Controller.jpf
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,60 @@
+package coretags.fileupload.nullbinding;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](
+ value = {
+ "<!-- This data is auto-generated. Hand-editing this section is not
recommended. -->",
+ "<view-properties>",
+ "<pageflow-object
id='pageflow:/coretags/fileupload/nullbinding/Controller.jpf'/>",
+ "<pageflow-object id='action:begin.do'>",
+ " <property value='80' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='page:index.jsp'>",
+ " <property value='220' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>",
+ " <property value='116,140,140,164' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='East_1' name='fromPort'/>",
+ " <property value='West_1' name='toPort'/>",
+ " <property value='index' name='label'/>",
+ "</pageflow-object>",
+ "</view-properties>"
+ }
+)
+public class Controller extends PageFlowController
+{
+ private String _nullValue = null;
+ private Object[] _files = new Object[10];
+
+ public String getNullValue() {
+ return _nullValue;
+ }
+
+ public Object[] getFile() {
+ return _files;
+ }
+ public void setFile(Object[] b) {
+ _files = b;
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ }
+ )
+ protected Forward begin()
+ {
+ return new Forward("index");
+ }
+
+}
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/fileupload/nullbinding/index.jsp
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/fileupload/nullbinding/index.jsp
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,32 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"
prefix="netui-template"%>
+
+
+<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <netui:body>
+ <h4>FileUpload Null Binding</h4>
+ <p style="color:green">Test of null binding to the attributes of the
fileUpload. All of these should be
+ ignored except for the tagId which will report an error.
+ <br>
+ This is a single page test.
+ </p>
+ <hr>
+ <ul>
+ <li><netui:fileUpload dataSource="pageFlow.file[0]"
accept="${pageFlow.nullValue}"/> -- accept</li>
+ <li><netui:fileUpload dataSource="pageFlow.file[1]"
size="${pageFlow.nullValue}"/> -- size</li>
+ <li><netui:fileUpload dataSource="pageFlow.file[2]"
title="${pageFlow.nullValue}"/> -- title</li>
+ </ul>
+ <hr>
+ <ul>
+ <li><netui:fileUpload dataSource="pageFlow.file[3]"
tagId="${pageFlow.nullValue}"/> -- tagId</li>
+ </ul>
+
+ </netui:body>
+</netui:html>
+
+
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/bean/Controller.jpf
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/bean/Controller.jpf
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,76 @@
+package coretags.form.bean;
+
+import javax.servlet.http.HttpSession;
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](
+ value = {
+ "<!-- This data is auto-generated. Hand-editing this section is not
recommended. -->",
+ "<view-properties>",
+ "<pageflow-object id='pageflow:/coretags/form/bean/Controller.jpf'/>",
+ "<pageflow-object id='action:begin.do'>",
+ " <property value='80' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='page:index.jsp'>",
+ " <property value='220' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>",
+ " <property value='116,140,140,164' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='East_1' name='fromPort'/>",
+ " <property value='West_1' name='toPort'/>",
+ " <property value='index' name='label'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action:${pageFlow.nullValue}.do'>",
+ " <property value='340' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
+ " <property value='184,150,150,116' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='West_1' name='fromPort'/>",
+ " <property value='East_1' name='toPort'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='formbean:FormBean'/>",
+ "</view-properties>"
+ }
+)
+public class Controller extends PageFlowController
+{
+ private String _nullValue = null;
+
+ public String getNullValue() {
+ return _nullValue;
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ }
+ )
+ protected Forward begin()
+ {
+ return new Forward("index");
+ }
+
+ public static class FormBean extends FormData
+ {
+ private String type = "Default Type Value";
+
+ public String getType()
+ { return this.type; }
+
+ public void setType(String type)
+ { this.type = type; }
+ }
+
+}
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/bean/index.jsp
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/bean/index.jsp
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,31 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"
prefix="netui-template"%>
+
+
+<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <netui:body>
+ <h4>Explicit Form Bean</h4>
+ <p style="color:green">This test will create a bean that is used to load
the form
+ values. Three attributes are used to cause a bean to be created and then
used to populate
+ the form. The <b>name</b> attribute names the bean in the attribute map.
The <b>type</b>
+ specifies the type of the bean. The <b>scope</b> defines the scope to
look for the bean. This
+ is either session or request.
+ <br>
+ This is a single page test.
+ </p>
+ <hr>
+ <netui:form action="begin" name="ctFormBean"
type="coretags.form.bean.Controller$FormBean" scope="session">
+ <p>
+ Type: <netui:textBox dataSource="actionForm.type" /><br>
+ <netui:button type="submit" value="Submit"></netui:button>
+ </p>
+ </netui:form>
+ </netui:body>
+</netui:html>
+
+
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/Controller.jpf
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/Controller.jpf
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,76 @@
+package coretags.form.beanerror;
+
+import javax.servlet.http.HttpSession;
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](
+ value = {
+ "<!-- This data is auto-generated. Hand-editing this section is not
recommended. -->",
+ "<view-properties>",
+ "<pageflow-object id='pageflow:/coretags/form/bean/Controller.jpf'/>",
+ "<pageflow-object id='action:begin.do'>",
+ " <property value='80' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='page:index.jsp'>",
+ " <property value='220' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>",
+ " <property value='116,140,140,164' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='East_1' name='fromPort'/>",
+ " <property value='West_1' name='toPort'/>",
+ " <property value='index' name='label'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action:${pageFlow.nullValue}.do'>",
+ " <property value='340' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
+ " <property value='184,150,150,116' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='West_1' name='fromPort'/>",
+ " <property value='East_1' name='toPort'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='formbean:FormBean'/>",
+ "</view-properties>"
+ }
+)
+public class Controller extends PageFlowController
+{
+ private String _nullValue = null;
+
+ public String getNullValue() {
+ return _nullValue;
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ }
+ )
+ protected Forward begin()
+ {
+ return new Forward("index");
+ }
+
+ public static class FormBean extends FormData
+ {
+ private String type = "Default Type Value";
+
+ public String getType()
+ { return this.type; }
+
+ public void setType(String type)
+ { this.type = type; }
+ }
+
+}
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/index.jsp
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/index.jsp
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,44 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"
prefix="netui-template"%>
+
+
+<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <netui:body>
+ <h4>Explicit Form Bean Errors</h4>
+ <p style="color:green">This verifies errors that are produced when the
name, type, and scope attributes
+ are not used correctly. In the first, no type is specified. In the
second and third a bad type
+ is specified.
+ <br>
+ This is a single page test.
+ </p>
+ <%%>
+ <hr>
+ <p>No Type Specified:
+ <netui:form action="begin" name="ctFormBeanError2" scope="session"
style="display:inline">
+ Type: <netui:textBox dataSource="actionForm.type"
/> <netui:button type="submit" value="Submit"></netui:button>
+ </netui:form>
+ </p>
+ <p>Bad Type:
+ <netui:form action="begin" name="ctFormBeanError1"
type="coretags.form.bean.Controller$BadType" scope="session"
style="display:inline">
+ Type: <netui:textBox dataSource="actionForm.type"
/> <netui:button type="submit" value="Submit"></netui:button>
+ </netui:form>
+ </p>
+ <p>Non-form Type Specified:
+ <netui:form action="begin" name="ctFormBeanError3" type="java.lang.String"
scope="session" style="display:inline">
+ Type: <netui:textBox dataSource="actionForm.type"
/> <netui:button type="submit" value="Submit"></netui:button>
+ </netui:form>
+ <p>No Name Specified:
+ <netui:form action="begin"
type="coretags.form.beanerror.Controller$FormBean" scope="session"
style="display:inline">
+ Type: <netui:textBox dataSource="actionForm.type"
/> <netui:button type="submit" value="Submit"></netui:button>
+ </netui:form>
+ </p>
+ </p>
+ </netui:body>
+</netui:html>
+
+
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/errors/Controller.jpf
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/errors/Controller.jpf
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,84 @@
+package coretags.form.errors;
+
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](
+ value = {
+ "<!-- This data is auto-generated. Hand-editing this section is not
recommended. -->",
+ "<view-properties>",
+ "<pageflow-object
id='pageflow:/coretags/form/errors/Controller.jpf'/>",
+ "<pageflow-object id='action:begin.do'>",
+ " <property value='80' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='page:index.jsp'>",
+ " <property value='220' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>",
+ " <property value='116,140,140,164' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='East_1' name='fromPort'/>",
+ " <property value='West_1' name='toPort'/>",
+ " <property value='index' name='label'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action:${pageFlow.nullValue}.do'>",
+ " <property value='340' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
+ " <property value='184,150,150,116' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='West_1' name='fromPort'/>",
+ " <property value='East_1' name='toPort'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action:badAction.do'>",
+ " <property value='360' name='x'/>",
+ " <property value='180' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:badAction.do@'>",
+ " <property value='256,290,290,324' name='elbowsX'/>",
+ " <property value='92,92,172,172' name='elbowsY'/>",
+ " <property value='East_1' name='fromPort'/>",
+ " <property value='West_1' name='toPort'/>",
+ "</pageflow-object>",
+ "</view-properties>"
+ }
+)
+public class Controller extends PageFlowController
+{
+ private String _nullValue = null;
+
+ public String getNullValue() {
+ return _nullValue;
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ }
+ )
+ protected Forward begin()
+ {
+ return new Forward("index");
+ }
+
+ public static class FormBean extends FormData
+ {
+ private String type;
+
+ public String getType()
+ { return this.type; }
+
+ public void setType(String type)
+ { this.type = type; }
+ }
+
+}
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/errors/index.jsp
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/errors/index.jsp
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,31 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"
prefix="netui-template"%>
+
+
+<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <netui:body>
+ <h4>Form Errors</h4>
+ <p style="color:green">This verifies the basic errors raised by the form
tag.
+ </p>
+ <ul style="color:green">
+ <li>Nested Forms -- Forms may not be nested</li>
+ <li>Bad Action -- Form has an invalid action</li>
+ </ul>
+ <p style="color:green">This verifies the basic errors raised by the form
tag.
+ This is a single page test.
+ </p>
+ <hr>
+ <ul>
+ <li><netui:form action="begin" style="display:inline"><netui:form
action="begin" style="display:inline">
+ </netui:form></netui:form><span> -- form inside a form</span></li>
+ <li><netui:form action="badAction"
style="display:inline"></netui:form><span> -- bad action</span></li>
+ </ul>
+ </netui:body>
+</netui:html>
+
+
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/nullbinding/Controller.jpf
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/nullbinding/Controller.jpf
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,81 @@
+package coretags.form.nullbinding;
+
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](
+ value = {
+ "<!-- This data is auto-generated. Hand-editing this section is not
recommended. -->",
+ "<view-properties>",
+ "<pageflow-object
id='pageflow:/coretags/form/nullbinding/Controller.jpf'/>",
+ "<pageflow-object id='action:begin.do'>",
+ " <property value='80' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='page:index.jsp'>",
+ " <property value='220' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>",
+ " <property value='116,140,140,164' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='East_1' name='fromPort'/>",
+ " <property value='West_1' name='toPort'/>",
+ " <property value='index' name='label'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
+ " <property value='184,150,150,116' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='West_1' name='fromPort'/>",
+ " <property value='East_1' name='toPort'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action:${pageFlow.nullValue}.do'>",
+ " <property value='340' name='x'/>",
+ " <property value='100' name='y'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:${pageFlow.nullValue}.do@'>",
+ " <property value='256,280,280,304' name='elbowsX'/>",
+ " <property value='92,92,92,92' name='elbowsY'/>",
+ " <property value='East_1' name='fromPort'/>",
+ " <property value='West_1' name='toPort'/>",
+ "</pageflow-object>",
+ "<pageflow-object id='formbean:FormBean'/>",
+ "</view-properties>"
+ }
+)
+public class Controller extends PageFlowController
+{
+ private String _nullValue = null;
+
+ public String getNullValue() {
+ return _nullValue;
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ }
+ )
+ protected Forward begin()
+ {
+ return new Forward("index");
+ }
+
+ public static class FormBean extends FormData
+ {
+ private String type;
+
+ public String getType()
+ { return this.type; }
+
+ public void setType(String type)
+ { this.type = type; }
+ }
+
+}
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/nullbinding/index.jsp
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/nullbinding/index.jsp
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,40 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"
prefix="netui-template"%>
+
+
+<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <netui:body>
+ <h4>Form Null Binding</h4>
+ <p style="color:green">Test bind null value to the attributes of a form.
Below are two set of tests against form.
+ In the first, we are binding to the attributes who's values are ignored
and no attribute is output. In the second
+ a value is required so an error is generated.
+ <br>
+ This is a single page test.
+ </p>
+ <hr>
+ <ul>
+ <li><netui:form action="begin" style="display:inline"
focus="${pageFlow.nullValue}"></netui:form><span> -- focus</span></li>
+ <li><netui:form action="begin" style="display:inline"
target="${pageFlow.nullValue}"></netui:form><span> -- target</span></li>
+ <li><netui:form action="begin" style="display:inline"
enctype="${pageFlow.nullValue}" ></netui:form><span> -- enctype</span></li>
+ <li><netui:form action="begin" style="display:inline"
location="${pageFlow.nullValue}" ></netui:form><span> -- location</span></li>
+ <li><netui:form action="begin" style="display:inline"
title="${pageFlow.nullValue}" ></netui:form><span> -- title</span></li>
+ </ul>
+ <hr>
+ <ul>
+ <li><netui:form action="begin" style="display:inline"
method="${pageFlow.nullValue}" ></netui:form><span> -- method</span></li>
+ <li><netui:form action="begin" style="display:inline"
scope="${pageFlow.nullValue}" ></netui:form><span> -- scope</span></li>
+ <li><netui:form action="${pageFlow.nullValue}"
style="display:inline"></netui:form><span> -- action</span></li>
+ <li><netui:form action="begin" style="display:inline"
tagId="${pageFlow.nullValue}"></netui:form><span> -- tagId</span></li>
+ <li><netui:form action="begin" style="display:inline"
type="${pageFlow.nullValue}" ></netui:form><span> -- type</span></li>
+ <li><netui:form action="begin" style="display:inline"
name="${pageFlow.nullValue}"
type="coretags.form.nullbinding.Controller.$FormBean"></netui:form><span> --
name</span></li>
+ </ul>
+
+ </netui:body>
+</netui:html>
+
+
\ No newline at end of file
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/index.jsp
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/index.jsp
(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/index.jsp
Thu Jul 29 19:54:58 2004
@@ -6,12 +6,17 @@
<body>
<h4>Index of Core Tests</h4>
<ul>
- <li><a href="anchor\nullbinding\Controller.jpf">Anchor Null Binding</a>
— Anchor null binding tests</li>
- <li><a href="anchor\nullbindingerror\Controller.jpf">Anchor Error Null
Binding</a> — Anchor null binding tests with errors</li>
- <li><a href="base\nullbinding\Controller.jpf">Base Null Binding</a>
— Base null binding tests</li>
- <li><a href="button\nullbinding\Controller.jpf">Button Null Binding</a>
— Button null binding tests</li>
- <li><a href="checkbox\nullbinding\Controller.jpf">Checkbox Null
Binding</a> — Checkbox null binding tests</li>
- <li><a href="htmlbase\nullbinding\Controller.jpf">HtmlBase Null
Binding</a> — HtmlBase attributes null binding tests</li>
+ <li><a href="anchor/nullbinding/Controller.jpf">Anchor Null Binding</a>
— Anchor null binding tests</li>
+ <li><a href="anchor/nullbindingerror/Controller.jpf">Anchor Error Null
Binding</a> — Anchor null binding tests with errors</li>
+ <li><a href="base/nullbinding/Controller.jpf">Base Null Binding</a>
— Base null binding tests</li>
+ <li><a href="button/nullbinding/Controller.jpf">Button Null Binding</a>
— Button null binding tests</li>
+ <li><a href="checkbox/nullbinding/Controller.jpf">Checkbox Null
Binding</a> — Checkbox null binding tests</li>
+ <li><a href="fileupload/nullbinding/Controller.jpf">FileUpload Null
Binding</a> — FileUpload null binding tests</li>
+ <li><a href="form/bean/Controller.jpf">Form Bean</a> — Test of the
Form name, type and scope attributes</li>
+ <li><a href="form/beanerror/Controller.jpf">Form Bean Error</a> —
Test of Errors in the Form name, type and scope attributes</li>
+ <li><a href="form/errors/Controller.jpf">Form Errors</a> — Form
Errors</li>
+ <li><a href="form/nullbinding/Controller.jpf">Form Null Binding</a>
— FileUpload null binding tests</li>
+ <li><a href="htmlbase/nullbinding/Controller.jpf">HtmlBase Null
Binding</a> — HtmlBase attributes null binding tests</li>
</ul>
</body>
</html>
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
==============================================================================
---
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
Thu Jul 29 19:54:58 2004
@@ -1693,6 +1693,70 @@
</features>
</test>
<test>
+ <name>CtFileUploadNullBinding</name>
+ <description>Binding to null in the FileUpload tags
attributes</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>tags</category>
+ </categories>
+ <features>
+ <feature>FileUpload</feature>
+ <feature>Binding</feature>
+ </features>
+ </test>
+ <test>
+ <name>CtFormBean</name>
+ <description>Use of the Form name, type and scope attributes to
create an initialization bean</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>tags</category>
+ </categories>
+ <features>
+ <feature>Form</feature>
+ </features>
+ </test>
+ <test>
+ <name>CtFormBeanError</name>
+ <description>Errors using the Form name, type and scope
attributes</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>tags</category>
+ </categories>
+ <features>
+ <feature>Form</feature>
+ </features>
+ </test>
+ <test>
+ <name>CtFormErrors</name>
+ <description>Errors produced by the Form tag</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>tags</category>
+ </categories>
+ <features>
+ <feature>Form</feature>
+ <feature>Errors</feature>
+ </features>
+ </test>
+ <test>
+ <name>CtFormNullBinding</name>
+ <description>Binding to null in the Form attributes</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>tags</category>
+ </categories>
+ <features>
+ <feature>Form</feature>
+ <feature>Binding</feature>
+ </features>
+ </test>
+
+ <test>
<name>CtHtmlBaseNullBinding</name>
<description>Binding to null in the HtmlBaseTag
attributes</description>
<webapp>coreWeb</webapp>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFileUploadNullBinding.xml
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFileUploadNullBinding.xml
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>CtFileUploadNullBinding</ses:sessionName>
+ <ses:tester>Daryl</ses:tester>
+ <ses:startDate>29 Jul 2004, 08:08:33.532 PM MDT</ses:startDate>
+ <ses:description>Null attribute binding in the fileUpload
tag.</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/coretags/fileupload/nullbinding/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>5015CA38936AC32068FA718764324E54</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+ <ses:value>image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, application/x-shockwave-flash, */*</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</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=5015CA38936AC32068FA718764324E54</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
5.1)</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/coretags/fileupload/nullbinding/index.jsp">
+ </head>
+ <body>
+ <h4>FileUpload Null Binding</h4>
+ <p style="color:green">Test of null binding to the attributes of the
fileUpload. All of these should be
+ ignored except for the tagId which will report an error.
+ <br>
+ This is a single page test.
+ </p>
+ <hr>
+ <ul>
+ <li><input type="file" name="{pageFlow.file[0]}"> -- accept</li>
+ <li><input type="file" name="{pageFlow.file[1]}"> -- size</li>
+ <li><input type="file" name="{pageFlow.file[2]}"> -- title</li>
+ </ul>
+ <hr>
+ <ul>
+ <li><span style="color:red;background-color:white">
+ [<b>Tag Error:1</b>, Found in tag <b>FileUpload</b>]</span> -- tagId</li>
+ </ul>
+
+ <div> <hr /><table border="1" cellspacing="0"
style="color:red;background-color:white">
+ <tr><th colspan="6">Page Errors</th></tr>
+ <tr><th>Error Number</th><th>Tag Type</th><th colspan="4">Error</th></tr>
+<tr><th>1</th><th>FileUpload</th><th>Message</th><td>Attribute 'tagId' is
required to have a value. The value "" is illegal. This is often cause by
binding to an object with a null value.</td></tr>
+</table></div>
+</body>
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>29 Jul 2004, 08:08:43.667 PM MDT</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormBean.xml
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormBean.xml
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>CtFormBean</ses:sessionName>
+ <ses:tester>Daryl</ses:tester>
+ <ses:startDate>29 Jul 2004, 08:09:44.344 PM MDT</ses:startDate>
+ <ses:description>Verification test of the Form name, type and scope
attributes</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/coretags/form/bean/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>34419EBDF09874DCE1E5D90C768B2EB8</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+ <ses:value>image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, application/x-shockwave-flash, */*</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</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=34419EBDF09874DCE1E5D90C768B2EB8</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
5.1)</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/coretags/form/bean/index.jsp">
+ </head>
+ <body>
+ <h4>Explicit Form Bean</h4>
+ <p style="color:green">This test will create a bean that is used to load
the form
+ values. Three attributes are used to cause a bean to be created and then
used to populate
+ the form. The <b>name</b> attribute names the bean in the attribute map.
The <b>type</b>
+ specifies the type of the bean. The <b>scope</b> defines the scope to
look for the bean. This
+ is either session or request.
+ <br>
+ This is a single page test.
+ </p>
+ <hr>
+ <form name="ctFormBean" action="/coreWeb/coretags/form/bean/begin.do"
method="post">
+ <p>
+ Type: <input type="text" name="{actionForm.type}" value="Default
Type Value"><br>
+ <input type="submit" value="Submit">
+ </p>
+ </form>
+ </body>
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>29 Jul 2004, 08:09:50.493 PM MDT</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormBeanError.xml
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormBeanError.xml
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>CtFormBeanError</ses:sessionName>
+ <ses:tester>Daryl</ses:tester>
+ <ses:startDate>29 Jul 2004, 08:10:33.695 PM MDT</ses:startDate>
+ <ses:description>Verification of errors produced by not using the Form
name,type, and scope attributes</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/coretags/form/beanerror/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>1A1EE0ABF83C4473A788A08E59B620EC</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+ <ses:value>image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, application/x-shockwave-flash, */*</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</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=1A1EE0ABF83C4473A788A08E59B620EC</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
5.1)</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/coretags/form/beanerror/index.jsp">
+ </head>
+ <body>
+ <h4>Explicit Form Bean Errors</h4>
+ <p style="color:green">This verifies errors that are produced when the
name, type, and scope attributes
+ are not used correctly. In the first, no type is specified. In the
second and third a bad type
+ is specified.
+ <br>
+ This is a single page test.
+ </p>
+
+ <hr>
+ <p>No Type Specified:
+ <span style="color:red;background-color:white">
+ [<b>Tag Error:1</b>, Found in tag <b>Form</b>]</span>
+ </p>
+ <p>Bad Type:
+ <span style="color:red;background-color:white">
+ [<b>Tag Error:2</b>, Found in tag <b>Form</b>]</span>
+ </p>
+ <p>Non-form Type Specified:
+ <span style="color:red;background-color:white">
+ [<b>Tag Error:3</b>, Found in tag <b>Form</b>]</span>
+ <p>No Name Specified:
+ <span style="color:red;background-color:white">
+ [<b>Tag Error:4</b>, Found in tag <b>Form</b>]</span>
+ </p>
+ </p>
+ <div> <hr /><table border="1" cellspacing="0"
style="color:red;background-color:white">
+ <tr><th colspan="6">Page Errors</th></tr>
+ <tr><th>Error Number</th><th>Tag Type</th><th colspan="4">Error</th></tr>
+<tr><th>1</th><th>Form</th><th>Message</th><td>The Form must have a type
attribute if it has a name attribute.</td></tr>
+<tr><th>2</th><th>Form</th><th>Message</th><td>The specified type of the Form
was not a legal type.</td></tr>
+<tr><th>3</th><th>Form</th><th>Message</th><td>The specified type of the Form
was not a legal type.</td></tr>
+<tr><th>4</th><th>Form</th><th>Message</th><td>The specified type of the Form
was not a legal type.</td></tr>
+</table></div>
+</body>
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>29 Jul 2004, 08:10:40.595 PM MDT</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormErrors.xml
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormErrors.xml
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>CtFormErrors</ses:sessionName>
+ <ses:tester>Daryl</ses:tester>
+ <ses:startDate>29 Jul 2004, 08:11:15.715 PM MDT</ses:startDate>
+ <ses:description>Verification of the basic errors produced by the Form
tag.</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/coretags/form/errors/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>6935D75188645535943E6726A79181B1</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+ <ses:value>image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, application/x-shockwave-flash, */*</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</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=6935D75188645535943E6726A79181B1</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
5.1)</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/coretags/form/errors/index.jsp">
+ </head>
+ <body>
+ <h4>Form Errors</h4>
+ <p style="color:green">This verifies the basic errors raised by the form
tag.
+ </p>
+ <ul style="color:green">
+ <li>Nested Forms -- Forms may not be nested</li>
+ <li>Bad Action -- Form has an invalid action</li>
+ </ul>
+ <p style="color:green">This verifies the basic errors raised by the form
tag.
+ This is a single page test.
+ </p>
+ <hr>
+ <ul>
+ <li><form id="Netui_Form_0"
action="/coreWeb/coretags/form/errors/begin.do" method="post"
style="display:inline"><span style="color:red;background-color:white">
+ [<b>Tag Error:1</b>, Found in tag <b>Form</b>]</span></form><span> -- form
inside a form</span></li>
+ <li><span style="color:red;background-color:white">
+ [<b>Tag Error:2</b>, Found in tag <b>Form</b>]</span><span> -- bad
action</span></li>
+ </ul>
+ <div> <hr /><table border="1" cellspacing="0"
style="color:red;background-color:white">
+ <tr><th colspan="6">Page Errors</th></tr>
+ <tr><th>Error Number</th><th>Tag Type</th><th colspan="4">Error</th></tr>
+<tr><th>1</th><th>Form</th><th>Message</th><td>A Form cannot be enclosed by
another Form.</td></tr>
+<tr><th>2</th><th>Form</th><th>Message</th><td>Action 'badAction' is not a
valid action.</td></tr>
+</table></div>
+</body>
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>29 Jul 2004, 08:11:22.275 PM MDT</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormNullBinding.xml
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtFormNullBinding.xml
Thu Jul 29 19:54:58 2004
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>CtFormNullBinding</ses:sessionName>
+ <ses:tester>Daryl</ses:tester>
+ <ses:startDate>29 Jul 2004, 08:12:00.920 PM MDT</ses:startDate>
+ <ses:description>Test of binding to null of the Form
attributes.</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/coretags/form/nullbinding/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>9154D95ADE459C9D994E2CEAA94579A9</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+ <ses:value>image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, application/x-shockwave-flash, */*</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</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=9154D95ADE459C9D994E2CEAA94579A9</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
5.1)</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/coretags/form/nullbinding/index.jsp">
+ </head>
+ <body>
+ <h4>Form Null Binding</h4>
+ <p style="color:green">Test bind null value to the attributes of a form.
Below are two set of tests against form.
+ In the first, we are binding to the attributes who's values are ignored
and no attribute is output. In the second
+ a value is required so an error is generated.
+ <br>
+ This is a single page test.
+ </p>
+ <hr>
+ <ul>
+ <li><form id="Netui_Form_0"
action="/coreWeb/coretags/form/nullbinding/begin.do" method="post"
style="display:inline"></form><span> -- focus</span></li>
+ <li><form id="Netui_Form_1"
action="/coreWeb/coretags/form/nullbinding/begin.do" method="post"
style="display:inline"></form><span> -- target</span></li>
+ <li><form id="Netui_Form_2"
action="/coreWeb/coretags/form/nullbinding/begin.do" method="post"
style="display:inline"></form><span> -- enctype</span></li>
+ <li><form id="Netui_Form_3"
action="/coreWeb/coretags/form/nullbinding/begin.do" method="post"
style="display:inline"></form><span> -- location</span></li>
+ <li><form id="Netui_Form_4"
action="/coreWeb/coretags/form/nullbinding/begin.do" method="post"
style="display:inline"></form><span> -- title</span></li>
+ </ul>
+ <hr>
+ <ul>
+ <li><span style="color:red;background-color:white">
+ [<b>Tag Error:1</b>, Found in tag <b>Form</b>]</span><span> --
method</span></li>
+ <li><span style="color:red;background-color:white">
+ [<b>Tag Error:2</b>, Found in tag <b>Form</b>]</span><span> --
scope</span></li>
+ <li><span style="color:red;background-color:white">
+ [<b>Tag Error:3</b>, Found in tag <b>Form</b>]</span><span> --
action</span></li>
+ <li><span style="color:red;background-color:white">
+ [<b>Tag Error:4</b>, Found in tag <b>Form</b>]</span><span> --
tagId</span></li>
+ <li><span style="color:red;background-color:white">
+ [<b>Tag Error:5</b>, Found in tag <b>Form</b>]</span><span> --
type</span></li>
+ <li><span style="color:red;background-color:white">
+ [<b>Tag Error:6</b>, Found in tag <b>Form</b>]</span><span> --
name</span></li>
+ </ul>
+
+ <div> <hr /><table border="1" cellspacing="0"
style="color:red;background-color:white">
+ <tr><th colspan="6">Page Errors</th></tr>
+ <tr><th>Error Number</th><th>Tag Type</th><th colspan="4">Error</th></tr>
+<tr><th>1</th><th>Form</th><th>Message</th><td>The type of a button must be
one of submit, button or reset, found ''.</td></tr>
+<tr><th>2</th><th>Form</th><th>Message</th><td>Attribute 'scope' is required
to have a value. The value "" is illegal. This is often cause by binding to
an object with a null value.</td></tr>
+<tr><th>3</th><th>Form</th><th>Message</th><td>Attribute 'action' is required
to have a value. The value "" is illegal. This is often cause by binding to
an object with a null value.</td></tr>
+<tr><th>4</th><th>Form</th><th>Message</th><td>Attribute 'tagId' is required
to have a value. The value "" is illegal. This is often cause by binding to
an object with a null value.</td></tr>
+<tr><th>5</th><th>Form</th><th>Message</th><td>Attribute 'type' is required to
have a value. The value "" is illegal. This is often cause by binding to an
object with a null value.</td></tr>
+<tr><th>6</th><th>Form</th><th>Message</th><td>Attribute 'name' is required to
have a value. The value "" is illegal. This is often cause by binding to an
object with a null value.</td></tr>
+</table></div>
+</body>
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>29 Jul 2004, 08:12:08.000 PM MDT</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>