Update of /cvsroot/monetdb/pathfinder/runtime/xrpc/demo
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv8983/demo
Modified Files:
Tag: xrpcdemo
index.html style.css
Added Files:
Tag: xrpcdemo
req1.xml res1.xml test.gif test.map
Log Message:
demo gui (in progress...)
--- NEW FILE: test.map ---
<map id="G" name="G">
<area shape="rect" href="http://host2:60001/logs/res_1.xml" title="5ms" alt=""
coords="133,229,141,237"/>
<area shape="rect" href="http://host2:60001/logs/req_1.xml" title="5ms" alt=""
coords="100,356,108,364"/>
<area shape="rect" href="http://host3:60001/logs/res_1.xml" title="7ms" alt=""
coords="153,229,161,237"/>
<area shape="rect" href="http://host3:60001/logs/req_1.xml" title="7ms" alt=""
coords="205,356,213,364"/>
<area shape="rect" href="http://host1:60001/logs/res_1.xml" title="9ms" alt=""
coords="140,53,148,61"/>
<area shape="rect" href="http://host1:60001/logs/req_1.xml" title="9ms" alt=""
coords="140,181,148,189"/>
<area shape="rect" href="http://host4:60001/logs/res_1.xml" title="3ms" alt=""
coords="95,404,103,412"/>
<area shape="rect" href="http://host4:60001/logs/req_1.xml" title="3ms" alt=""
coords="99,532,107,540"/>
<area shape="rect" href="http://host4:60001/logs/res_2.xml" title="2ms" alt=""
coords="213,404,221,412"/>
<area shape="rect" href="http://host4:60001/logs/req_2.xml" title="2ms" alt=""
coords="211,532,219,540"/>
</map>
U index.html
Index: index.html
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/xrpc/demo/Attic/index.html,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -d -r1.1.2.2 -r1.1.2.3
--- index.html 4 Jun 2008 13:30:13 -0000 1.1.2.2
+++ index.html 5 Jun 2008 12:54:36 -0000 1.1.2.3
@@ -104,7 +104,6 @@
if (quant == "")
return XRPC_SEQ((tpe == "node()")?XRPC_ELEMENT(val):XRPC_ATOM(tpe,val));
else {
- alert("["+quant+"]");
var l = val.length;
var sval = val.substring(1, l - 1);
var vals = sval.split(",");
@@ -118,8 +117,8 @@
}
function sendRequest(form) {
- var obj = document.getElementById("answer");
- obj.value = "Waiting for server response...";
+ //var obj = document.getElementById("answer");
+ //obj.value = "Waiting for server response...";
var obj = document.getElementById("messreq");
obj.value = "";
var obj = document.getElementById("messres");
@@ -128,7 +127,7 @@
var params = "";
var xrpc_call = "";
/* XRPCDEBUG makes you get an alert for each SOAP message sent/received */
- XRPCDEBUG = form.debug.checked;
+ //XRPCDEBUG = form.debug.checked;
if (form.method.selectedIndex == 0) {
for (var l = 0; l < form.loop.value; l++) {
@@ -148,13 +147,25 @@
xrpc_call += XRPC_CALL(params);
}
}
+
+ var mode = form.isolevel.value + form.mode.value +
(XRPCDEBUG?"-trace":"");
XRPC(form.postUrl.value, form.ns.value, form.loc.value,
- form.method.value, form.arity.value, xrpc_call, showResponse,
form.timeout.value);
+ form.method.value, form.arity.value, xrpc_call, showResponse,
form.timeout.value, mode);
+ }
+
+ function sendRequestPart(obj) {
+ var url = obj.alt;
+ var req = true;
+ if (url.indexOf("res") != -1) req = false;
+ //alert(req);
+ /* XRPCDEBUG makes you get an alert for each SOAP message sent/received
*/
+ //XRPCDEBUG = document.getElementById("debug").checked;
+ XRPC_PART(obj.alt, req? messreqChanged: messresChanged);
}
function showResponse(response) {
- var obj = document.getElementById("answer");
+ /*var obj = document.getElementById("answer");
var obj2 = document.getElementById("updating");
if (!obj2.checked) { // not updating function
var nodes = getnodesXRPC(response,"sequence");
@@ -168,7 +179,7 @@
obj.value = text;
} else {
obj.value = "Update succeeded (an updating function returns no
answer).";
- }
+ }*/
}
function methodChanged(object) {
@@ -245,7 +256,7 @@
//loopobj.disabled = (idx != 0);
}
- function debugChanged(object) {
+ /*function debugChanged(object) {
var debug = object.checked;
var objl = document.getElementById("content");
var objg = document.getElementById("graph");
@@ -257,6 +268,20 @@
objr.style.display = "none";
objg.style.display = "none";
}
+ }*/
+
+ function clickreq(vis) {
+ var objv = document.getElementById("reqvis");
+ var objr = document.getElementById("reqraw");
+ objv.style.display = vis?"block":"none";
+ objr.style.display = vis?"none":"block";
+ }
+
+ function clickres(vis) {
+ var objv = document.getElementById("resvis");
+ var objr = document.getElementById("resraw");
+ objv.style.display = vis?"block":"none";
+ objr.style.display = vis?"none":"block";
}
function isolevelChanged(object) {
@@ -274,12 +299,92 @@
function updatingChanged(object) {
}
+ function messreqChanged(xmldoc) {
+ document.getElementById("messreq").value = serializeXML(xmldoc);
+
+ var obj = document.getElementById("reqvis");
+ obj.innerHTML = "changed";
+ //var xpe = new XPathEvaluator();
+ //var nsResolver = xpe.createNSResolver(xmldoc.ownerDocument == null ?
xmldoc.documentElement : xmldoc.ownerDocument.documentElement);
+ //var oid =
document.evaluate('/env:Envelope/env:Header/wscoor:CoordinationContext/wscoor:Identifier/text()',
xmldoc, nsResolver, XPathResult.ANY_TYPE, null);
+ var qid =
xmldoc.getElementsByTagName("Identifier")[0].firstChild.nodeValue;
+ var reqnode = xmldoc.getElementsByTagName("Body")[0].firstChild;
+ var funcn = reqnode.getAttribute("xrpc:method");
+ var ns = reqnode.getAttribute("xrpc:module");
+ var loc = reqnode.getAttribute("xrpc:location");
+ var htm =
+ '<table>' +
+ '<tr><td>QID<\/td><td>' + qid + '<\/td><\/tr>' +
+ '<tr><td>Function<\/td><td>' + funcn + '<\/td><\/tr>' +
+ '<tr><td>NS<\/td><td>' + ns + '<\/td><\/tr>' +
+ '<tr><td>Loc<\/td><td>' + loc + '<\/td><\/tr>' +
+ '</table><table><tr><td>iter<\/td><td>param<\/td><\/tr>';
+ var callnodes = xmldoc.getElementsByTagName("call");
+ for (var i = 0; i < callnodes.length; i++) {
+ var seqnodes = callnodes[i].childNodes;
+ var sval = '';
+ for (var k = 0; k < seqnodes.length; k++) {
+ var atvals = seqnodes[k].childNodes;
+ sval += '( ';
+ for (var j = 0; j < atvals.length; j++) {
+ sval += atvals[j].firstChild.nodeValue + ' ';
+ }
+ sval += ') ';
+ }
+ htm += '<tr><td>' + (i+1) + '<\/td><td>' + sval +
'<\/td><\/tr>';
+ }
+ htm += '<\/table>';
+
+ obj.innerHTML = htm;
+ }
+
+ function messresChanged(xmldoc) {
+ document.getElementById("messres").value = serializeXML(xmldoc);
+
+ var obj = document.getElementById("resvis");
+ obj.innerHTML = "changed";
+ var qid = 'UNKNOWN';
+ try {qid =
xmldoc.getElementsByTagName("Identifier")[0].firstChild.nodeValue;} catch(err)
{}
+ var reqnode = xmldoc.getElementsByTagName("Body")[0].firstChild;
+ var funcn = reqnode.getAttribute("xrpc:method");
+ var ns = reqnode.getAttribute("xrpc:module");
+ var htm =
+ '<table>' +
+ '<tr><td>QID<\/td><td>' + qid + '<\/td><\/tr>' +
+ '<tr><td>Function<\/td><td>' + funcn + '<\/td><\/tr>' +
+ '<tr><td>NS<\/td><td>' + ns + '<\/td><\/tr>' +
+ '<tr><td> <\/td><td><\/td><\/tr>' +
+ '</table><table><tr><td>iter<\/td><td>param<\/td><\/tr>';
+ var seqnodes =
xmldoc.getElementsByTagName("response")[0].childNodes;
+
+ for (var k = 0; k < seqnodes.length; k++) {
+ var atvals = seqnodes[k].childNodes;
+ var sval = '( ';
+ for (var j = 0; j < atvals.length; j++) {
+ sval += atvals[j].firstChild.nodeValue + ' ';
+ }
+ sval += ') ';
+ htm += '<tr><td>' + (k+1) + '<\/td><td>' + sval +
'<\/td><\/tr>';
+ }
+
+ htm += '<\/table>';
+
+ obj.innerHTML = htm;
+ }
+
+ function loadTreeMap(xmldoc) {
+ var obj = document.getElementById("treemap");
+ }
+
function init() {
+ XRPCDEBUG = true;
fillPostUrlBox();
fillLocationBox();
fillMethodBox();
+ clickreq(true);
+ clickres(true);
methodChanged(document.getElementById("method"));
- debugChanged(document.getElementById("debug"));
+ //debugChanged(document.getElementById("debug"));
}
</script>
<link rel="stylesheet" href="style.css" type="text/css" />
@@ -311,20 +416,14 @@
<tr>
<td><label for="postUrl">XRPC server URL</label></td>
<td><input type="text" name="postUrl" id="postUrl" value=""
size="40" readonly="readonly" /></td>
- <td></td>
- <td></td>
</tr>
<tr>
<td><label for="ns">Module namespace</label></td>
<td><input type="text" name="ns" value="xrpcdemo-functions"
size="40" /></td>
- <td></td>
- <td></td>
</tr>
<tr>
<td><label for="loc">Module location</label></td>
<td><input type="text" name="loc" id="loc" value="" size="40"
/></td>
- <td></td>
- <td></td>
</tr>
<tr>
<td><label for="method">Function</label></td>
@@ -332,38 +431,30 @@
<select name="method" id="method"
onchange="methodChanged(this);">
</select>
</td>
- <td></td>
- <td></td>
</tr>
<tr>
<td></td>
- <td><textarea cols="40" rows="3" name="def" id="def"
readonly="readonly"></textarea></td>
- <td></td>
- <td></td>
+ <td><textarea cols="40" rows="4" name="def" id="def"
readonly="readonly"></textarea></td>
</tr>
<tr>
<td><label for="loop">Loop counter</label></td>
<td>
- <select name="loop" id="loop">
- <option value="1">1</option><option
value="2">2</option><option value="3">3</option><option
value="4">4</option><option value="5">5</option>
- <option value="6">6</option><option
value="7">7</option><option value="8">8</option><option
value="9">9</option><option value="10">10</option>
- </select>
+ <input type="text" name="loop" id="loop" value="1"
size="6" />
+
+ Mode <select name="mode" id="mode">
+ <option value="">all-at-once</option>
+ <option
value="-iterative">one-at-a-time</option>
+ </select>
</td>
- <td></td>
- <td></td>
</tr>
<tr style="height:100px">
<td>Parameters</td>
<td id="params">
</td>
- <td></td>
- <td></td>
</tr>
<tr>
<td><label for="updating">Updating Function</label></td>
<td><input type="checkbox" name="updating" id="updating"
onchange="updatingChanged(this)" /></td>
- <td></td>
- <td></td>
</tr>
<tr>
<td><label for="isolevel">Isolation Level</label></td>
@@ -375,47 +466,77 @@
Timeout <input type="text" value="0" name="timeout"
id="timeout" readonly="readonly" size="10" />
</td>
- <td></td>
- <td></td>
</tr>
- <tr>
+ <!--<tr>
<td><label for="debug">Show query flow</label></td>
<td><input type="checkbox" name="debug" id="debug"
checked="checked" onchange="debugChanged(this)" /></td>
- <td></td>
- <td></td>
- </tr>
+ </tr>-->
<tr>
<td></td>
<td><input type="button" value="Submit"
onclick="sendRequest(this.form)" /></td>
- <td></td>
- <td></td>
</tr>
</table>
- <table id="answers">
- <tr>
- <td>ANSWER<br /><textarea cols="59" rows="3" name="answer"
id="answer" readonly="readonly"></textarea></td>
+ <!--<table id="answers">
+ <tr class="myheader">
+ <td>ANSWER<br /><textarea cols="65" rows="7" name="answer"
id="answer" readonly="readonly"></textarea></td>
</tr>
- </table>
+ </table>-->
</td>
<td>
<div id="graph">
- <!--<table id="graphtable">
+ <map name="treemap" id="treemap">
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="5ms" alt="http://127.0.0.1:50001/demo/res1.xml"
coords="133,229,141,237"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="5ms" alt="http://127.0.0.1:50001/demo/req1.xml"
coords="100,356,108,364"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="7ms" alt="http://127.0.0.1:50001/demo/res1.xml"
coords="153,229,161,237"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="7ms" alt="http://127.0.0.1:50001/demo/req1.xml"
coords="205,356,213,364"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="9ms" alt="http://127.0.0.1:50001/demo/res1.xml"
coords="140,53,148,61"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="9ms" alt="http://127.0.0.1:50001/demo/req1.xml"
coords="140,181,148,189"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="3ms" alt="http://127.0.0.1:50001/demo/res1.xml"
coords="95,404,103,412"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="3ms" alt="http://127.0.0.1:50001/demo/req1.xml"
coords="99,532,107,540"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="2ms" alt="http://127.0.0.1:50001/demo/res1.xml"
coords="213,404,221,412"/>
+ <area shape="rect" onclick="sendRequestPart(this)"
href="#" title="2ms" alt="http://127.0.0.1:50001/demo/req1.xml"
coords="211,532,219,540"/>
+ </map>
+ <table id="graphtable">
<tr>
- <td>GRAPH<br /><img src="tree.gif" /></td>
+ <td><img id="treeimg" src="test.gif" usemap="#treemap"
border="0" alt="messageflow" /></td>
</tr>
</table>
- --></div>
+ </div>
</td>
<td>
<div id="messages">
<table id="request">
+ <tr class="myheader">
+ <td>REQUEST</td>
+ <td class="tab"><a href="#"
onclick="clickreq(true)">VISUAL</a></td>
+ <td class="tab"><a href="#"
onclick="clickreq(false)">RAW</a></td>
+ </tr>
<tr>
- <td>REQUEST<br /><textarea cols="40" rows="8"
name="messreq" id="messreq" readonly="readonly"></textarea></td>
+ <td colspan="3">
+ <div id="reqraw">
+ <textarea cols="48" rows="15"
name="messreq" id="messreq" readonly="readonly"></textarea>
+ </div>
+ <div id="reqvis">
+ visual display
+ </div>
+ </td>
</tr>
</table>
<table id="response">
+ <tr class="myheader">
+ <td>RESPONSE</td>
+ <td class="tab"><a href="#"
onclick="clickres(true)">VISUAL</a></td>
+ <td class="tab"><a href="#"
onclick="clickres(false)">RAW</a></td>
+ </tr>
<tr>
- <td>RESPONSE<br /><textarea cols="40" rows="8"
name="messres" id="messres" readonly="readonly"></textarea></td>
+ <td colspan="3">
+ <div id="resraw">
+ <textarea cols="48" rows="15"
name="messres" id="messres" readonly="readonly"></textarea>
+ </div>
+ <div id="resvis">
+ visual display
+ </div>
+ </td>
</tr>
</table>
</div>
--- NEW FILE: req1.xml ---
<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xrpc="http://monetdb.cwi.nl/XQuery"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://monetdb.cwi.nl/XQuery
http://monetdb.cwi.nl/XQuery/XRPC.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"><env:Header>
<wscoor:CoordinationContext
xmlns:wscoor="http://docs.oasis-open.org/ws-tx/wscoor/2006/06"
env:mustUnderstand="true">
<wscoor:Identifier>localhost:50001|663|453</wscoor:Identifier>
<wscoor:Expires>0</wscoor:Expires>
<wscoor:CoordinationType>http://docs.oasis-open.org/ws-tx/wsat/2006/06</wscoor:CoordinationType>
</wscoor:CoordinationContext></env:Header><env:Body><xrpc:request
xrpc:module="xrpcdemo-functions"
xrpc:location="http://localhost:50001/demo/demo-mod.xq" xrpc:method="add"
xrpc:mode="none-trace"
xrpc:arity="2"><xrpc:call><xrpc:sequence><xrpc:atomic-value
xsi:type="xs:integer">1</xrpc:atomic-value></xrpc:sequence><xrpc:sequence><xrpc:atomic-value
xsi:type="
xs:integer">2</xrpc:atomic-value></xrpc:sequence></xrpc:call></xrpc:request></env:Body></env:Envelope>
U style.css
Index: style.css
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/xrpc/demo/Attic/style.css,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -d -r1.1.2.2 -r1.1.2.3
--- style.css 4 Jun 2008 13:30:13 -0000 1.1.2.2
+++ style.css 5 Jun 2008 12:54:43 -0000 1.1.2.3
@@ -45,10 +45,6 @@
border-right: 4px solid black;
}
-#messages {
- display: none;
-}
-
#request, #response, #graph {
background: white;
margin-top:20px;
@@ -56,19 +52,45 @@
border: 1px solid black;
border-bottom: 4px solid black;
border-right: 4px solid black;
+ width: 410px;
+ height: 312px;
}
#graph {
+ width: 400px;
+ height: 620px;
margin-right: 5px;
+ overflow:auto;
}
-#request td, #response td, #answers td, #graph td {
+#request tr.myheader, #response tr.myheader, #answers tr.myheader, #graph
tr.myheader {
font-size: 0.7em;
font-weight: bold;
background-color: black;
color: white;
+ height: 0.7em;
+}
+
+#request td.tab, #response td.tab {
+ width: 75px;
+ text-align: center;
}
+#request tr.myheader td a, #response tr.myheader td a {
+ color: orange;
+}
+
+#request td table, #response td table {
+ border: 1px solid black;
+ width: 100%;
+ font-size: 0.9em;
+}
+
+#reqvis, #reqraw, #resvis, #resraw {
+ overflow:auto;
+ height: 260px;
+}
+
#content tr {
vertical-align:top;
}
--- NEW FILE: test.gif ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: res1.xml ---
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xrpc="http://monetdb.cwi.nl/XQuery"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://monetdb.cwi.nl/XQuery
http://monetdb.cwi.nl/XQuery/XRPC.xsd"><env:Body><xrpc:response
xrpc:module="xrpcdemo-functions"
xrpc:method="add"><xrpc:sequence><xrpc:atomic-value
xsi:type="xs:integer">3</xrpc:atomic-value></xrpc:sequence></xrpc:response></env:Body></env:Envelope>
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins