You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by do...@apache.org on 2004/07/25 21:55:41 UTC

svn commit: rev 27571 - in incubator/beehive/trunk/netui: src/tags-html/org/apache/beehive/netui/tags/html test/webapps/drt/coreWeb/bugs/b37374 test/webapps/drt/coreWeb/errors/tagImage test/webapps/drt/coreWeb/errors/tagImageHtml test/webapps/drt/testRecorder/config test/webapps/drt/testRecorder/tests

Author: dolander
Date: Sun Jul 25 12:55:39 2004
New Revision: 27571

Removed:
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/errors/tagImage/
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/errors/tagImageHtml/
Modified:
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Anchor.java
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Image.java
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Parameter.java
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/Controller.jpf
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/index.jsp
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/results.jsp
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/B37374.xml
Log:
Clean up a few failing BVTs.
Removed the tagImageHtml and tagImage tests because JSP 2.0 EL doesn't provide expression errors
Updated the Anchor so that a "" href (recieved because the tag was databound to a null object) works
Updated the Parameter because of an NPE in the setValue() property
UPdated the test binding to anchor and imageAnchor href="" so that they verify the new behavior




Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Anchor.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Anchor.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Anchor.java	Sun Jul 25 12:55:39 2004
@@ -651,20 +651,20 @@
             else if (_href != null) {
                 internalHref = _href;
                 if (FileUtils.isAbsoluteURI(internalHref)) {
-
                     absoluteUrl = true;
                 }
                 else if (!internalHref.startsWith("/")) {
+                    // for internal hrefs, we need to see if we need to secure the request
+                    if (!_href.equals("")) {
+                        String reqUri = request.getRequestURI();
+                        String path = reqUri.substring(0, reqUri.lastIndexOf("/") + 1);
+                        internalHref = path + internalHref;
 
-                    String reqUri = request.getRequestURI();
-                    String path = reqUri.substring(0, reqUri.lastIndexOf("/") + 1);
-                    internalHref = path + internalHref;
+                        // is this a secure operation?
+                        if ((!absoluteUrl) && (URLRewriterService.needsSecure(request, ctxt, internalHref, true)))
+                            type = URLRewriter.ACTION_SECURE;
+                    }
                 }
-
-                // is this a secure operation?
-                if ((!absoluteUrl) && (URLRewriterService.needsSecure(request,
-                        ctxt, internalHref, true)))
-                    type = URLRewriter.ACTION_SECURE;
             }
 
             // Add the jpfScopeID parameter, if the scope attribute is present.

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Image.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Image.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Image.java	Sun Jul 25 12:55:39 2004
@@ -25,8 +25,6 @@
 import org.apache.beehive.netui.tags.rendering.TagRenderingBase;
 import org.apache.beehive.netui.util.Bundle;
 import org.apache.beehive.netui.util.ParamHelper;
-import org.apache.struts.Globals;
-import org.apache.struts.config.ModuleConfig;
 
 import javax.servlet.ServletRequest;
 import javax.servlet.http.HttpServletRequest;

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java	Sun Jul 25 12:55:39 2004
@@ -169,9 +169,9 @@
         extends Anchor
         implements IHtmlAccessable
 {
-    ImageTag.State _imgState = new ImageTag.State();
+    //@todo: verify that tagId is handled correclty
 
-    //@todo: tagId is not handled here
+    private ImageTag.State _imgState = new ImageTag.State();
     private String _rolloverImage = null; // The roll-over image of the ImageAnchor.
 
     /**
@@ -529,7 +529,7 @@
 
         // set the rollover image
         if (_rolloverImage != null) {
-           _rolloverImage = PageflowTagUtils.prepareResourceUrl(pageContext, _rolloverImage);
+            _rolloverImage = PageflowTagUtils.prepareResourceUrl(pageContext, _rolloverImage);
             _rolloverImage = qualifyUrlToContext(_rolloverImage);
 
             HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Parameter.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Parameter.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Parameter.java	Sun Jul 25 12:55:39 2004
@@ -74,7 +74,7 @@
         extends AbstractBaseTag
 {
     private String _name = null;
-    private String _value = null;
+    private Object _value = null;
 
     /**
      * Return the name of the Tag.
@@ -117,7 +117,7 @@
     public void setValue(Object value)
             throws JspException
     {
-        _value = value.toString();
+        _value = value;
     }
 
     /**

Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/Controller.jpf
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/Controller.jpf	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/Controller.jpf	Sun Jul 25 12:55:39 2004
@@ -82,6 +82,7 @@
         tf.setDetectedWebsites(ws);
         
         for (int i=0;i<ws.length;i++) {
+            // lets provide a set of null results
             if (i == 1)
                 continue;
             ws[i] = new Websites();

Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/index.jsp
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/index.jsp	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/index.jsp	Sun Jul 25 12:55:39 2004
@@ -3,6 +3,7 @@
 <%@ taglib uri="beehive-netui-tags-databinding.tld" prefix="netui-databinding"%>
 <%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui"%>
 <%@ taglib uri="beehive-netui-tags-template.tld" prefix="netui-template"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 <netui:html>
     <head>
         <title>
@@ -11,15 +12,23 @@
     </head>
     <netui:body>
         <netui:form action="submitIt">
+        <h4>Null Items in Container Item</h4>
+        <p style="color:green">
+        This test binds to an array of items with a repeater.  Inside the the repeater we create a
+        set of anchors that point to a results page.  The second item in the array is null.  In this case
+        the href on the anchor and imageAnchor should have an href value of "".  There is a bit of
+        JSTL inside the repeater so that the anchor will have a value of <b>[Null Item]</b> if the
+        value of container.item is null.
+        </p>
         <table>
-        <netui-databinding:repeater dataSource="actionForm.detectedWebsites"> 
+        <netui-databinding:repeater dataSource="actionForm.detectedWebsites">
         <netui-databinding:repeaterItem> 
-            <tr> <td> 
+            <tr><td>Anchor [${container.index}]
                 <netui:anchor href="${container.item.domainOwner}"> 
-                    <netui:content value="${container.item.domainOwner}"/> 
-                </netui:anchor> 
-            </td> 
-            </tr> 
+                    <netui:content value="${container.item.domainOwner}"/>
+                    <c:if test="${container.item == null}">[Null Item]</c:if>
+                </netui:anchor>
+            </td> </tr>
         </netui-databinding:repeaterItem> 
         </netui-databinding:repeater> 
         </table>
@@ -29,7 +38,7 @@
         <table>
         <netui-databinding:repeater dataSource="actionForm.detectedWebsites"> 
         <netui-databinding:repeaterItem> 
-            <tr> <td> 
+            <tr><td>ImageAnchor [${container.index}]
                 <netui:imageAnchor href="${container.item.domainOwner}" src="/coreWeb/resources/images/bar-background.gif"/> 
             </td> 
             </tr> 

Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/results.jsp
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/results.jsp	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/bugs/b37374/results.jsp	Sun Jul 25 12:55:39 2004
@@ -10,6 +10,11 @@
         </title>
     </head>
     <body>
+        <h4>Results Target</h4>
+        <p style="color:green">Result target, press the home link to return</p>
+        <hr>
+        <p>
         <netui:anchor action="begin">Home</netui:anchor>
+        </p>
     </body>
 </netui: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	Sun Jul 25 12:55:39 2004
@@ -3998,35 +3998,6 @@
          </features>
       </test>
       <test>
-         <name>TagImage</name>
-         <description>Errors generated by the Image Tag, displayed in-line</description>
-         <webapp>coreWeb</webapp>
-         <categories>
-            <category>bvt</category>
-            <category>errorTests</category>
-         </categories>
-         <features>
-            <feature>Image</feature>
-            <feature>Errors</feature>
-            <feature>Display in-line</feature>
-         </features>
-      </test>
-      <test>
-         <name>TagImageHtml</name>
-         <description>Errors generated by the Image Tag, displayed in the footer</description>
-         <webapp>coreWeb</webapp>
-         <categories>
-            <category>bvt</category>
-            <category>errorTests</category>
-         </categories>
-         <features>
-            <feature>Image</feature>
-            <feature>Errors</feature>
-            <feature>Repeater</feature>
-            <feature>RepeaterFooter</feature>
-         </features>
-      </test>
-      <test>
          <name>TagIteration</name>
          <description>Iterators over single items</description>
          <webapp>coreWeb</webapp>

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/B37374.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/B37374.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/B37374.xml	Sun Jul 25 12:55:39 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>B37374</ses:sessionName>
    <ses:tester>Daryl</ses:tester>
-   <ses:startDate>29 Jun 2004, 06:29:11.967 PM MDT</ses:startDate>
+   <ses:startDate>25 Jul 2004, 01:35:39.417 PM MDT</ses:startDate>
    <ses:description>Daryl</ses:description>
    <ses:tests>
       <ses:test>
@@ -11,60 +11,47 @@
             <ses:protocol>HTTP</ses:protocol>
             <ses:protocolVersion>1.1</ses:protocolVersion>
             <ses:host>localhost</ses:host>
-            <ses:port>7001</ses:port>
+            <ses:port>8080</ses:port>
             <ses:uri>/coreWeb/bugs/b37374/Controller.jpf</ses:uri>
             <ses:method>GET</ses:method>
             <ses:parameters/>
-            <ses:cookies>
-               <ses:cookie>
-                  <ses:name>JSESSIONID</ses:name>
-                  <ses:value>AiIdjSOQiQsWm2GhST2yJaIAsJIIMJ5Tm5erzo1dbxUPbXagn4uI!-1058694893</ses:value>
-               </ses:cookie>
-            </ses:cookies>
+            <ses:cookies/>
             <ses:headers>
                <ses:header>
-                  <ses:name>Accept</ses:name>
+                  <ses:name>accept</ses:name>
                   <ses:value>image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>Accept-Encoding</ses:name>
+                  <ses:name>accept-encoding</ses:name>
                   <ses:value>gzip, deflate, x-gzip, compress, x-compress</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>Accept-Language</ses:name>
+                  <ses:name>accept-language</ses:name>
                   <ses:value>en-us</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>Connection</ses:name>
+                  <ses:name>connection</ses:name>
                   <ses:value>Keep-Alive, TE</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>Cookie</ses:name>
-                  <ses:value>JSESSIONID=AiIdjSOQiQsWm2GhST2yJaIAsJIIMJ5Tm5erzo1dbxUPbXagn4uI!-1058694893</ses:value>
-               </ses:header>
-               <ses:header>
-                  <ses:name>Cookie2</ses:name>
+                  <ses:name>cookie2</ses:name>
                   <ses:value>$Version="1"</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>Host</ses:name>
-                  <ses:value>localhost:7001</ses:value>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>TE</ses:name>
+                  <ses:name>te</ses:name>
                   <ses:value>trailers, deflate, gzip, compress</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>User-Agent</ses:name>
-                  <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E</ses:value>
-               </ses:header>
-               <ses:header>
-                  <ses:name>testRecorder.playback.testID</ses:name>
-                  <ses:value>-44f110ce:fd72f07a02:-7e68</ses:value>
+                  <ses:name>testrecorder.playback.testid</ses:name>
+                  <ses:value>-421e2d6b:fdf7c84f48:-7f13</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testRecorder.playback.testNumber</ses:name>
-                  <ses:value>1</ses:value>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E</ses:value>
                </ses:header>
             </ses:headers>
          </ses:request>
@@ -76,6 +63,7 @@
 
 
 
+
 <!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 4.01 Transitional//EN"
 	"http://www.w3.org/TR/html4/loose.dtd">
 <html lang="en">
@@ -86,23 +74,27 @@
     </head>
     <body>
         <form name="topForm" action="/coreWeb/bugs/b37374/submitIt.do" method="post">
+        <h4>Null Items in Container Item</h4>
+        <p style="color:green">
+        This test binds to an array of items with a repeater.  Inside the the repeater we create a
+        set of anchors that point to a results page.  The second item in the array is null.  In this case
+        the href on the anchor and imageAnchor should have an href value of "".  There is a bit of
+        JSTL inside the repeater so that the anchor will have a value of <b>[Null Item]</b> if the
+        value of container.item is null.
+        </p>
         <table>
          
-            <tr> <td> 
-                <a href="/coreWeb/bugs/b37374/results.jsp">results.jsp</a> 
-            </td> 
-            </tr> 
-         
-            <tr> <td> 
-                <span style="color:red;background-color:white">
- [<b>Expression Error:1</b>, Found in tag <b>Anchor</b>]</span> 
-            </td> 
-            </tr> 
-         
-            <tr> <td> 
-                <a href="/coreWeb/bugs/b37374/results.jsp">results.jsp</a> 
-            </td> 
-            </tr> 
+            <tr><td>Anchor [0]
+                <a href="/coreWeb/bugs/b37374/results.jsp">results.jsp</a>
+            </td> </tr>
+         
+            <tr><td>Anchor [1]
+                <a href="">[Null Item]</a>
+            </td> </tr>
+         
+            <tr><td>Anchor [2]
+                <a href="/coreWeb/bugs/b37374/results.jsp">results.jsp</a>
+            </td> </tr>
          
         </table>
         </form>
@@ -110,40 +102,24 @@
         <form name="topForm" action="/coreWeb/bugs/b37374/submitIt.do" method="post">
         <table>
          
-            <tr> <td> 
+            <tr><td>ImageAnchor [0]
                 <a href="/coreWeb/bugs/b37374/results.jsp"><img src="/coreWeb/resources/images/bar-background.gif"></a> 
             </td> 
             </tr> 
          
-            <tr> <td> 
-                <span style="color:red;background-color:white">
- [<b>Expression Error:4</b>, Found in tag <b>ImageAnchor</b>]</span> 
+            <tr><td>ImageAnchor [1]
+                <a href=""><img src="/coreWeb/resources/images/bar-background.gif"></a> 
             </td> 
             </tr> 
          
-            <tr> <td> 
+            <tr><td>ImageAnchor [2]
                 <a href="/coreWeb/bugs/b37374/results.jsp"><img src="/coreWeb/resources/images/bar-background.gif"></a> 
             </td> 
             </tr> 
          
         </table>
         </form>
-    <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 rowspan="2">1</th><th rowspan="2">Anchor</th><th>Attribute</th><td>href</td>
- <th>Expression</th><td>{container.item.domainOwner}</td></tr>
- <tr><th valign="top">Message</th><td colspan="3">Caught exception when evaluating expression "{container.item.domainOwner}" with available binding contexts [actionForm, pageFlow, globalApp, request, session, appication, pageContext, bundle, container, url, pageInput]. Root cause: java.lang.RuntimeException: Can not evaluate the identifier "domainOwner" on a null value object.</td></tr>
-<tr><th rowspan="2">2</th><th rowspan="2">Content</th><th>Attribute</th><td>value</td>
- <th>Expression</th><td>{container.item.domainOwner}</td></tr>
- <tr><th valign="top">Message</th><td colspan="3">Caught exception when evaluating expression "{container.item.domainOwner}" with available binding contexts [actionForm, pageFlow, globalApp, request, session, appication, pageContext, bundle, container, url, pageInput]. Root cause: java.lang.RuntimeException: Can not evaluate the identifier "domainOwner" on a null value object.</td></tr>
-<tr><th>3</th><th>Anchor</th><th>Message</th><td>The href expression "{container.item.domainOwner}" resolved to null.</td></tr>
-<tr><th rowspan="2">4</th><th rowspan="2">ImageAnchor</th><th>Attribute</th><td>href</td>
- <th>Expression</th><td>{container.item.domainOwner}</td></tr>
- <tr><th valign="top">Message</th><td colspan="3">Caught exception when evaluating expression "{container.item.domainOwner}" with available binding contexts [actionForm, pageFlow, globalApp, request, session, appication, pageContext, bundle, container, url, pageInput]. Root cause: java.lang.RuntimeException: Can not evaluate the identifier "domainOwner" on a null value object.</td></tr>
-<tr><th>5</th><th>ImageAnchor</th><th>Message</th><td>The href expression "{container.item.domainOwner}" resolved to null.</td></tr>
-</table></div>
-</body>
+    </body>
 </html>]]></ses:responseBody>
          </ses:response>
          <ses:testResults>
@@ -151,7 +127,7 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>29 Jun 2004, 06:29:14.237 PM MDT</ses:endDate>
+   <ses:endDate>25 Jul 2004, 01:35:41.520 PM MDT</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>