Author: ekoneil
Date: Fri Aug 20 10:24:45 2004
New Revision: 36669
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/helloWorld.tag
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/scriptletecho.tag
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/scriptlettagfile/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/scriptlettagfile/index.jsp
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridScriptletTagFile.xml
(contents, props changed)
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Log:
Add NetUI BVT that tests the use of scriptlet from a .tag file used in various
content spots in the data grid.
This test also ensures that the getJspContext().getOut().write(String) sends
output to the correct output buffer and that the output shows up in the right
place in the response.
Also switch the dataGrid tag onto the getJspContext() method rather than
getPageContext().
BB: self
BVT: NetUI pass
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
Fri Aug 20 10:24:45 2004
@@ -127,7 +127,7 @@
_content = new StringBuffer();
// todo: optimize -- this doesn't need to happen when the data set is
empty
- DataAccessProviderStack.addDataAccessProvider(this, getPageContext());
+ DataAccessProviderStack.addDataAccessProvider(this, getJspContext());
getJspContext().setAttribute(DATA_GRID_MODEL_KEY, _gridModel);
JspFragment fragment = getJspBody();
@@ -191,7 +191,7 @@
write(_content.toString());
- DataAccessProviderStack.removeDataAccessProvider(getPageContext());
+ DataAccessProviderStack.removeDataAccessProvider(getJspContext());
getJspContext().removeAttribute(DATA_GRID_MODEL_KEY);
}
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/helloWorld.tag
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/helloWorld.tag
Fri Aug 20 10:24:45 2004
@@ -0,0 +1,2 @@
+
+<b>Hello World!</b>
\ No newline at end of file
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/scriptletecho.tag
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/scriptletecho.tag
Fri Aug 20 10:24:45 2004
@@ -0,0 +1,6 @@
+<%@ tag body-content="empty" %>
+<%@ attribute name="text" required="true" type="java.lang.String"%>
+<%
+ out.write((String)jspContext.getAttribute("text"));
+%>
+
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/scriptlettagfile/index.jsp
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/scriptlettagfile/index.jsp
Fri Aug 20 10:24:45 2004
@@ -0,0 +1,40 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui"%>
+<%@ taglib uri="beehive-netui-tags-databinding.tld" prefix="netui-data"%>
+<%@ taglib uri="beehive-netui-tags-template.tld" prefix="netui-template"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib prefix="datagrid"
tagdir="/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles" %>
+<netui-template:template templatePage="../site/template.jsp">
+ <netui-template:setAttribute name="title" value="Basic Data Grid"/>
+ <netui-template:section name="body">
+ <p>
+<%@ include file="../util/portfolioXmlBean.jsp" %>
+<br/>
+<netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio">
+ <netui-data:caption>
+ <datagrid:scriptletecho text="This custom caption intentionall left
blank"/>
+ </netui-data:caption>
+ <netui-data:columns defaultSortable="true" defaultFilterable="false"
sortAction="index.jsp" filterAction="index.jsp">
+ <netui-data:literalColumn headerText="Symbol"
value="${container.item.symbol}" sortExpression="symbol"/>
+ <netui-data:anchorColumn headerText="Web" href="${container.item.web}"
value="${container.item.name}">
+ <netui:parameter name="rowid" value="${container.index}"/>
+ <netui:parameter name="symbol" value="${container.item.symbol}"/>
+ </netui-data:anchorColumn>
+ <netui-data:literalColumn sortable="false"
value="${container.item.price}">
+ <c:if test="${column.renderingHeader}">
+ <datagrid:scriptletecho text="Share Price (USD)"/>
+ </c:if>
+ </netui-data:literalColumn>
+ </netui-data:columns>
+ <netui-data:footer>
+ <td colspan="3" align="center">
+ <datagrid:scriptletecho text="This custom footer intentionally left
blank."/>
+ </td>
+ </netui-data:footer>
+</netui-data:dataGrid>
+<br/>
+<netui:anchor href="index.jsp">Reset</netui:anchor>
+<br/>
+ </p>
+ </netui-template:section>
+</netui-template:template>
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
Fri Aug 20 10:24:45 2004
@@ -2204,6 +2204,20 @@
</features>
</test>
<test>
+ <name>DataGridScriptletTagFile</name>
+ <description>DataGridScriptletTagFile</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>datagrid</category>
+ <category>databinding</category>
+ </categories>
+ <features>
+ <feature>Databinding</feature>
+ <feature>Data Grid</feature>
+ </features>
+ </test>
+ <test>
<name>DateConverter</name>
<description>Date Converter on post.</description>
<webapp>coreWeb</webapp>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridScriptletTagFile.xml
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridScriptletTagFile.xml
Fri Aug 20 10:24:45 2004
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>DataGridScriptletTagFile</ses:sessionName>
+ <ses:tester>ekoneil</ses:tester>
+ <ses:startDate>20 Aug 2004, 10:31:41.930 AM MDT</ses:startDate>
+ <ses:description>Test the use of a tag file that contains scriptlet in the
body of a column in the data grid.</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/databinding/datagrid/scriptlettagfile/index.jsp</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>1444EE76370C399E1270176C9A5FDABD</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=1444EE76370C399E1270176C9A5FDABD</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) Gecko/20040614 Firefox/0.9</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>
+ <title>NetUI Data Grid Samples</title>
+ <link rel="stylesheet"
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+ </head>
+ <base
href="http://localhost:8080/coreWeb/databinding/datagrid/scriptlettagfile/index.jsp">
+ <body>
+ <p>
+ <b>Basic Data Grid</b>
+ <table width="100%">
+ <tr><td></td></tr>
+ <tr><td>
+
+ <p>
+
+
+
+
+<br/>
+Page 1 of 1
+<table class="datagrid">
+<caption>
+
+
+
+
+This custom caption intentionall left blank
+
+
+
+
+
+
+</caption>
+
+
+
+<thead>
+<tr class="datagrid-header">
+ <th class="datagrid-header-cell">Symbol</th>
+
+
+ <th class="datagrid-header-cell">Web</th>
+
+
+ <th class="datagrid-header-cell">
+
+
+
+Share Price (USD)
+
+
+
+ </th>
+
+
+ </tr>
+</thead>
+
+<tr class="datagrid-even">
+ <td class="datagrid-data-cell">BEAS</td>
+
+ <td class="datagrid-data-cell"><a
href="http://www.bea.com?rowid=1&symbol=BEAS"><span>BEA
Systems</span></a></td>
+
+ <td class="datagrid-data-cell">14.35</td>
+
+ </tr>
+<tr class="datagrid-odd">
+ <td class="datagrid-data-cell">CSCO</td>
+
+ <td class="datagrid-data-cell"><a
href="http://www.cisco.com?rowid=2&symbol=CSCO"><span>Cisco
Systems</span></a></td>
+
+ <td class="datagrid-data-cell">19.42</td>
+
+ </tr>
+<tr class="datagrid-even">
+ <td class="datagrid-data-cell">GE</td>
+
+ <td class="datagrid-data-cell"><a
href="http://www.ge.com?rowid=3&symbol=GE"><span>General
Electric</span></a></td>
+
+ <td class="datagrid-data-cell">59.42</td>
+
+ </tr>
+<tr class="datagrid-odd">
+ <td class="datagrid-data-cell">RHAT</td>
+
+ <td class="datagrid-data-cell"><a
href="http://www.redhat.com?rowid=4&symbol=RHAT"><span>RedHat
Systems</span></a></td>
+
+ <td class="datagrid-data-cell">18.2</td>
+
+ </tr>
+<tr class="datagrid-even">
+ <td class="datagrid-data-cell">YHOO</td>
+
+ <td class="datagrid-data-cell"><a
href="http://www.yahoo.com?rowid=5&symbol=YHOO"><span>Yahoo
Inc</span></a></td>
+
+ <td class="datagrid-data-cell">48.16</td>
+
+ </tr>
+
+
+<tr class="datagrid-footer">
+
+
+
+ <td colspan="3" align="center">
+
+
+This custom footer intentionally left blank.
+
+
+ </td>
+
+
+</tr></table>
+
+<br/>
+<a href="/coreWeb/databinding/datagrid/scriptlettagfile/index.jsp">Reset</a>
+<br/>
+ </p>
+
+ </td></tr>
+ </p>
+ <table>
+ <tr><td><a
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+ </table>
+ </p>
+ </body>
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>20 Aug 2004, 10:31:48.770 AM MDT</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>