[jboss-cvs] jboss-seam/examples/seambay/view ...
Shane Bryzak
sbryzak at redhat.com
Mon Apr 9 21:42:38 EDT 2007
User: sbryzak2
Date: 07/04/09 21:42:38
Modified: examples/seambay/view test.js test.xhtml
Log:
improvements to web services test page
Revision Changes Path
1.3 +117 -4 jboss-seam/examples/seambay/view/test.js
(In the diff below, changes in quantity of whitespace are not shown.)
Index: test.js
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/seambay/view/test.js,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- test.js 29 Mar 2007 13:55:07 -0000 1.2
+++ test.js 10 Apr 2007 01:42:38 -0000 1.3
@@ -1,9 +1,16 @@
-var webServices = {};
+var webServices = new Object();
+
+ServiceParam = function(name, key)
+{
+ this.name = name;
+ this.key = key;
+ this.value = "#{" + key + "}";
+}
ServiceMetadata = function(name)
{
this.name = name;
- this.parameters = {};
+ this.parameters = new Array();
webServices[name] = this;
@@ -23,7 +30,62 @@
svc = new ServiceMetadata("listAuctions");
svc.setDescription("List Auctions");
+svc = new ServiceMetadata("login");
+svc.setDescription("Login");
+svc.setRequest("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" " +
+ "\n xmlns:seam=\"http://seambay.example.seam.jboss.org/\">\n <soapenv:Header/>" +
+ "\n <soapenv:Body>" +
+ "\n <seam:login>" +
+ "\n <arg0>#{username}</arg0>" +
+ "\n <arg1>#{password}</arg1>" +
+ "\n </seam:login>" +
+ "\n </soapenv:Body>" +
+ "</soapenv:Envelope>");
+svc.addParameter(new ServiceParam("Username", "username"));
+svc.addParameter(new ServiceParam("Password", "password"));
+
+var selectedService = null;
+
+function setAllParams()
+{
+ if (!selectedService)
+ return;
+
+ var request = selectedService.request;
+
+ for (var i = 0; i < selectedService.parameters.length; i++)
+ {
+ var param = selectedService.parameters[i];
+ var search = "#{" + param.key + "}";
+
+ request = request.replace(search, param.value);
+ }
+
+ document.getElementById("serviceRequest").value = request;
+}
+
+function setParamValue(event)
+{
+ var ctl = null
+ if (event.target)
+ ctl = event.target;
+ else if (window.event.srcElement)
+ ctl = window.event.srcElement;
+
+ var key = ctl.id;
+
+ for (var i = 0; i < selectedService.parameters.length; i++)
+ {
+ var param = selectedService.parameters[i];
+ if (param.key == key)
+ {
+ param.value = ctl.value;
+ break;
+ }
+ }
+ setAllParams();
+}
function selectService(serviceName)
{
@@ -35,9 +97,45 @@
return;
}
+ selectedService = svc;
+
document.getElementById("selectedService").innerHTML = svc.getDescription();
- document.getElementById("serviceRequest").value = svc.getRequest();
+ // document.getElementById("serviceRequest").value = svc.getRequest();
document.getElementById("serviceResponse").value = null;
+
+ var ctl = document.getElementById("parameters");
+ for (var i = ctl.childNodes.length - 1; i >= 0; i--)
+ {
+ ctl.removeChild(ctl.childNodes[i]);
+ }
+
+ var tbl = document.createElement("table");
+ tbl.cellspacing = 0;
+ tbl.cellpadding = 0;
+
+ ctl.appendChild(tbl);
+
+ for (var i = 0; i < svc.parameters.length; i++)
+ {
+ var row = tbl.insertRow(-1);
+
+ var td = document.createElement("td");
+ row.appendChild(td);
+ td.innerHTML = svc.parameters[i].name;
+
+ var inp = document.createElement("input");
+
+ inp.id = svc.parameters[i].key;
+ inp.value = svc.parameters[i].value;
+ inp.onchange = setParamValue;
+ inp.onkeyup = setParamValue;
+
+ td = document.createElement("td");
+ row.appendChild(td);
+ td.appendChild(inp);
+ }
+
+ setAllParams();
}
function sendRequest()
@@ -73,3 +171,18 @@
}
}
}
\ No newline at end of file
+
+function initServices()
+{
+ for (var i in webServices)
+ {
+ var ws = webServices[i];
+
+ var anchor = document.createElement("a");
+ anchor.href = "javascript:selectService('" + ws.name + "')";
+ anchor.appendChild(document.createTextNode(ws.getDescription()));
+ document.getElementById("services").appendChild(anchor);
+ }
+}
+
+initServices();
\ No newline at end of file
1.2 +2 -3 jboss-seam/examples/seambay/view/test.xhtml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: test.xhtml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/seambay/view/test.xhtml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- test.xhtml 24 Mar 2007 05:38:10 -0000 1.1
+++ test.xhtml 10 Apr 2007 01:42:38 -0000 1.2
@@ -8,7 +8,6 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>seamBay</title>
<link href="style/test.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="test.js"/>
</head>
<body>
@@ -16,8 +15,6 @@
<div id="services">
<span>Select a service to test</span>
- <a href="#" onclick="javascript:selectService('listCategories')">List Categories</a>
- <a href="#" onclick="javascript:selectService('listAuctions')">List Auctions</a>
</div>
<div id="detail">
@@ -49,5 +46,7 @@
</div>
+ <script type="text/javascript" src="test.js"/>
+
</body>
</html>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list