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>