You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2005/02/24 17:41:41 UTC
svn commit: r155208 - in incubator/beehive/trunk/netui:
src/javascript/tags-datagrid/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/
test/src/junitTests/org/apache/beehive/netui/test/datagrid/
test/webapps/drt/coreWeb/databinding/datagrid/j348/
test/webapps/drt/testRecorder/config/ test/webapps/drt/testRecorder/tests/
Author: ekoneil
Date: Thu Feb 24 08:41:39 2005
New Revision: 155208
URL: http://svn.apache.org/viewcvs?view=rev&rev=155208
Log:
Fix for J348. Filter URLs are now friendly with existing URL parameters.
Add a BVT to check this.
Also refactored the SQLSupport class so that client code obtains an instance rather than making static calls, so the following:
SQLSupport.createFilterClause(...);
is now
SQLSupport.getInstance().createFilterClause(...);
This is necessary so that database-specific configuration options (like the quote character) are settable on an instance of the SQLSupport class.
BB: self
DRT: NetUI / datagrid pass
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/Controller.jpf (with props)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/index.jsp (with props)
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFilterSmoke.xml
Modified:
incubator/beehive/trunk/netui/src/javascript/tags-datagrid/netui-datagrid.js
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/FilterCodecTest.java
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Modified: incubator/beehive/trunk/netui/src/javascript/tags-datagrid/netui-datagrid.js
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/javascript/tags-datagrid/netui-datagrid.js?view=diff&r1=155207&r2=155208
==============================================================================
--- incubator/beehive/trunk/netui/src/javascript/tags-datagrid/netui-datagrid.js (original)
+++ incubator/beehive/trunk/netui/src/javascript/tags-datagrid/netui-datagrid.js Thu Feb 24 08:41:39 2005
@@ -95,6 +95,9 @@
qs += this._urlParams[i].toUrlParam();
}
+ if(qs.length > 1)
+ qs += '&';
+
for(var i = 0; i < this._filters.length; i++) {
/* allow parameters to return null to indicate that there's no parameter to add */
var p = this._filters[i].toUrlParam();
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java?view=diff&r1=155207&r2=155208
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java Thu Feb 24 08:41:39 2005
@@ -212,72 +212,6 @@
/* --------------------------------------------------
- Filter Methods
-
- -------------------------------------------------- */
- /**
- * Get a query parameter map but omit the filters for the
- * given namespace with the given filter expression.
- *
- * @param namespace
- * @param filterExpression
- * @return
- */
- public Map getQueryParamsOmitFilter(String namespace, String filterExpression) {
- Map params = new HashMap();
-
- for(Object key : _urlParams.keySet()) {
- if(key.equals(_filterCodec.getQueryParamKey()))
- continue;
- else params.put(key, _urlParams.get(key));
- }
-
- if(_filters != null) {
- ArrayList filterList = new ArrayList();
- for(String curNamespace : _filters.keySet()) {
- List<Filter> filters = _filters.get(curNamespace);
-
- filterList.add(_filterCodec.encode(curNamespace, filters, filterExpression));
- }
-
- params.put(_filterCodec.getQueryParamKey(), (String[])filterList.toArray(new String[0]));
- }
-
- return params;
- }
-
- /**
- *
- * @param namespace
- * @return
- */
- public Map getQueryParamsOmitAllFilters(String namespace) {
- Map params = new HashMap();
-
- for(Object key : _urlParams.keySet()) {
- if(key.equals(_filterCodec.getQueryParamKey()))
- continue;
- else params.put(key, _urlParams.get(key));
- }
-
- if(_filters != null) {
- ArrayList filterList = new ArrayList();
- for(String curNamespace : _filters.keySet()) {
- if(curNamespace.equals(namespace))
- continue;
-
- List<Filter> filters = _filters.get(curNamespace);
- String filterParamValue = _filterCodec.encode(curNamespace, filters);
- filterList.add(filterParamValue);
- }
- params.put(_filterCodec.getQueryParamKey(), (String[])filterList.toArray(new String[0]));
- }
-
- return params;
- }
-
- /* --------------------------------------------------
-
Implementation details
-------------------------------------------------- */
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java?view=diff&r1=155207&r2=155208
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java Thu Feb 24 08:41:39 2005
@@ -60,8 +60,8 @@
private static final FilterOperation STRING_FILTER_OPERATION = FILTER_OPERATIONS[9];
private static final FilterOperation OTHER_FILTER_OPERATION = FILTER_OPERATIONS[1];
- /* do not construct */
- private SQLSupport() {
+ public static SQLSupport getInstance() {
+ return new SQLSupport();
}
/**
@@ -110,53 +110,68 @@
return fOp.getAbbreviation();
}
- public static final String createOrderByFragment(List<Sort> sorts) {
+ public static final FilterOperation mapStringToOperation(String abbrev) {
+ for(FilterOperation fOp : FILTER_OPERATIONS) {
+ if(fOp.getAbbreviation().equals(abbrev))
+ return fOp;
+ }
+ return null;
+ }
+
+ /* non-public constructor */
+ private SQLSupport() {
+ }
+
+ public final String createOrderByFragment(List<Sort> sorts) {
if(sorts == null || sorts.size() == 0)
return EMPTY_STRING;
- StringBuilder sb = new StringBuilder();
- sb.append("ORDER BY ");
+ StringBuilder sql = new StringBuilder();
+ sql.append("ORDER BY ");
+ internalCreateOrderByFragment(sql, sorts);
+ return sql.toString();
+ }
- for(int i = 0; i < sorts.size(); i++) {
- Sort sort = sorts.get(i);
- if(i > 0)
- sb.append(", ");
- sb.append(sort.getSortExpression());
- if(sort.getDirection() == SortDirection.DESCENDING)
- sb.append(" DESC");
- }
+ public final String createOrderByClause(List<Sort> sorts) {
+ if(sorts == null || sorts.size() == 0)
+ return EMPTY_STRING;
- return sb.toString();
+ StringBuilder sql = new StringBuilder(64);
+ internalCreateOrderByFragment(sql, sorts);
+ return sql.toString();
}
- public static String createWhereFragment(List<Filter> filters) {
+ public String createWhereClause(List<Filter> filters) {
if(filters == null || filters.size() == 0)
return EMPTY_STRING;
- StringBuilder sb = new StringBuilder(64);
- internalCreateWhereFragment(sb, filters);
- return sb.toString();
+ StringBuilder sql = new StringBuilder();
+ sql.append("WHERE ");
+ internalCreateWhereFragment(sql, filters);
+ return sql.toString();
}
- public static String createWhereClause(List<Filter> filters) {
+ public String createWhereFragment(List<Filter> filters) {
if(filters == null || filters.size() == 0)
return EMPTY_STRING;
- StringBuilder sb = new StringBuilder();
- sb.append("WHERE ");
- internalCreateWhereFragment(sb, filters);
- return sb.toString();
+ StringBuilder sql = new StringBuilder(64);
+ internalCreateWhereFragment(sql, filters);
+ return sql.toString();
}
- public static final FilterOperation mapStringToOperation(String abbrev) {
- for(FilterOperation fOp : FILTER_OPERATIONS) {
- if(fOp.getAbbreviation().equals(abbrev))
- return fOp;
+ private void internalCreateOrderByFragment(StringBuilder sql, List<Sort> sorts) {
+ for(int i = 0; i < sorts.size(); i++) {
+ Sort sort = sorts.get(i);
+ if(i > 0)
+ sql.append(", ");
+ sql.append(sort.getSortExpression());
+ if(sort.getDirection() == SortDirection.DESCENDING)
+ sql.append(" DESC");
}
- return null;
}
- private static void internalCreateWhereFragment(StringBuilder sql, List<Filter> filters) {
+ private void internalCreateWhereFragment(StringBuilder sql, List<Filter> filters) {
for(int i = 0; i < filters.size(); i++) {
Filter filter = filters.get(i);
@@ -257,7 +272,7 @@
}
}
- private static String convertSQLPattern(Object o) {
+ private String convertSQLPattern(Object o) {
String s = o.toString();
s = s.replaceAll("\\\\", "\\\\\\\\");
s = s.replaceAll("%", "\\\\%");
@@ -266,13 +281,13 @@
}
- private static String convertSQLString(Object o) {
+ private String convertSQLString(Object o) {
String s = o.toString();
s = s.replaceAll("'", "''");
return s;
}
- private static void addParameter(StringBuilder sql, Object value, FilterTypeHint typeHint) {
+ private void addParameter(StringBuilder sql, Object value, FilterTypeHint typeHint) {
if(typeHint == FilterTypeHint.STRING) {
sql.append(QUOTE_CHAR);
sql.append(value);
@@ -282,7 +297,7 @@
}
}
- private static String lookupOperator(FilterOperationHint op) {
+ private String lookupOperator(FilterOperationHint op) {
switch(op) {
case EQUAL: return "=";
case NOT_EQUAL: return "!=";
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/FilterCodecTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/FilterCodecTest.java?view=diff&r1=155207&r2=155208
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/FilterCodecTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/FilterCodecTest.java Thu Feb 24 08:41:39 2005
@@ -75,6 +75,7 @@
assertEquals("ID", filters.get(0).getFilterExpression());
}
+/*
public void testDataGridStateService1() {
DataGridTestUtil.initQueryString(_request,
"netui_filter=" + _namespace + ";ZIP~eq~12345,CUSTOMERNAME~eq~homer&netui_filter=products;ID~ne~1234");
@@ -116,7 +117,7 @@
assertEquals(_namespace + ";ZIP~eq~12345", qp[0]);
assertEquals("products;ID~ne~1234", qp[1]);
}
-
+*/
public void testEncode1() {
String customerNameParam = _namespace + ";CUSTOMERNAME~eq~homer";
DataGridTestUtil.initQueryString(_request, "netui_filter=" + customerNameParam + "&netui_filter=products;ID~ne~1234");
Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/Controller.jpf
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/Controller.jpf?view=auto&rev=155208
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/Controller.jpf (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/Controller.jpf Thu Feb 24 08:41:39 2005
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package databinding.datagrid.j348;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ */
+@Jpf.Controller()
+public class Controller
+ extends PageFlowController {
+
+ @Jpf.Action(forwards = {
+ @Jpf.Forward(name = "index",path = "index.jsp")
+ })
+ protected Forward begin() {
+ return new Forward("index");
+ }
+}
\ No newline at end of file
Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/Controller.jpf
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/index.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/index.jsp?view=auto&rev=155208
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/index.jsp (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/index.jsp Thu Feb 24 08:41:39 2005
@@ -0,0 +1,29 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0" prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0" prefix="netui-template"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
+<netui:html>
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <netui:body>
+ <script language="JavaScript" type="text/JavaScript" src="${pageContext.request.contextPath}/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <netui:form action="begin" tagId="filterForm">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><netui:anchor href="index.jsp" onClick="return doNetUIFilters('filterForm', 'customers');">Search</netui:anchor></td></tr>
+ </table>
+ </netui:form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <netui:anchor action="begin" value="Link with Param">
+ <netui:parameter name="foo" value="bar"/>
+ </netui:anchor>
+ </netui:body>
+</netui:html>
Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j348/index.jsp
------------------------------------------------------------------------------
svn:eol-style = native
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&r1=155207&r2=155208
==============================================================================
--- 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 Thu Feb 24 08:41:39 2005
@@ -2738,6 +2738,21 @@
</features>
</test>
<test>
+ <name>DataGridFilterSmoke</name>
+ <description>DataGridFilterSmoke</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>bvt.struts11</category>
+ <category>databinding</category>
+ <category>datagrid</category>
+ </categories>
+ <features>
+ <feature>Databinding</feature>
+ <feature>Data Grid</feature>
+ </features>
+ </test>
+ <test>
<name>DataGridFooterTest</name>
<description>DataGridFooterTest</description>
<webapp>coreWeb</webapp>
Added: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFilterSmoke.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFilterSmoke.xml?view=auto&rev=155208
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFilterSmoke.xml (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFilterSmoke.xml Thu Feb 24 08:41:39 2005
@@ -0,0 +1,1522 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>DataGridFilterSmoke</ses:sessionName>
+ <ses:tester>ekoneil</ses:tester>
+ <ses:startDate>23 Feb 2005, 05:39:33.920 PM MST</ses:startDate>
+ <ses:description>Simple smoke test of adding filter objects onto the URL.</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/j348/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>2</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/j348/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>netui_filter</ses:name>
+ <ses:value>customers;customerid~contains~AL</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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>referer</ses:name>
+ <ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j348/Controller.jpf</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>3</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/j348/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>netui_filter</ses:name>
+ <ses:value>customers;customerid~contains~AL,companyname~contains~BEA</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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>referer</ses:name>
+ <ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j348/Controller.jpf?netui_filter=customers;customerid~contains~AL</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>4</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/j348/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>netui_filter</ses:name>
+ <ses:value>customers;customerid~contains~AL</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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>referer</ses:name>
+ <ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j348/Controller.jpf?netui_filter=customers;customerid~contains~AL,companyname~contains~BEA</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>5</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/j348/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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>referer</ses:name>
+ <ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j348/Controller.jpf?netui_filter=customers;customerid~contains~AL</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>6</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/j348/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>netui_filter</ses:name>
+ <ses:value>customers;customerid~contains~AL</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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>referer</ses:name>
+ <ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j348/Controller.jpf?</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>7</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/j348/begin.do</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>foo</ses:name>
+ <ses:value>bar</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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>referer</ses:name>
+ <ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j348/Controller.jpf?netui_filter=customers;customerid~contains~AL</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>8</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/j348/begin.do</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>foo</ses:name>
+ <ses:value>bar</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>netui_filter</ses:name>
+ <ses:value>customers;customerid~contains~AL</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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>referer</ses:name>
+ <ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j348/begin.do?foo=bar</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>9</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/j348/begin.do</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>foo</ses:name>
+ <ses:value>bar</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>19EF1699195CB2A880A0080C193F92AB</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=19EF1699195CB2A880A0080C193F92AB</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>referer</ses:name>
+ <ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j348/begin.do?foo=bar&netui_filter=customers;customerid~contains~AL</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">
+
+ <head>
+ <title>JIRA 348</title>
+ </head>
+ <body>
+ <script language="JavaScript" type="text/JavaScript" src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+ <form name="filterForm" id="filterForm" action="/coreWeb/databinding/datagrid/j348/begin.do" method="post">
+ <table>
+ <tr>
+ <td>Customer ID</td><td><input type="text" value="" id="customerid"/></td>
+ <td>Company Name</td><td><input type="text" value="" id="companyname"/></td>
+ </tr>
+ <tr><td colspan="2" align="left"><a href="/coreWeb/databinding/datagrid/j348/index.jsp" onclick="return doNetUIFilters('filterForm', 'customers');">Search</a></td></tr>
+ </table>
+ </form>
+ <script language="JavaScript">
+ doLoadNetUIFilters('filterForm', 'customers');
+ </script>
+ <br/>
+ <a href="/coreWeb/databinding/datagrid/j348/begin.do?foo=bar">Link with Param</a>
+ <script language="JavaScript" type="text/JavaScript">
+<!--
+
+// **** Start the NetUI Framework Generated JavaScript ****
+
+// 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.filterForm="filterForm"
+
+
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_tagIdNameMap == null)
+ var netui_tagIdNameMap = new Object();
+netui_tagIdNameMap.filterForm="filterForm"
+
+
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the idScope for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+ var idScope = getScopeId(tag);
+ if (idScope == "")
+ return netui_names[id];
+ else
+ return netui_names[idScope + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a idScope.
+// The first idScope found will be returned or the empty string if a idScope is not found.
+function getScopeId(tag)
+{
+ if (tag == null || tag.getAttribute == null)
+ return "";
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ return attrVal;
+ return getScopeId(tag.parentNode);
+}
+
+// lookup by tagId to "real id"
+function lookupIdByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,".");
+ return (idScope == "") ? id : idScope + id;
+}
+
+// lookup by tagId to "real name"
+function lookupNameByTagId(id, tag)
+{
+ var idScope = lookupIdScope(tag,"_");
+ if (idScope == "")
+ return netui_tagIdNameMap[id];
+ else
+ return netui_tagIdNameMap[idScope + "__" + id];
+}
+
+//Non-Legacy lookup method creating a fully qualified scope id
+function lookupIdScope(tag,sep)
+{
+ var val = "";
+ if (sep == null) sep = "";
+ while (tag != null && tag.getAttribute != null) {
+ var attrVal = tag.getAttribute("netui:idScope");
+ if (attrVal != null)
+ val = attrVal + sep + val;
+ tag = tag.parentNode;
+ }
+ return val;
+}
+-->
+</script></body>
+
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>23 Feb 2005, 05:40:15.409 PM MST</ses:endDate>
+ <ses:testCount>9</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file