Author: dolander
Date: Mon Feb 7 21:05:44 2005
New Revision: 152623
URL: http://svn.apache.org/viewcvs?view=rev&rev=152623
Log:
This is a bit of work on Jira bugs 249 and 250. The change verifies that both
span and label support formatting and that the defaultValue my or may not
be formatted.
There is still one issue with not reporting formatting errors when the
defaultValue
is null and sent to a formatter. At the moment, LabelDefaults is failing
because of
this.
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J249.xml
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J250.xml
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Span.java
incubator/beehive/trunk/netui/src/util/netui-config-default.xml
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java?view=diff&r1=152622&r2=152623
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java
Mon Feb 7 21:05:44 2005
@@ -79,7 +79,7 @@
*/
public int doStartTag() throws JspException
{
- return SKIP_BODY;
+ return EVAL_BODY_BUFFERED;
}
@@ -94,20 +94,21 @@
String scriptId = null;
ServletRequest req = pageContext.getRequest();
+ Object labelObject = null;
String labelValue = null;
// if this is not client side binding, evalute the value
if (_value != null)
- labelValue = _value.toString();
+ labelObject = _value;
else {
if (_defaultValue != null) {
- labelValue = _defaultValue.toString();
- bypassEscape = HtmlUtils.containsEntity(labelValue);
+ labelObject = _defaultValue;
+ bypassEscape =
HtmlUtils.containsEntity(_defaultValue.toString());
}
else {
logger.warn(Bundle.getString("Tags_LabelExpressionNull",
_value));
- labelValue = DEFAULT_NULL_TEXT;
+ labelObject = DEFAULT_NULL_TEXT;
}
usingDefault = true;
}
@@ -118,6 +119,10 @@
scriptId = renderNameAndId((HttpServletRequest) req, _state, null);
}
+ // push the evaluated expression when we are not client side bound...
+ labelValue = (usingDefault && !_formatDefaultValue) ?
+ labelObject.toString() : formatText(labelObject) ;
+
if (hasErrors())
return reportAndExit(EVAL_PAGE);
@@ -132,8 +137,8 @@
br.doStartTag(writer, _state);
// push the evaluated expression when we are not client side bound...
- if (!usingDefault)
- labelValue = formatText(labelValue);
+ //if (!usingDefault)
+ // labelValue = formatText(labelValue);
if (!bypassEscape)
filter(labelValue, writer, _escapeWhiteSpace);
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Span.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Span.java?view=diff&r1=152622&r2=152623
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Span.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Span.java
Mon Feb 7 21:05:44 2005
@@ -141,12 +141,12 @@
if (_defaultValue != null) {
labelObject = _defaultValue;
bypassEscape =
HtmlUtils.containsEntity(_defaultValue.toString());
- usingDefault = true;
}
else {
logger.warn(Bundle.getString("Tags_LabelExpressionNull",
_value));
labelObject = DEFAULT_NULL_TEXT;
}
+ usingDefault = true;
}
// we assume that tagId will over have override id if both
@@ -156,7 +156,7 @@
}
// push the evaluated expression when we are not client side bound...
- String labelValue = (usingDefault && _formatDefaultValue) ?
+ String labelValue = (usingDefault && !_formatDefaultValue) ?
labelObject.toString() : formatText(labelObject) ;
// if there were errors in the formatters, report them.
Modified: incubator/beehive/trunk/netui/src/util/netui-config-default.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/netui-config-default.xml?view=diff&r1=152622&r2=152623
==============================================================================
--- incubator/beehive/trunk/netui/src/util/netui-config-default.xml (original)
+++ incubator/beehive/trunk/netui/src/util/netui-config-default.xml Mon Feb 7
21:05:44 2005
@@ -12,4 +12,9 @@
</expression-language>
</expression-languages>
+ <request-interceptors>
+
<interceptor-class>org.apache.beehive.netui.tags.tree.TreeCRI</interceptor-class>
+
<interceptor-class>org.apache.beehive.netui.tags.divpanel.DivPanelCRI</interceptor-class>
+ </request-interceptors>
+
</netui-config>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/Controller.jpf
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/Controller.jpf?view=auto&rev=152623
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/Controller.jpf
(added)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/Controller.jpf
Mon Feb 7 21:05:44 2005
@@ -0,0 +1,50 @@
+package bugs.j249;
+
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+import javax.servlet.http.HttpSession;
+import java.util.Calendar;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
+public class Controller extends PageFlowController
+{
+ private Calendar _date;
+
+ public void setDate(Calendar date) {
+ _date = date;
+ }
+ public Calendar getDate() {
+ return _date;
+ }
+
+ @Jpf.Action(
+ forwards = {
+ @Jpf.Forward(name = "index", path = "index.jsp")
+ }
+ )
+ protected Forward begin()
+ {
+ return new Forward("index");
+ }
+ /**
+ * Callback that is invoked when this controller instance is created.
+ */
+ protected void onCreate()
+ {
+ _date = Calendar.getInstance();
+ _date.set(2002,0,17,13,30,8);
+ }
+
+ /**
+ * Callback that is invoked when this controller instance is destroyed.
+ */
+ protected void onDestroy(HttpSession session)
+ {
+ }
+}
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/index.jsp
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/index.jsp?view=auto&rev=152623
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/index.jsp
(added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j249/index.jsp
Mon Feb 7 21:05:44 2005
@@ -0,0 +1,15 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+
+<netui:html>
+ <head>
+ <netui:base />
+ </head>
+ <netui:body>
+ <p style="color:green">
+ This test verifies that a data format can be applied to both a Span
and a Label.
+ </p>
+ Span: <netui:span value="${pageFlow.date}"><netui:formatDate
pattern="MM/dd/yyyy" /></netui:span><br>
+ Label: <netui:label value="${pageFlow.date}"><netui:formatDate
pattern="MM/dd/yyyy" /></netui:label>
+ </netui:body>
+</netui:html>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/Controller.jpf
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/Controller.jpf?view=auto&rev=152623
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/Controller.jpf
(added)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/Controller.jpf
Mon Feb 7 21:05:44 2005
@@ -0,0 +1,55 @@
+package bugs.j250;
+
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+import javax.servlet.http.HttpSession;
+import java.util.Calendar;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
+public class Controller extends PageFlowController
+{
+ private Calendar _date = null;
+
+ public void setDate(Calendar date) {
+ _date = date;
+ }
+ public Calendar getDate() {
+ return _date;
+ }
+
+ private Calendar _default;
+ public Calendar getDefaultDate() {
+ return _default;
+ }
+
+ @Jpf.Action(
+ forwards = {
+ @Jpf.Forward(name = "index", path = "index.jsp")
+ }
+ )
+ protected Forward begin()
+ {
+ return new Forward("index");
+ }
+ /**
+ * Callback that is invoked when this controller instance is created.
+ */
+ protected void onCreate()
+ {
+ _default = Calendar.getInstance();
+ _default.set(2002,0,17,13,30,8);
+ }
+
+ /**
+ * Callback that is invoked when this controller instance is destroyed.
+ */
+ protected void onDestroy(HttpSession session)
+ {
+ }
+}
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/index.jsp
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/index.jsp?view=auto&rev=152623
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/index.jsp
(added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/j250/index.jsp
Mon Feb 7 21:05:44 2005
@@ -0,0 +1,23 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+
+<netui:html>
+ <head>
+ <netui:base />
+ </head>
+ <netui:body>
+ <p style="color:green">
+ This test verifies that you can choose to apply formatters to the
default value or not. The first
+ two elements below bind to a default value that is a Calendar and
format that. The second two
+ have the value in the tag and do not apply the formatter.
+ </p>
+ Span: <netui:span value="${pageFlow.date}" formatDefaultValue="true"
defaultValue="${pageFlow.defaultDate}">
+ <netui:formatDate pattern="MM/dd/yyyy" /></netui:span><br>
+ Label: <netui:label value="${pageFlow.date}" formatDefaultValue="true"
defaultValue="${pageFlow.defaultDate}">
+ <netui:formatDate pattern="MM/dd/yyyy" /></netui:label><br>
+ Span: <netui:span value="${pageFlow.date}" defaultValue="[No Date
Specified]">
+ <netui:formatDate pattern="MM/dd/yyyy" /></netui:span><br>
+ Label: <netui:label value="${pageFlow.date}" defaultValue="[No Date
Specified]">
+ <netui:formatDate pattern="MM/dd/yyyy" /></netui:label>
+ </netui:body>
+</netui:html>
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=152622&r2=152623
==============================================================================
---
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 7 21:05:44 2005
@@ -3838,6 +3838,24 @@
</categories>
</test>
<test>
+ <name>J249</name>
+ <description>Verify applying formatters to Label</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>jiriBugs</category>
+ </categories>
+ </test>
+ <test>
+ <name>J250</name>
+ <description>Verify the formatDefaultValue attribute</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>jiriBugs</category>
+ </categories>
+ </test>
+ <test>
<name>JpfScopedFormsTest49</name>
<description>JpfScopedFormsTest49</description>
<webapp>coreWeb</webapp>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J249.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J249.xml?view=auto&rev=152623
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J249.xml
(added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J249.xml
Mon Feb 7 21:05:44 2005
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>J249</ses:sessionName>
+ <ses:tester>Daryl</ses:tester>
+ <ses:startDate>07 Feb 2005, 09:43:54.843 PM MST</ses:startDate>
+ <ses:description>Verify a formatter can be used against a
Label.</ses:description>
+ <ses:tests>
+ <ses:test>
+ <ses:testNumber>1</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/coreWeb/bugs/j249/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>5CDF29C2D73FDBC8BD42E26F47D1598F</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>---------------</ses:name>
+ <ses:value>------------</ses:value>
+ </ses:header>
+ <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-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=5CDF29C2D73FDBC8BD42E26F47D1598F</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><![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/bugs/j249/index.jsp">
+ </head>
+ <body>
+ <p style="color:green">
+ This test verifies that a data format can be applied to both a Span
and a Label.
+ </p>
+ Span: <span>01/17/2002</span><br>
+ Label: <label>01/17/2002</label>
+ </body>
+
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>07 Feb 2005, 09:43:59.765 PM MST</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J250.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J250.xml?view=auto&rev=152623
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J250.xml
(added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/J250.xml
Mon Feb 7 21:05:44 2005
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>J250</ses:sessionName>
+ <ses:tester>Daryl</ses:tester>
+ <ses:startDate>07 Feb 2005, 09:44:30.109 PM MST</ses:startDate>
+ <ses:description>Verify the formatDefaultValue will format the default
value on a Label and Span</ses:description>
+ <ses:tests>
+ <ses:test>
+ <ses:testNumber>1</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/coreWeb/bugs/j250/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>5CDF29C2D73FDBC8BD42E26F47D1598F</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>---------------</ses:name>
+ <ses:value>------------</ses:value>
+ </ses:header>
+ <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-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=5CDF29C2D73FDBC8BD42E26F47D1598F</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><![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/bugs/j250/index.jsp">
+ </head>
+ <body>
+ <p style="color:green">
+ This test verifies that you can choose to apply formatters to the
default value or not. The first
+ two elements below bind to a default value that is a Calendar and
format that. The second two
+ have the value in the tag and do not apply the formatter.
+ </p>
+ Span: <span>01/17/2002</span><br>
+ Label: <label>01/17/2002</label><br>
+ Span: <span>[No Date Specified]</span><br>
+ Label: <label>[No Date Specified]</label>
+ </body>
+
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>07 Feb 2005, 09:44:34.140 PM MST</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file