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 2005/01/09 06:49:22 UTC
svn commit: r124706 - in incubator/beehive/trunk/netui/test/webapps/drt: coreWeb/idmap/span testRecorder/config testRecorder/tests
Author: dolander
Date: Sat Jan 8 21:49:22 2005
New Revision: 124706
URL: http://svn.apache.org/viewcvs?view=rev&rev=124706
Log:
Add a DRT for non-HTML tagId with JavaScript lookups.
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/index.jsp
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/IdMapSpan.xml
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/Controller.jpf
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/Controller.jpf?view=auto&rev=124706
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/Controller.jpf Sat Jan 8 21:49:22 2005
@@ -0,0 +1,139 @@
+package idmap.span;
+
+import javax.servlet.http.HttpSession;
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
+@Jpf.Controller
+public class Controller extends PageFlowController
+{
+ private String[] _selectOptions = {"Option 1", "Option 2", "Option 3", "Option 4"};
+ private Bean _bean = new Bean();
+
+ public Bean getBean() {
+ return _bean;
+ }
+
+ public String[] getSelectOptions() {
+ return _selectOptions;
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ }
+ )
+ protected Forward begin()
+ {
+ return new Forward("index");
+ }
+
+
+ /**
+ * Callback that is invoked when this controller instance is created.
+ */
+ protected void onCreate()
+ {
+ }
+
+ /**
+ * Callback that is invoked when this controller instance is destroyed.
+ */
+ protected void onDestroy(HttpSession session)
+ {
+ }
+
+
+ @Jpf.Action(forwards = {
+ @Jpf.Forward(name = "success",
+ path = "index.jsp")
+ })
+ protected Forward postForm(Bean form)
+ {
+ _bean = form;
+ Forward forward = new Forward("success");
+ return forward;
+ }
+
+ public static class Bean extends FormData
+ {
+ private String text1;
+
+ private String text2;
+
+ private String text3;
+
+ private boolean check1;
+
+ private boolean check2;
+
+ public String getText1()
+ {
+ return text1;
+ }
+
+ public void setText1(String value)
+ {
+ text1 = value;
+ }
+
+ public String getText2()
+ {
+ return text2;
+ }
+
+ public void setText2(String value)
+ {
+ text2 = value;
+ }
+
+ public String getText3()
+ {
+ return text3;
+ }
+
+ public void setText3(String value)
+ {
+ text3 = value;
+ }
+
+ public boolean isCheck1()
+ {
+ return check1;
+ }
+
+ public void setCheck1(boolean value)
+ {
+ check1 = value;
+ }
+
+ public boolean isCheck2()
+ {
+ return check2;
+ }
+
+ public void setCheck2(boolean value)
+ {
+ check2 = value;
+ }
+ }
+}
+
+@Jpf.ViewProperties(value= {"<!-- This data is auto-generated. Hand-editing this section is not recommended. -->",
+"<view-properties>",
+"<pageflow-object id='pageflow:/idmap/simple/Controller.jpf'/>",
+"<pageflow-object id='page:index.jsp'><property value='220' name='x'/><property value='100' name='y'/></pageflow-object>",
+"<pageflow-object id='formbean:Bean'/>",
+"<pageflow-object id='action:postForm.do#idmap.simple.Controller.Bean'><property name='x' value='340'/><property name='y' value='100'/></pageflow-object>",
+"<pageflow-object id='forward:path#success#index.jsp#@action:postForm.do#idmap.simple.Controller.Bean@'/>",
+"<pageflow-object id='action-call:@page:index.jsp@#@action:postForm.do#idmap.simple.Controller.Bean@'><property name='elbowsX' value='256,280,280,304'/><property name='elbowsY' value='92,92,92,92'/><property name='fromPort' value='East_1'/><property name='toPort' value='West_1'/></pageflow-object>",
+"<pageflow-object id='action:begin.do'><property value='80' name='x'/><property value='100' name='y'/></pageflow-object>",
+"<pageflow-object id='forward:path#index#index.jsp#@action:begin.do@'><property value='116,140,140,164' name='elbowsX'/><property value='92,92,92,92' name='elbowsY'/><property value='East_1' name='fromPort'/><property value='West_1' name='toPort'/><property value='index' name='label'/></pageflow-object>",
+"</view-properties>"
+})
+interface VIEW_PROPERTIES { }
Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/index.jsp
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/index.jsp?view=auto&rev=124706
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/idmap/span/index.jsp Sat Jan 8 21:49:22 2005
@@ -0,0 +1,60 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%>
+<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%>
+<netui:html generateScopeId="true">
+ <head>
+ <netui:base/>
+ </head>
+ <netui:body>
+ <p style="color: green">This tests that setting a tagId on span. We
+ verify that the JavaScript and lookup tables are written out correctly.
+ </p>
+ <span id="scopeOneSpan" />
+ <netui:span tagId="span" value="This is a netui span with a tagid" />
+ <hr>
+ <p style="color: green">This section does two things, it will search
+ for the span using the tagId and also dumps the lookup tables. In this
+ case the IdNameMap should be underfined because the span does not have a
+ name;
+ </p>
+ <p id="javaOut"></p>
+ </netui:body>
+ <script language="JavaScript" type="text/JavaScript">
+
+ var p = document.getElementById("javaOut");
+ var s = document.getElementById("scopeOneSpan");
+
+ var val = "<b>Document Access</b><br>";
+ val = val + "Span by id is null: <b>" +
+ (document.getElementById(lookupIdByTagId("span",s)) == null) + "</b><br>";
+
+
+ val = val + "<br>";
+ if (typeof(netui_tagIdMap) != "undefined") {
+ val = val + "<b>tagIdMap:</b><br>";
+ for (var x in netui_tagIdMap) {
+ val = val + "Name '" + x + "' value '" + netui_tagIdMap[x] + "'<br>";
+ }
+ val = val + "<br>";
+ }
+ else {
+ val = val + "tagIdMap is <b>undefined</b><br>";
+ }
+
+ if (typeof(netui_tagIdNameMap) != "undefined") {
+ val = val + "<b>tagIdNameMap:</b><br>";
+ for (var x in netui_tagIdNameMap) {
+ val = val + "Name '" + x + "' value '" + netui_tagIdNameMap[x] + "'<br>";
+ }
+ val = val + "<br>";
+ }
+ else {
+ val = val + "tagIdNameMap is <b>undefined</b><br>";
+ }
+
+ p.innerHTML = val;
+ </script>
+</netui:html>
+
+
Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?view=diff&rev=124706&p1=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml&r1=124705&p2=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml&r2=124706
==============================================================================
--- 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 Sat Jan 8 21:49:22 2005
@@ -3165,6 +3165,19 @@
</features>
</test>
<test>
+ <name>IdMapSpan</name>
+ <description>Test of tagId inside of a span.</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>tags</category>
+ </categories>
+ <features>
+ <feature>JavaScript</feature>
+ <feature>Span</feature>
+ </features>
+ </test>
+ <test>
<name>ImageAnchorActions</name>
<description>Tests the bindability of the action attribute on an image anchor</description>
<webapp>coreWeb</webapp>
Added: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/IdMapSpan.xml
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/IdMapSpan.xml?view=auto&rev=124706
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/IdMapSpan.xml Sat Jan 8 21:49:22 2005
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>IdMapSpan</ses:sessionName>
+ <ses:tester>Daryl</ses:tester>
+ <ses:startDate>08 Jan 2005, 10:25:34.062 PM MST</ses:startDate>
+ <ses:description>Verify that tagId works for a span</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/idmap/span/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>A63DBFDC83462D56434D5D13CFDD942B</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>---------------</ses:name>
+ <ses:value>------------</ses:value>
+ </ses:header>
+ <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-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=A63DBFDC83462D56434D5D13CFDD942B</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en" netui:scopeId="n0">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/idmap/span/index.jsp">
+ </head>
+ <body>
+ <p style="color: green">This tests that setting a tagId on span. We
+ verify that the JavaScript and lookup tables are written out correctly.
+ </p>
+ <span id="scopeOneSpan" />
+ <span id="n0.span">This is a netui span with a tagid</span>
+ <hr>
+ <p style="color: green">This section does two things, it will search
+ for the span using the tagId and also dumps the lookup tables. In this
+ case the IdNameMap should be underfined because the span does not have a
+ name;
+ </p>
+ <p id="javaOut"></p>
+
+
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** This section contains code that will run when the page is loaded ****
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_names == null)
+ var netui_names = new Object();
+netui_names.n0__span="n0.span"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdMap == null)
+ var netui_tagIdMap = new Object();
+netui_tagIdMap.n0__span="n0.span"
+
+
+// **** This section contains functions typically run as events ****
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the scopeId for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var scopeId = getScopeId(tag);
+ if (scopeId == "")
+ return netui_names[id];
+ else
+ return netui_names[scopeId + "__" + id];
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var scopeId = getScopeId(tag);
+ if (scopeId == "")
+ return netui_tagIdMap[id];
+ else
+ return netui_tagIdMap[scopeId + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a scopeId.
+// The first scopeId found will be returned or the empty string if a scopeId is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:scopeId");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+-->
+</script>
+
+</body>
+ <script language="JavaScript" type="text/JavaScript">
+
+ var p = document.getElementById("javaOut");
+ var s = document.getElementById("scopeOneSpan");
+
+ var val = "<b>Document Access</b><br>";
+ val = val + "Span by id is null: <b>" +
+ (document.getElementById(lookupIdByTagId("span",s)) == null) + "</b><br>";
+
+
+ val = val + "<br>";
+ if (typeof(netui_tagIdMap) != "undefined") {
+ val = val + "<b>tagIdMap:</b><br>";
+ for (var x in netui_tagIdMap) {
+ val = val + "Name '" + x + "' value '" + netui_tagIdMap[x] + "'<br>";
+ }
+ val = val + "<br>";
+ }
+ else {
+ val = val + "tagIdMap is <b>undefined</b><br>";
+ }
+
+ if (typeof(netui_tagIdNameMap) != "undefined") {
+ val = val + "<b>tagIdNameMap:</b><br>";
+ for (var x in netui_tagIdNameMap) {
+ val = val + "Name '" + x + "' value '" + netui_tagIdNameMap[x] + "'<br>";
+ }
+ val = val + "<br>";
+ }
+ else {
+ val = val + "tagIdNameMap is <b>undefined</b><br>";
+ }
+
+ p.innerHTML = val;
+ </script>
+</div>
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>08 Jan 2005, 10:25:44.406 PM MST</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file