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/28 04:52:45 UTC
svn commit: rev 30810 - in incubator/beehive/trunk/netui: src/tags-html/org/apache/beehive/netui/tags src/tags-html/org/apache/beehive/netui/tags/html src/tags-html/org/apache/beehive/netui/tags/rendering src/tags-html/org/apache/beehive/netui/tags/tree src/util/org/apache/beehive/netui/util test/webapps/drt/coreWeb/index test/webapps/drt/coreWeb/template/divPanelTree test/webapps/drt/testRecorder/tests
Author: dolander
Date: Tue Jul 27 19:52:44 2004
New Revision: 30810
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractBaseTag.java
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IHtmlCore.java
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/Hidden.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/rendering/AbstractAttributeState.java
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/style.css
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/template/divPanelTree/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AnchorActions.xml
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ImageAnchorActions.xml
Log:
This is the beginning of a set of runtime errors that will be reported when EL binds to null values and we provide the
default. For certain attributes we will report a runtime error.
In this checkin, the Anchor has been fixed to require a value for Action, ClientAction and LinkName.
In addition, tagId is now required.
Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractBaseTag.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractBaseTag.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractBaseTag.java Tue Jul 27 19:52:44 2004
@@ -28,7 +28,6 @@
import org.apache.beehive.netui.tags.naming.FormDataNameInterceptor;
import org.apache.beehive.netui.tags.naming.IndexedNameInterceptor;
import org.apache.beehive.netui.tags.naming.NameInterceptor;
-import org.apache.beehive.netui.tags.rendering.AbstractAttributeState;
import org.apache.beehive.netui.util.Bundle;
import org.apache.beehive.netui.util.logging.Logger;
import org.apache.struts.Globals;
@@ -573,9 +572,42 @@
return URLRewriterService.rewriteName(pageContext.getServletContext(), pageContext.getRequest(), name);
}
-
- /////////////////////////// Generic Attribute Rendering Support ////////////////////////////
/////////////////////////// Generic Error Reporting Support ////////////////////////////
+
+ /**
+ * Report an error if the value of <code>attrValue</code> is equal to the empty string, otherwise return
+ * that value. If <code>attrValue</code> is equal to the empty string, an error is registered and
+ * null is returned.
+ * @param attrValue The value to be checked for the empty string
+ * @param attrName The name of the attribute
+ * @return either the attrValue if it is not the empty string or null
+ * @throws JspException A JspException will be thrown if inline error reporting is turned off.
+ */
+ protected final String setRequiredValueAttribute(String attrValue,String attrName)
+ throws JspException
+ {
+ assert(attrValue != null) : "parameter 'attrValue' must not be null";
+ assert(attrName != null) : "parameter 'attrName' must not be null";
+
+ if ("".equals(attrValue)) {
+ String s = Bundle.getString("Tags_AttrValueRequired", new Object[] {attrName});
+ registerTagError(s, null);
+ return null;
+ }
+ return attrValue;
+ }
+
+ /**
+ * Filter out the empty string value and return either the value or null. When the value of
+ * <code>attrValue</code> is equal to the empty string this will return null, otherwise it will
+ * return the value of <code>attrValue</code>.
+ * @param attrValue This is the value we will check for the empty string.
+ * @return either the value of attrValue or null
+ */
+ protected final String setNonEmptyValueAttribute(String attrValue)
+ {
+ return ("".equals(attrValue)) ? null : attrValue;
+ }
/**
* This will report an error from a tag. The error will
Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IHtmlCore.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IHtmlCore.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IHtmlCore.java Tue Jul 27 19:52:44 2004
@@ -18,6 +18,8 @@
*/
package org.apache.beehive.netui.tags;
+import javax.servlet.jsp.JspException;
+
/**
* This interface defines the HTML 4.0 core attributes. The following properties represent the core attributes:
@@ -40,7 +42,7 @@
* Set the ID of the tag.
* @param tagId - the tagId.
*/
- void setTagId(String tagId);
+ void setTagId(String tagId);
/**
* Returns the Nodes title.
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 Tue Jul 27 19:52:44 2004
@@ -164,6 +164,8 @@
public class Anchor extends HtmlBaseTag
implements URLParams
{
+ private static final String REQUIRED_ATTR = "href, action, linkName, clientAction";
+
/**
* NOTES: It looks like the location can only be used with href. We need to make sure that there
* is an error if this is not true. Location cannot be used at the moment with a target of an
@@ -224,7 +226,7 @@
/**
* Set the name of the action for the Anchor.
- * @param action - the name of the action to set for the Anchor.
+ * @param action - the name of the action to set for the Anchor. Action requires a value.
* @jsptagref.attributedescription
* The action method to invoke. The action method must be in the Controller file
* of the Page Flow directory.
@@ -237,8 +239,9 @@
* @netui.tldx:attribute reftype="netui-action-url" category="general"
*/
public void setAction(String action)
+ throws JspException
{
- _action = action;
+ _action = setRequiredValueAttribute(action,"action");
}
/**
@@ -311,7 +314,7 @@
}
/**
- * Sets the href of the Anchor.
+ * Sets the href of the Anchor. This attribute will accept the empty String as a legal value.
* @param href - the hyperlink URI for the Anchor.
* @jsptagref.attributedescription
* The URL to go to.
@@ -336,8 +339,9 @@
* @netui:attribute required="false" rtexprvalue="true"
*/
public void setClientAction(String action)
+ throws JspException
{
- _clientAction = action;
+ _clientAction = setRequiredValueAttribute(action,"clientAction");
}
/**
@@ -354,8 +358,9 @@
* @netui.tldx:attribute
*/
public void setLinkName(String linkName)
+ throws JspException
{
- _linkName = linkName.trim();
+ _linkName = setRequiredValueAttribute(linkName,"linkName");
}
/**
@@ -373,7 +378,7 @@
*/
public void setLocation(String location)
{
- _location = location;
+ _location = setNonEmptyValueAttribute(location);
}
/**
@@ -518,6 +523,13 @@
*/
public int doEndTag() throws JspException
{
+ // report errors that may have occurred when the required attributes are being set
+ if (hasErrors()) {
+ reportErrors();
+ localRelease();
+ return EVAL_PAGE;
+ }
+
// build the anchor into the results
StringBuilder results = new StringBuilder(128);
StringBuilder script = new StringBuilder(128);
@@ -597,9 +609,9 @@
// if we have not specified a destination or we've specified too many
// then we need to report an error.
if (have == 0 || have > 1) {
- String s = Bundle.getString("Tags_Anchor_InvalidAnchorURI",
- new Object[]{"href, action, linkName, clientAction"});
+ String s = Bundle.getString("Tags_Anchor_InvalidAnchorURI", new Object[] {REQUIRED_ATTR});
registerTagError(s, null);
+ return false;
}
if (_linkName != null) {
@@ -805,17 +817,14 @@
{
String url = null;
try {
- url = PageflowTagUtils.computeURL(pageContext, null, href,
- null, null, _params, location, true);
+ url = PageflowTagUtils.computeURL(pageContext, null, href, null, null, _params, location, true);
}
catch (MalformedURLException e) {
+ // report the error...
logger.error(Bundle.getString("Tags_MalformedURLException"));
String s = null;
s = Bundle.getString("Tags_Anchor_URLException",
- new Object[]{e.getMessage()});
-
- // report the error. If this returns a value then we throw an
- // exception
+ new Object[] {e.getMessage()});
registerTagError(s, e);
}
return url;
Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Hidden.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Hidden.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Hidden.java Tue Jul 27 19:52:44 2004
@@ -176,6 +176,7 @@
*/
public void setTagId(String tagId)
{
+ // @todo: this is in the base class, should we remove it?
_tagId = tagId;
}
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 Tue Jul 27 19:52:44 2004
@@ -168,7 +168,7 @@
public void setAlt(String alt)
{
AbstractHtmlState tsh = getState();
- tsh.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, alt);
+ tsh.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, alt, true);
}
/**
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 Tue Jul 27 19:52:44 2004
@@ -496,6 +496,13 @@
*/
public int doEndTag() throws JspException
{
+ // report errors that may have occurred when the required attributes are being set
+ if (hasErrors()) {
+ reportErrors();
+ localRelease();
+ return EVAL_PAGE;
+ }
+
ServletRequest req = pageContext.getRequest();
// build the anchor into the results
@@ -505,15 +512,6 @@
// render the anchor tag
TagRenderingBase trb = TagRenderingBase.Factory.getRendering(TagRenderingBase.ANCHOR_TAG, req);
if (!createAnchorBeginTag(results, script, trb)) {
- reportErrors();
- if (script.length() > 0)
- write(script.toString());
- localRelease();
- return EVAL_PAGE;
- }
-
- // if there are errors then return....
- if (hasErrors()) {
reportErrors();
if (script.length() > 0)
write(script.toString());
Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/AbstractAttributeState.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/AbstractAttributeState.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/AbstractAttributeState.java Tue Jul 27 19:52:44 2004
@@ -74,19 +74,21 @@
}
/**
- * Register a name value part into a named attribute map. The base type
- * supports two attribute maps, the first are general attributes and the second are
- * attributes which may contain expressions. These are identified by the type definition
- * <code>ATTR_GENERAL<code> and <code>ATTR_GENERAL_EXPRESSION</code> respectively.
+ * Register a name/value pair into a named attribute map. The base type
+ * supports the <code>ATTR_GENERAL<code> named map. Subclasses may add additional maps
+ * enabling attributes to be treated with different behavior.
* @param type an integer key identifying the map.
* @param attrName the name of the attribute
* @param value the value of the attribute
*/
- public void registerAttribute(int type, String attrName, String value)
+ public void registerAttribute(int type, String attrName, String value, boolean ignoreEmpty)
{
-
assert(attrName != null);
- if (value == null)
+
+ // If the value is null or the empty string ignore the expression.
+ if (value == null )
+ return;
+ if (ignoreEmpty && "".equals(value))
return;
Map map = selectMap(type, true);
@@ -97,6 +99,11 @@
return;
}
map.put(attrName, value);
+ }
+
+ public void registerAttribute(int type, String attrName, String value)
+ {
+ registerAttribute(type,attrName,value,true);
}
/**
Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java Tue Jul 27 19:52:44 2004
@@ -852,7 +852,7 @@
_imgState.clear();
_imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, WIDTH, "16px");
_imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, BORDER, "0");
- _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, "");
+ _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, "",false);
for (int i = 0; i < level; i++) {
int levels = level - i;
TreeElement parent = node;
@@ -918,7 +918,7 @@
_imgState.src = img.toString();
_imgState.style = "vertical-align:middle;";
_imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, BORDER, "0");
- _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, "");
+ _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, "",false);
imageRenderer.doStartTag(sb, _imgState);
imageRenderer.doEndTag(sb);
@@ -1027,7 +1027,7 @@
_imgState.src = icon;
_imgState.style = "vertical-align:middle";
String alt = Bundle.getString("Tags_TreeAltText", null);
- _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, alt);
+ _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, alt, false);
_imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, BORDER, "0");
// set the inheritted attributes
Modified: incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties (original)
+++ incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties Tue Jul 27 19:52:44 2004
@@ -3,6 +3,7 @@
Tags_Exception=Exception: {0}
Tags_WriteException=JspException writting to the response.
Tags_NotURLRewriter={0} is not a URLRewriter.
+Tags_AttrValueRequired=Attribute ''{0}'' is required to have a value. The value "" is illegal. This is often cause by binding to an object with a null value.
Tags_BadAction=Action ''{0}'' is not a valid action.
Tags_NullBadAction=Action was resolved as "", this is probably the result of an expression bound to a null Object.
Tags_NullAction=The expression {0} results in a null action.
@@ -78,7 +79,7 @@
Tags_Image_Page_and_URL=Image tag with both a Page and URL specified, \
page "{0}", url "{1}"
Tags_Iteration_Error=Unable to create iterator for attribute <b>optionDataSource</b> of type "<b>{0}</b>"
-Tags_Anchor_URLException=URL Exception: {0}
+Tags_Anchor_URLException=URL Exception calculating the URL: {0}
Tags_Anchor_ForwardError=URL Exception: {0}. This may be caused because an ActionMapping cannot be found (the page was not accessed through an Action).
Tags_Form_URLException=The action ''{0}'' for the Form is malformed: {1}
Tags_Anchor_InvalidAnchorURI=The Anchor URI is invalid; it must be exactly one of {0}
Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/index.jsp
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/index.jsp (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/index.jsp Tue Jul 27 19:52:44 2004
@@ -43,7 +43,7 @@
<div id="navlist">
<ul>
<netui-data:repeater dataSource="pageFlow.categories">
- <li><netui:anchor tagId="${container.item.selection}" action="selectList">${container.item.description}
+ <li><netui:anchor styleClass="${container.item.selection}" action="selectList">${container.item.description}
<netui:parameter name="target" value="${container.item.name}" />
</netui:anchor></li>
</netui-data:repeater>
Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/style.css
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/style.css (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/style.css Tue Jul 27 19:52:44 2004
@@ -94,10 +94,10 @@
color: #333;
}
-#uberlink, #uberlink:link, #uberlink:visited, #uberlink:hover {
- border: 1px solid #333;
- background-color: #FF6600;
- background-image: url(linkOver.gif);
+a.uberlink, a.uberlink:link, a.uberlink :visited, a.uberlink :hover {
+ border: 1px solid #333 !important;
+ background-color: #FF6600 !important;
+ background-image: url(linkOver.gif) !important;
color: #333 !important;
}
Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/template/divPanelTree/Controller.jpf
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/template/divPanelTree/Controller.jpf (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/template/divPanelTree/Controller.jpf Tue Jul 27 19:52:44 2004
@@ -107,8 +107,6 @@
/**
* This method represents the point of entry into the pageflow
- * @jpf:action
- * @jpf:forward name="success" path="index.jsp"
*/
@Jpf.Action(
forwards = {
@@ -121,10 +119,6 @@
return new Forward("success");
}
- /**
- * @jpf:action
- * @jpf:forward name="success" path="index.jsp"
- */
@Jpf.Action(
forwards = {
@Jpf.Forward(
Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AnchorActions.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AnchorActions.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AnchorActions.xml Tue Jul 27 19:52:44 2004
@@ -2,7 +2,7 @@
<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
<ses:sessionName>AnchorActions</ses:sessionName>
<ses:tester>Daryl</ses:tester>
- <ses:startDate>07 Jul 2004, 08:15:45.885 AM MDT</ses:startDate>
+ <ses:startDate>27 Jul 2004, 10:21:53.027 AM MDT</ses:startDate>
<ses:description>Daryl</ses:description>
<ses:tests>
<ses:test>
@@ -15,12 +15,7 @@
<ses:uri>/coreWeb/tags/anchorActions/ActionOne.do</ses:uri>
<ses:method>GET</ses:method>
<ses:parameters/>
- <ses:cookies>
- <ses:cookie>
- <ses:name>JSESSIONID</ses:name>
- <ses:value>B9FF7DBF609DA82170EA74B6B4EC4C07</ses:value>
- </ses:cookie>
- </ses:cookies>
+ <ses:cookies/>
<ses:headers>
<ses:header>
<ses:name>accept</ses:name>
@@ -39,10 +34,6 @@
<ses:value>Keep-Alive, TE</ses:value>
</ses:header>
<ses:header>
- <ses:name>cookie</ses:name>
- <ses:value>JSESSIONID=B9FF7DBF609DA82170EA74B6B4EC4C07</ses:value>
- </ses:header>
- <ses:header>
<ses:name>cookie2</ses:name>
<ses:value>$Version="1"</ses:value>
</ses:header>
@@ -56,7 +47,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>-64b69cb9:fd99ce7512:-7649</ses:value>
+ <ses:value>-42731dee:fe01681d8e:-7fda</ses:value>
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testnumber</ses:name>
@@ -114,7 +105,7 @@
</html>]]></ses:responseBody>
</ses:response>
<ses:testResults>
- <ses:testStatus>fail</ses:testStatus>
+ <ses:testStatus>pass</ses:testStatus>
</ses:testResults>
</ses:test>
<ses:test>
@@ -130,7 +121,7 @@
<ses:cookies>
<ses:cookie>
<ses:name>JSESSIONID</ses:name>
- <ses:value>B9FF7DBF609DA82170EA74B6B4EC4C07</ses:value>
+ <ses:value>7DC2AEC60BA4DD26E3E282591D9480AA</ses:value>
</ses:cookie>
</ses:cookies>
<ses:headers>
@@ -152,7 +143,7 @@
</ses:header>
<ses:header>
<ses:name>cookie</ses:name>
- <ses:value>JSESSIONID=B9FF7DBF609DA82170EA74B6B4EC4C07</ses:value>
+ <ses:value>$Version=0; JSESSIONID=7DC2AEC60BA4DD26E3E282591D9480AA; $Path=/coreWeb</ses:value>
</ses:header>
<ses:header>
<ses:name>cookie2</ses:name>
@@ -168,7 +159,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>-64b69cb9:fd99ce7512:-7649</ses:value>
+ <ses:value>-42731dee:fe01681d8e:-7fda</ses:value>
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testnumber</ses:name>
@@ -226,7 +217,7 @@
</html>]]></ses:responseBody>
</ses:response>
<ses:testResults>
- <ses:testStatus>fail</ses:testStatus>
+ <ses:testStatus>pass</ses:testStatus>
</ses:testResults>
</ses:test>
<ses:test>
@@ -242,7 +233,7 @@
<ses:cookies>
<ses:cookie>
<ses:name>JSESSIONID</ses:name>
- <ses:value>B9FF7DBF609DA82170EA74B6B4EC4C07</ses:value>
+ <ses:value>7DC2AEC60BA4DD26E3E282591D9480AA</ses:value>
</ses:cookie>
</ses:cookies>
<ses:headers>
@@ -264,7 +255,7 @@
</ses:header>
<ses:header>
<ses:name>cookie</ses:name>
- <ses:value>JSESSIONID=B9FF7DBF609DA82170EA74B6B4EC4C07</ses:value>
+ <ses:value>$Version=0; JSESSIONID=7DC2AEC60BA4DD26E3E282591D9480AA; $Path=/coreWeb</ses:value>
</ses:header>
<ses:header>
<ses:name>cookie2</ses:name>
@@ -280,7 +271,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>-64b69cb9:fd99ce7512:-7649</ses:value>
+ <ses:value>-42731dee:fe01681d8e:-7fda</ses:value>
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testnumber</ses:name>
@@ -338,7 +329,7 @@
</html>]]></ses:responseBody>
</ses:response>
<ses:testResults>
- <ses:testStatus>fail</ses:testStatus>
+ <ses:testStatus>pass</ses:testStatus>
</ses:testResults>
</ses:test>
<ses:test>
@@ -354,7 +345,7 @@
<ses:cookies>
<ses:cookie>
<ses:name>JSESSIONID</ses:name>
- <ses:value>B9FF7DBF609DA82170EA74B6B4EC4C07</ses:value>
+ <ses:value>7DC2AEC60BA4DD26E3E282591D9480AA</ses:value>
</ses:cookie>
</ses:cookies>
<ses:headers>
@@ -376,7 +367,7 @@
</ses:header>
<ses:header>
<ses:name>cookie</ses:name>
- <ses:value>JSESSIONID=B9FF7DBF609DA82170EA74B6B4EC4C07</ses:value>
+ <ses:value>$Version=0; JSESSIONID=7DC2AEC60BA4DD26E3E282591D9480AA; $Path=/coreWeb</ses:value>
</ses:header>
<ses:header>
<ses:name>cookie2</ses:name>
@@ -392,7 +383,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>-64b69cb9:fd99ce7512:-7649</ses:value>
+ <ses:value>-42731dee:fe01681d8e:-7fda</ses:value>
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testnumber</ses:name>
@@ -438,7 +429,7 @@
<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>1</th><th>Anchor</th><th>Message</th><td>Action was resolved as "", this is probably the result of an expression bound to a null Object.</td></tr>
+<tr><th>1</th><th>Anchor</th><th>Message</th><td>Attribute 'action' is required to have a value. The value "" is illegal. This is often cause by binding to an object with a null value.</td></tr>
<tr><th>2</th><th>Anchor</th><th>Message</th><td>Action 'invalidAction' is not a valid action.</td></tr>
</table></div>
</body>
@@ -449,9 +440,9 @@
</ses:testResults>
</ses:test>
</ses:tests>
- <ses:endDate>07 Jul 2004, 08:15:45.935 AM MDT</ses:endDate>
+ <ses:endDate>27 Jul 2004, 10:21:54.980 AM MDT</ses:endDate>
<ses:sessionStatus>fail</ses:sessionStatus>
<ses:testCount>4</ses:testCount>
- <ses:passedCount>0</ses:passedCount>
- <ses:failedCount>4</ses:failedCount>
+ <ses:passedCount>3</ses:passedCount>
+ <ses:failedCount>1</ses:failedCount>
</ses:recorderSession>
Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ImageAnchorActions.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ImageAnchorActions.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ImageAnchorActions.xml Tue Jul 27 19:52:44 2004
@@ -2,7 +2,7 @@
<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
<ses:sessionName>ImageAnchorActions</ses:sessionName>
<ses:tester>Daryl</ses:tester>
- <ses:startDate>07 Jul 2004, 02:53:34.173 PM MDT</ses:startDate>
+ <ses:startDate>27 Jul 2004, 12:32:35.496 PM MDT</ses:startDate>
<ses:description>Daryl</ses:description>
<ses:tests>
<ses:test>
@@ -47,7 +47,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>750d686d:fd9b5e09ef:-7c7d</ses:value>
+ <ses:value>-b9e2a5c:fe01dc55c3:-7dac</ses:value>
</ses:header>
<ses:header>
<ses:name>user-agent</ses:name>
@@ -100,7 +100,7 @@
</html>]]></ses:responseBody>
</ses:response>
<ses:testResults>
- <ses:testStatus>fail</ses:testStatus>
+ <ses:testStatus>pass</ses:testStatus>
</ses:testResults>
</ses:test>
<ses:test>
@@ -116,7 +116,7 @@
<ses:cookies>
<ses:cookie>
<ses:name>JSESSIONID</ses:name>
- <ses:value>59D839FB6206CCBBE07A1676BDC20B6C</ses:value>
+ <ses:value>EA41B1F9AA2332070B9D2FFF26E33D83</ses:value>
</ses:cookie>
</ses:cookies>
<ses:headers>
@@ -138,7 +138,7 @@
</ses:header>
<ses:header>
<ses:name>cookie</ses:name>
- <ses:value>$Version=0; JSESSIONID=59D839FB6206CCBBE07A1676BDC20B6C; $Path=/coreWeb</ses:value>
+ <ses:value>$Version=0; JSESSIONID=EA41B1F9AA2332070B9D2FFF26E33D83; $Path=/coreWeb</ses:value>
</ses:header>
<ses:header>
<ses:name>cookie2</ses:name>
@@ -154,7 +154,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>750d686d:fd9b5e09ef:-7c7d</ses:value>
+ <ses:value>-b9e2a5c:fe01dc55c3:-7dac</ses:value>
</ses:header>
<ses:header>
<ses:name>user-agent</ses:name>
@@ -207,7 +207,7 @@
</html>]]></ses:responseBody>
</ses:response>
<ses:testResults>
- <ses:testStatus>fail</ses:testStatus>
+ <ses:testStatus>pass</ses:testStatus>
</ses:testResults>
</ses:test>
<ses:test>
@@ -223,7 +223,7 @@
<ses:cookies>
<ses:cookie>
<ses:name>JSESSIONID</ses:name>
- <ses:value>59D839FB6206CCBBE07A1676BDC20B6C</ses:value>
+ <ses:value>EA41B1F9AA2332070B9D2FFF26E33D83</ses:value>
</ses:cookie>
</ses:cookies>
<ses:headers>
@@ -245,7 +245,7 @@
</ses:header>
<ses:header>
<ses:name>cookie</ses:name>
- <ses:value>$Version=0; JSESSIONID=59D839FB6206CCBBE07A1676BDC20B6C; $Path=/coreWeb</ses:value>
+ <ses:value>$Version=0; JSESSIONID=EA41B1F9AA2332070B9D2FFF26E33D83; $Path=/coreWeb</ses:value>
</ses:header>
<ses:header>
<ses:name>cookie2</ses:name>
@@ -261,7 +261,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>750d686d:fd9b5e09ef:-7c7d</ses:value>
+ <ses:value>-b9e2a5c:fe01dc55c3:-7dac</ses:value>
</ses:header>
<ses:header>
<ses:name>user-agent</ses:name>
@@ -314,7 +314,7 @@
</html>]]></ses:responseBody>
</ses:response>
<ses:testResults>
- <ses:testStatus>fail</ses:testStatus>
+ <ses:testStatus>pass</ses:testStatus>
</ses:testResults>
</ses:test>
<ses:test>
@@ -330,7 +330,7 @@
<ses:cookies>
<ses:cookie>
<ses:name>JSESSIONID</ses:name>
- <ses:value>59D839FB6206CCBBE07A1676BDC20B6C</ses:value>
+ <ses:value>EA41B1F9AA2332070B9D2FFF26E33D83</ses:value>
</ses:cookie>
</ses:cookies>
<ses:headers>
@@ -352,7 +352,7 @@
</ses:header>
<ses:header>
<ses:name>cookie</ses:name>
- <ses:value>$Version=0; JSESSIONID=59D839FB6206CCBBE07A1676BDC20B6C; $Path=/coreWeb</ses:value>
+ <ses:value>$Version=0; JSESSIONID=EA41B1F9AA2332070B9D2FFF26E33D83; $Path=/coreWeb</ses:value>
</ses:header>
<ses:header>
<ses:name>cookie2</ses:name>
@@ -368,7 +368,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>750d686d:fd9b5e09ef:-7c7d</ses:value>
+ <ses:value>-b9e2a5c:fe01dc55c3:-7dac</ses:value>
</ses:header>
<ses:header>
<ses:name>user-agent</ses:name>
@@ -421,7 +421,7 @@
</html>]]></ses:responseBody>
</ses:response>
<ses:testResults>
- <ses:testStatus>fail</ses:testStatus>
+ <ses:testStatus>pass</ses:testStatus>
</ses:testResults>
</ses:test>
<ses:test>
@@ -437,7 +437,7 @@
<ses:cookies>
<ses:cookie>
<ses:name>JSESSIONID</ses:name>
- <ses:value>59D839FB6206CCBBE07A1676BDC20B6C</ses:value>
+ <ses:value>EA41B1F9AA2332070B9D2FFF26E33D83</ses:value>
</ses:cookie>
</ses:cookies>
<ses:headers>
@@ -459,7 +459,7 @@
</ses:header>
<ses:header>
<ses:name>cookie</ses:name>
- <ses:value>$Version=0; JSESSIONID=59D839FB6206CCBBE07A1676BDC20B6C; $Path=/coreWeb</ses:value>
+ <ses:value>$Version=0; JSESSIONID=EA41B1F9AA2332070B9D2FFF26E33D83; $Path=/coreWeb</ses:value>
</ses:header>
<ses:header>
<ses:name>cookie2</ses:name>
@@ -475,7 +475,7 @@
</ses:header>
<ses:header>
<ses:name>testrecorder.playback.testid</ses:name>
- <ses:value>750d686d:fd9b5e09ef:-7c7d</ses:value>
+ <ses:value>-b9e2a5c:fe01dc55c3:-7dac</ses:value>
</ses:header>
<ses:header>
<ses:name>user-agent</ses:name>
@@ -517,7 +517,7 @@
<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>1</th><th>ImageAnchor</th><th>Message</th><td>Action 'invalidAction' is not a valid action.</td></tr>
-<tr><th>2</th><th>ImageAnchor</th><th>Message</th><td>Action was resolved as "", this is probably the result of an expression bound to a null Object.</td></tr>
+<tr><th>2</th><th>ImageAnchor</th><th>Message</th><td>Attribute 'action' is required to have a value. The value "" is illegal. This is often cause by binding to an object with a null value.</td></tr>
</table></div>
</body>
</html>]]></ses:responseBody>
@@ -527,9 +527,9 @@
</ses:testResults>
</ses:test>
</ses:tests>
- <ses:endDate>07 Jul 2004, 02:53:36.016 PM MDT</ses:endDate>
+ <ses:endDate>27 Jul 2004, 12:32:37.539 PM MDT</ses:endDate>
<ses:sessionStatus>fail</ses:sessionStatus>
<ses:testCount>5</ses:testCount>
- <ses:passedCount>0</ses:passedCount>
- <ses:failedCount>5</ses:failedCount>
+ <ses:passedCount>4</ses:passedCount>
+ <ses:failedCount>1</ses:failedCount>
</ses:recorderSession>