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>&nbsp;<\/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" />
+                       &nbsp;&nbsp;&nbsp;&nbsp;
+                       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 @@
                        &nbsp;&nbsp;&nbsp;&nbsp;
                        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

Reply via email to