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&nbsp;&nbsp;&nbsp;
+<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&amp;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&amp;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&amp;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&amp;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&amp;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>

Reply via email to