[esb-java-dev] svn commit r2778 - in trunk/esb/java/modules/distribution/src/main/www/extensions/core: js xslt/proxyservices

svn at wso2.org svn at wso2.org
Wed May 16 23:20:14 PDT 2007


Author: ruwan
Date: Wed May 16 23:19:58 2007
New Revision: 2778

Modified:
   trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/proxyservices.js
   trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_edit.xsl
   trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_view.xsl
   trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_edit.xsl
Log:
Proxy UI done / open for comments


Modified: trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/proxyservices.js
==============================================================================
--- trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/proxyservices.js	(original)
+++ trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/proxyservices.js	Wed May 16 23:19:58 2007
@@ -791,23 +791,34 @@
         internalmodel.proxy.setAttribute("startOnLoad", "false");
     }
 
-    var wsdl = document.getElementById("propertyset");
+    var prefix = "";
+    if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+        prefix = "syn:";
+    }
 
-    if (wsdl != null) {
-        var oldwsdl = internalmodel.proxy.getElementsByTagName("publishWSDL");
-        if (oldwsdl.length == 0) {
-            oldwsdl = internalmodel.proxy.getElementsByTagName("syn:publishWSDL");
+    if (document.getElementById("wsdl_ref") != undefined) {
+        
+        var refwsdl = internalmodel.proxy.getElementsByTagName(prefix + "publishWSDL");
+        if (refwsdl.length != 0) {
+            internalmodel.proxy.removeChild(refwsdl[0]);
         }
 
-        if (oldwsdl.length != 0) {
-            internalmodel.proxy.removeChild(oldwsdl[0]);
+        if (document.getElementById("wsdl_ref").value != "") {
+            internalmodel.proxy.appendChild(createesbelement(
+                    "<syn:publishWSDL key='" + document.getElementById("wsdl_ref").value + "' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
         }
+    }
 
-        var wsdlval = wsdl.options[wsdl.options.selectedIndex].value;
+    if (document.getElementById("wsdl_uri") != undefined) {
 
-        if (wsdlval != "") {
-            internalmodel.proxy.appendChild(createesbelement("<syn:publishWSDL key='"
-                    + wsdlval + "' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+        var wsdl = internalmodel.proxy.getElementsByTagName(prefix + "publishWSDL");
+        if (wsdl.length != 0) {
+            internalmodel.proxy.removeChild(wsdl[0]);
+        }
+
+        if(document.getElementById("wsdl_uri").value != "") {
+            internalmodel.proxy.appendChild(createesbelement(
+                    "<syn:publishWSDL uri='" + document.getElementById("wsdl_uri").value + "' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
         }
     }
 };
@@ -901,6 +912,140 @@
     yuimenu.show();
 }
 
+function displaywsdlmenu(event, current) {
+
+    if (yuimenu == null) {
+        yuimenu = new YAHOO.widget.Menu("yuimenu", {});
+    }
+
+    yuimenu.clearContent();
+    var menuItems;
+    if (current == "inline") {
+        menuItems = yuimenu.addItems([
+        {text: "Specify as source URL"},
+        {text: "Pick from the Registry"}]);
+        menuItems[0].clickEvent.subscribe(switchproxywsdltosrc);
+        menuItems[1].clickEvent.subscribe(switchproxywsdltokey);
+    } else if (current == "key") {
+        menuItems = yuimenu.addItems([
+        {text: "Specify as source URL"},
+        {text: "Specify in-line"}]);
+        menuItems[0].clickEvent.subscribe(switchproxywsdltosrc);
+        menuItems[1].clickEvent.subscribe(switchproxywsdltoinline);
+    } else if (current == "uri") {
+        menuItems = yuimenu.addItems([
+        {text: "Pick from the Registry"},
+        {text: "Specify in-line"}]);
+        menuItems[0].clickEvent.subscribe(switchproxywsdltokey);
+        menuItems[1].clickEvent.subscribe(switchproxywsdltoinline);
+    } else {
+        menuItems = yuimenu.addItems([
+        {text: "Specify as source URL"},
+        {text: "Pick from the Registry"},
+        {text: "Specify in-line"}]);
+        menuItems[0].clickEvent.subscribe(switchproxywsdltosrc);
+        menuItems[1].clickEvent.subscribe(switchproxywsdltokey);
+        menuItems[2].clickEvent.subscribe(switchproxywsdltoinline);
+    }
+
+    yuimenu.render(document.getElementById("divOverMenu"));
+    document.getElementById("divOverMenu").style.left = event.clientX;
+    document.getElementById("divOverMenu").style.top = document.body.scrollTop + event.clientY;
+    document.getElementById("divOverMenu").style.display = "inline";
+    yuimenu.show();
+}
+
+function switchproxywsdltosrc(p_sType, p_aArgs, p_oValue) {
+
+    var prefix = "";
+    if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+        prefix = "syn:";
+    }
+    var wsdl = internalmodel.proxy.getElementsByTagName(prefix + "publishWSDL");
+    if(wsdl.length != 0) {
+        internalmodel.proxy.removeChild(wsdl[0]);
+    }
+
+    internalmodel.proxy.appendChild(createesbelement(
+            "<syn:publishWSDL uri='' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+
+    addeditwrapper(4);
+}
+
+function switchproxywsdltokey(p_sType, p_aArgs, p_oValue) {
+
+    var prefix = "";
+    if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+        prefix = "syn:";
+    }
+    var wsdl = internalmodel.proxy.getElementsByTagName(prefix + "publishWSDL");
+    if(wsdl.length != 0) {
+        internalmodel.proxy.removeChild(wsdl[0]);              
+    }
+
+    internalmodel.proxy.appendChild(createesbelement(
+            "<syn:publishWSDL key='' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+    
+    addeditwrapper(4);
+}
+
+function switchproxywsdltoinline(p_sType, p_aArgs, p_oValue) {
+
+    var prefix = "";
+    if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+        prefix = "syn:";
+    }
+    var wsdl = internalmodel.proxy.getElementsByTagName(prefix + "publishWSDL");
+    if(wsdl.length != 0) {
+        internalmodel.proxy.removeChild(wsdl[0]);
+    }
+
+    internalmodel.proxy.appendChild(createesbelement(
+            "<syn:publishWSDL xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+    addeditwrapper(4);
+    addInLineProperties("proxy_wsdl", "");
+    viewlnlinewsdl("proxy_wsdl", "setinlinewsdl");
+}
+
+function showproxywsdl() {
+
+   var prefix = "";
+    if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+        prefix = "syn:";
+    }
+    var wsdl = internalmodel.proxy.getElementsByTagName(prefix + "publishWSDL");
+
+    var proxywsdl = "";
+    if(wsdl.length != 0) {
+        proxywsdl = wsdl[0].firstChild;
+    }
+
+    addInLineProperties("proxy_wsdl", proxywsdl);
+    viewlnlinewsdl("proxy_wsdl", "setinlinewsdl");
+}
+
+function setinlinewsdl() {
+
+    var wsdlvalue = document.getElementById("inlineprop_value");
+
+    if (wsdlvalue != undefined) {
+        var prefix = "";
+        if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+            prefix = "syn:";
+        }
+        var wsdl = internalmodel.proxy.getElementsByTagName(prefix + "publishWSDL");
+        if (wsdl.length != 0) {
+            internalmodel.proxy.removeChild(wsdl[0]);
+        }
+
+        internalmodel.proxy.appendChild(createesbelement("<syn:publishWSDL xmlns:syn='http://ws.apache.org/ns/synapse'>" + wsdlvalue.value + "</syn:publishWSDL>"));
+    } else {
+        alertWarning("Provided WSDL is not valid");
+    }
+
+    closeLinePropertyEditor();
+}
+
 function endpointaddeditwrapper(p_sType, p_aArgs, p_oValue) {
 
     var prefix = "";
@@ -1188,6 +1333,10 @@
     registrybrowser("setpolicyfromregistry", "dicardregistrybrowser", "", 1, "registryPanel");
 }
 
+function proxywsdlfromregistry() {
+    registrybrowser("setwsdlfromregistry", "dicardregistrybrowser", "", 1, "registryPanel");
+}
+
 function targetfromregistry(p_sType, p_aArgs, p_oValue) {
     registrybrowser("settargetfromregistry", "dicardregistrybrowser", p_oValue.targettype, 1, "registryPanel");
 }
@@ -1198,6 +1347,12 @@
     dicardregistrybrowser(1);
 }
 
+function setwsdlfromregistry() {
+
+    document.getElementById("wsdl_ref").setAttribute("value", getRegistryKey());
+    dicardregistrybrowser(1);
+}
+
 function settargetfromregistry(targettype) {
     document.getElementById(targettype).setAttribute("value", getRegistryKey());
     dicardregistrybrowser(1);

Modified: trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_edit.xsl
==============================================================================
--- trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_edit.xsl	(original)
+++ trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_edit.xsl	Wed May 16 23:19:58 2007
@@ -30,20 +30,53 @@
         <br/>
         <br/>
 
-        <label style="margin-left:3em; color:lightblue; font-weight:bold">Refering sequence</label>
-        <input id="seq_ref" style="margin-left: 3em;" type="text" size="20" class="esb-edit_disabled">
-            <xsl:attribute name="value">
-                <xsl:value-of select="syn:publishWSDL/@key"/>
-            </xsl:attribute>
-            <xsl:attribute name="DISABLED"/>
-        </input>
-        <img style="margin-left: 3em;" src="extensions/core/images/_registries.gif" title="Registry Browser">
-            <xsl:attribute name="onClick">
-                javascript:sequencefromregistry('<xsl:value-of select="@esb_med_pos"/>');return false;
-            </xsl:attribute>
-        </img>
-        
-        <label style="margin-left: 15px; width: 250px; _width:135px;">Load on startup</label>
+        <label style="margin-left: 15px; width: 250px; _width:135px;">Publishing WSDL</label>
+        <xsl:choose>
+            <xsl:when test="syn:publishWSDL">
+                <xsl:choose>
+                    <xsl:when test="syn:publishWSDL/@key">
+                        <img style="left:340px; position:absolute;" src="extensions/core/images/add.gif">
+                            <xsl:attribute name="onclick">javascript: displaywsdlmenu(event,'key'); return false;</xsl:attribute>
+                        </img>
+                        <br/><br/>
+                        <label style="margin-left:50px;">Reference key</label>
+                        <input id="wsdl_ref" style="margin-left: 50px;" type="text" size="20" class="esb-edit_disabled">
+                            <xsl:attribute name="DISABLED"/>
+                            <xsl:attribute name="value"><xsl:value-of select="syn:publishWSDL/@key"/></xsl:attribute>
+                        </input>
+                        <img style="margin-left: 3em;" src="extensions/core/images/_registries.gif"
+                            title="Registry Browser" onclick="javascript:proxywsdlfromregistry();return false;"/>
+                    </xsl:when>
+                    <xsl:when test="syn:publishWSDL/@uri">
+                        <img style="left:340px; position:absolute;" src="extensions/core/images/add.gif">
+                            <xsl:attribute name="onclick">javascript: displaywsdlmenu(event,'uri'); return false;</xsl:attribute>
+                        </img>
+                        <br/><br/>
+                        <div id="wsdl_div" style="margin-left:50px;">
+                            <label style="width:150px;">Source URL</label>
+                            <input type="text" id="wsdl_uri" class="esb-edit" style="margin-left:50px;">
+                                <xsl:attribute name="value"><xsl:value-of select="syn:publishWSDL/@uri"/></xsl:attribute>
+                            </input>
+                        </div>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <img style="left:340px; position:absolute;" src="extensions/core/images/add.gif">
+                            <xsl:attribute name="onclick">javascript: displaywsdlmenu(event,'inline'); return false;</xsl:attribute>
+                        </img>
+                        <br/><br/><div id="wsdl_div" style="margin-left:50px;"><a href="#" onclick="javascript: showproxywsdl(); return false;">Specified as inline</a></div>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:when>
+            <xsl:otherwise>
+                <img style="left:340px; position:absolute;" src="extensions/core/images/add.gif">
+                    <xsl:attribute name="onclick">javascript: displaywsdlmenu(event,''); return false;</xsl:attribute>
+                </img>
+                <br/><br/><div id="wsdl_div" style="margin-left:50px;"></div>
+            </xsl:otherwise>
+        </xsl:choose>
+
+        <br/><br/>
+        <label style="margin-left: 15px; width: 250px; _width:135px;">Load service on startup</label>
         <label style="_margin-left: -20px;margin-left:185px;">
             <xsl:choose>
                 <xsl:when test="@startOnLoad != 'true'">

Modified: trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_view.xsl
==============================================================================
--- trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_view.xsl	(original)
+++ trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_view.xsl	Wed May 16 23:19:58 2007
@@ -27,11 +27,32 @@
         <!--</label>-->
         <br/>
         <br/>
-        <xsl:if test="child::syn:wsdl">
-            <p>WSDL of the Service</p><br/>
-            <label style="margin-left: 50px;"><xsl:value-of select="child::syn:wsdl/@key"/></label><br/>
+        <xsl:if test="syn:publishWSDL">
+            <label style="margin-left: 15px; width: 250px; _width:135px;">Publishing WSDL</label><br/><br/>
+            <xsl:choose>
+                    <xsl:when test="syn:publishWSDL/@key">
+                        <div id="wsdl_div" style="margin-left:50px;">
+                        <label>Reference key</label>
+                        <label style="margin-left: 50px;">
+                            <xsl:value-of select="syn:publishWSDL/@key"/>
+                        </label>
+                        </div>
+                    </xsl:when>
+                    <xsl:when test="syn:publishWSDL/@uri">
+                        <div id="wsdl_div" style="margin-left:50px;">
+                            <label>Source URL</label>
+                            <label style="margin-left:50px;">
+                                <xsl:value-of select="syn:publishWSDL/@uri"/>
+                            </label>
+                        </div>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <div id="wsdl_div" style="margin-left:50px;"><label>Specified as inline</label></div>
+                    </xsl:otherwise>
+            </xsl:choose>
         </xsl:if>
-        <label style="margin-left: 15px; width:250px; _width:270px;">Load on Startup</label>
+        <br/><br/>
+        <label style="margin-left: 15px; width:250px; _width:270px;">Load service on startup</label>
         <label style="margin-left: 190px; _margin-left: 50px;">
             <xsl:choose>
                 <xsl:when test="@startOnLoad != 'true'">

Modified: trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_edit.xsl
==============================================================================
--- trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_edit.xsl	(original)
+++ trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_edit.xsl	Wed May 16 23:19:58 2007
@@ -70,7 +70,7 @@
             </table>
         </xsl:if>
 
-        <label style="margin-left:3em; color:lightblue; font-weight:bold">Policy reference</label>
+        <label style="margin-left:3em;">Policy reference</label>
         <input id="policy_ref" style="margin-left: 3em;" type="text" size="20" class="esb-edit_disabled">
             <xsl:attribute name="DISABLED"/>
         </input>




More information about the Esb-java-dev mailing list