[wsas-java-dev] svn commit r6054 - in trunk/wsas/java/modules/www/extensions: core/css core/js tools tools/js tools/xslt

svn at wso2.org svn at wso2.org
Thu Aug 2 09:22:28 PDT 2007


Author: saminda
Date: Thu Aug  2 09:22:13 2007
New Revision: 6054

Added:
   trunk/wsas/java/modules/www/extensions/tools/
   trunk/wsas/java/modules/www/extensions/tools/divs.html
   trunk/wsas/java/modules/www/extensions/tools/js/
   trunk/wsas/java/modules/www/extensions/tools/js.html
   trunk/wsas/java/modules/www/extensions/tools/js/tools.js
   trunk/wsas/java/modules/www/extensions/tools/menu.html
   trunk/wsas/java/modules/www/extensions/tools/xslt/
   trunk/wsas/java/modules/www/extensions/tools/xslt/wsdl2code.xsl
Modified:
   trunk/wsas/java/modules/www/extensions/core/css/wso2wsas.css
   trunk/wsas/java/modules/www/extensions/core/js/services.js
   trunk/wsas/java/modules/www/extensions/core/js/wso2wsas.js
Log:
1. Added WSDL2Code tool. This only generates Java based classes yet


Modified: trunk/wsas/java/modules/www/extensions/core/css/wso2wsas.css
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/css/wso2wsas.css	(original)
+++ trunk/wsas/java/modules/www/extensions/core/css/wso2wsas.css	Thu Aug  2 09:22:13 2007
@@ -410,6 +410,12 @@
     background: url( ../images/handler_flow.gif) transparent no-repeat 10px 5px;
     background-color: #c4c4c4;
 }
+
+/*TODO fill once Amal has send the gifs*/
+a.menu_wsdl2code_class_clicked {
+    /*background: url( ../images/handler_flow.gif ) transparent no-repeat 10px 5px;*/
+    background-color: #c4c4c4;
+}
 /*///////////////////////*/
 /* End after clicked state */
 

Modified: trunk/wsas/java/modules/www/extensions/core/js/services.js
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/js/services.js	(original)
+++ trunk/wsas/java/modules/www/extensions/core/js/services.js	Thu Aug  2 09:22:13 2007
@@ -808,11 +808,6 @@
                                    generateTestCasesObj, databindingMethodObj,
                                    unpackClassesObj, serviceBindingName,
                                    serviceBindingPortObj, unwrapObj, wsdlVersionObj) {
-    var buttonObj = document.getElementById('dynamicClientButtonId');
-    if (buttonObj != null) {
-        buttonObj.disabled = true;
-    }
-
     var packageName = packageNameObj.value;
     var serviceName = serviceSpecificName;
     var invocationStyle = invocationStyleObj[invocationStyleObj.selectedIndex].value;
@@ -839,6 +834,12 @@
     } else {
        wsdlLocation = HTTP_URL + '/' + serviceName + '?wsdl2';
     }
+
+    var buttonObj = document.getElementById('dynamicClientButtonId');
+    if (buttonObj != null) {
+        buttonObj.disabled = true;
+    }
+
     var body_xml = ' <req:generateRequest xmlns:req="http://wsdl2code.service.admin.wsas.wso2.org">\n' +
                    ' <service>' + serviceName + '</service>\n' +
                    ' <packageName>' + packageName + '</packageName>\n' +

Modified: trunk/wsas/java/modules/www/extensions/core/js/wso2wsas.js
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/js/wso2wsas.js	(original)
+++ trunk/wsas/java/modules/www/extensions/core/js/wso2wsas.js	Thu Aug  2 09:22:13 2007
@@ -177,7 +177,8 @@
         'menu_stat_class_clicked',
         'menu_log_class_clicked',
         'menu_tracer_class_clicked',
-        'menu_axis_config_class_clicked');
+        'menu_axis_config_class_clicked',
+        'menu_wsdl2code_class_clicked');
 
 function getMenuFactoryClassElements(index) {
     return MenuClassFactory.classElements[index];

Added: trunk/wsas/java/modules/www/extensions/tools/divs.html
==============================================================================
--- (empty file)
+++ trunk/wsas/java/modules/www/extensions/tools/divs.html	Thu Aug  2 09:22:13 2007
@@ -0,0 +1 @@
+<div id="divWSDL2Code" style="display:none;"></div>
\ No newline at end of file

Added: trunk/wsas/java/modules/www/extensions/tools/js.html
==============================================================================
--- (empty file)
+++ trunk/wsas/java/modules/www/extensions/tools/js.html	Thu Aug  2 09:22:13 2007
@@ -0,0 +1 @@
+<script language="javascript" src="extensions/tools/js/tools.js"></script>
\ No newline at end of file

Added: trunk/wsas/java/modules/www/extensions/tools/js/tools.js
==============================================================================
--- (empty file)
+++ trunk/wsas/java/modules/www/extensions/tools/js/tools.js	Thu Aug  2 09:22:13 2007
@@ -0,0 +1,127 @@
+/**
+ * This js has the tools related js functions
+ */
+
+if (typeof wso2 == "undefined"){
+    var wso2 = {};
+}
+if (typeof wso2.wsas == "undefined") {
+    wso2.wsas = {};
+}
+
+// static tools methods 
+wso2.wsas.Tools = {
+    wsdl2code : function(thisObj, index) {
+
+        if (thisObj && index) {
+            renderSelectedMenuItem(thisObj, index);
+            gatherHistoryObject(thisObj.id, index);
+        }
+
+        var tmpTransformationNode;
+
+        /* The checking for the existance for window.XMLHttpRequest to figure out
+        the browser and the functionality was dropped since the new version of
+        IE has this object. */
+        if (wso2.wsf.Util.isIE()) {
+            tmpTransformationNode = new ActiveXObject("Microsoft.XmlDom");
+            var sXml = "<wsdl2code></wsdl2code>";
+            tmpTransformationNode.loadXML(sXml);
+        } else {
+            tmpTransformationNode =
+            document.implementation.createDocument("", "wsdl2code", null);
+        }
+
+        var divObject = document.getElementById("divWSDL2Code");
+        var xsltHelperObj = new wso2.wsf.XSLTHelper();
+        xsltHelperObj.transform(divObject, tmpTransformationNode, "wsdl2code.xsl",false,"tools");
+        wso2.wsf.Util.showOnlyOneMain(document.getElementById("divWSDL2Code"));
+
+    },
+
+    unwrapSelect : function(obj) {
+        var uwSelect = document.getElementById('unwrapId');
+        uwSelect.options.length = 0;
+        var selection = obj.options[obj.selectedIndex].value;
+        if (selection == "none" || selection == "xmlbeans") {
+            uwSelect.options[0] = new Option('False', 'false');
+        } else {
+            uwSelect.options[0] = new Option('False', 'false');
+            uwSelect.options[1] = new Option('True', 'true');
+        }
+    },
+
+    generateClient : function(wsdlLocationObj,
+                              packageNameObj,
+                              invocationStyleObj,
+                              generateTestCasesObj,
+                              databindingMethodObj,
+                              unpackClassesObj,
+                              serviceBindingNameObj,
+                              serviceBindingPortObj,
+                              unwrapObj,
+                              wsdlVersionObj) {
+
+        var wsdlLocation = wsdlLocationObj.value;
+        if (!wsdlLocation) {
+            wso2.wsf.Util.alertWarning("WSDL location is mandatory");
+            return false;
+        }
+
+        var packageName = packageNameObj.value;
+        var invocationStyle = invocationStyleObj[invocationStyleObj.selectedIndex].value;
+        var generateTestCases = generateTestCasesObj[generateTestCasesObj.selectedIndex].value;
+        var databindingMethod = databindingMethodObj[databindingMethodObj.selectedIndex].value;
+        var unpackClasses = unpackClassesObj[unpackClassesObj.selectedIndex].value;
+        var serviceBindingPort = serviceBindingPortObj.value;
+        var unwrap = unwrapObj[unwrapObj.selectedIndex].value;
+        var wsdlVersion = wsdlVersionObj[wsdlVersionObj.selectedIndex].value;
+        var serviceName = "genericService";
+
+        var serviceBindingName = serviceBindingNameObj.value;
+
+        var pattern = /^[a-zA-Z](([a-zA-Z_]+)([a-zA-Z0-9_]?)\.?)+[a-z0-9_]$/;
+        if (packageName == null || wso2.wsf.Util.trim(packageName) == '') {
+            wso2.wsf.Util.alertWarning("Package name is mandatory");
+            return false;
+        }
+        if (!pattern.test(packageName)) {
+            wso2.wsf.Util.alertWarning("Package name is not valid under Java package naming conventions");
+            return false;
+        }
+
+        var buttonObj = document.getElementById('wsdl2codeButtonId');
+
+        if (buttonObj != null) {
+            buttonObj.disabled = true;
+        }
+        var body_xml = ' <req:generateRequest xmlns:req="http://wsdl2code.service.admin.wsas.wso2.org">\n' +
+                       ' <service>' + serviceName + '</service>\n' +
+                       ' <packageName>' + packageName + '</packageName>\n' +
+                       ' <invocationStyle>' + invocationStyle + '</invocationStyle>\n' +
+                       ' <generateTestCase>' + generateTestCases + '</generateTestCase>\n' +
+                       ' <databindingMethod>' + databindingMethod + '</databindingMethod>\n' +
+                       ' <unpackClasses>' + unpackClasses + '</unpackClasses>\n' +
+                       ' <serviceBindingName>' + serviceBindingName + '</serviceBindingName>\n' +
+                       ' <servicePortName>' + serviceBindingPort + '</servicePortName>\n' +
+                       ' <unwrap>' + unwrap + '</unwrap>\n' +
+                       ' <wsdlVersion>' + wsdlVersion + '</wsdlVersion>\n' +
+                       ' <wsdlLocation>' + wsdlLocation + '</wsdlLocation>\n' +
+                       ' </req:generateRequest>\n';
+
+        var callURL = serverURL + "/" + "JavaClientGeneratorService" ;
+        wso2.wsf.Util.cursorWait();
+        new wso2.wsf.WSRequest(callURL, "generate", body_xml, generateClientToolsCallback, [buttonObj]);
+    }
+};
+
+function generateClientToolsCallback() {
+    //response will be a link and it will call the download dialog
+    var data = this.req.responseXML;
+    var responseTextValue = data.getElementsByTagName("return")[0].firstChild.nodeValue;
+    var buttonObj = this.params[0];
+    if (buttonObj != null) {
+        buttonObj.disabled = false;
+    }
+    window.location = URL + responseTextValue;
+}
\ No newline at end of file

Added: trunk/wsas/java/modules/www/extensions/tools/menu.html
==============================================================================
--- (empty file)
+++ trunk/wsas/java/modules/www/extensions/tools/menu.html	Thu Aug  2 09:22:13 2007
@@ -0,0 +1,5 @@
+<li class="menu_monitor_class"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tools</span>
+    <ul class="submenu">
+        <li><a href="#" id="menu_wsdl2code_class_id" onclick="javascript:wso2.wsas.Tools.wsdl2code(this,13); return false;" class="menu_wsdl2code_class" title="WSDL To Code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WSDL2Code</a></li>
+    </ul>
+</li>
\ No newline at end of file

Added: trunk/wsas/java/modules/www/extensions/tools/xslt/wsdl2code.xsl
==============================================================================
--- (empty file)
+++ trunk/wsas/java/modules/www/extensions/tools/xslt/wsdl2code.xsl	Thu Aug  2 09:22:13 2007
@@ -0,0 +1,139 @@
+<!--
+  ~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
+  ~
+  ~ 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.
+  -->
+
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+    <xsl:template match="wsdl2code">
+        <!--  Link header to be populated by java script -->
+        <div><h2>WSDL2Code</h2></div>
+        <div id="formset">
+            <form>
+                <fieldset>
+                    <legend>WSDL To Code Options</legend>
+
+                    <div>
+                        <label>WSDL URL(-uri)</label>
+                        <input>
+                            <xsl:attribute name="type">text</xsl:attribute>
+                            <xsl:attribute name="id">wsdlURLId</xsl:attribute>
+                            <xsl:attribute name="size">40</xsl:attribute>
+                            <xsl:attribute name="tabindex">2</xsl:attribute>
+                        </input>
+                    </div>
+
+                    <div>
+                        <label>Package Name(-p)<font color='red'>*</font></label>
+                        <input>
+                            <xsl:attribute name="type">text</xsl:attribute>
+                            <xsl:attribute name="id">pakageNameId</xsl:attribute>
+                            <xsl:attribute name="size">40</xsl:attribute>
+                            <xsl:attribute name="value">org.wso2.wsas.client</xsl:attribute>
+                            <xsl:attribute name="tabindex">3</xsl:attribute>
+                         </input>
+                    </div>
+                    <div>
+                        <label>WSDL Version(-wv)</label>
+                        <select id='wsdlVersionId' tabindex="6">
+                            <option value='1.1'>1.1</option>
+                            <option value='2.0'>2.0</option>
+                        </select>
+                    </div>
+                    <div>
+                        <label>Invocation Style(-a/-s)</label>
+                        <select>
+                            <xsl:attribute name="id">invocationStyleId</xsl:attribute>
+                            <xsl:attribute name="tabindex">4</xsl:attribute>
+                            <option value='both'>Both</option>
+                            <option value='a'>Asynchronous</option>
+                            <option value='s'>Synchronous</option>
+                        </select>
+                    </div>
+                    <div>
+                        <label>Databinding(-d)</label>
+                        <select id='databindingMethodId' tabindex="5">
+                            <xsl:attribute name="onchange">javascript:wso2.wsas.Tools.unwrapSelect(this);return false;</xsl:attribute>
+                            <option value='adb'>ADB</option>
+                            <option value='xmlbeans'>XMLBeans</option>
+                            <option value='none'>NONE</option>
+                        </select>
+                    </div>
+                    <div>
+                        <label>Unpack Classes(-u)</label>
+                        <select id='unpackClassesId' tabindex="6">
+                            <option value='true'>True</option>
+                            <option value='false'>False</option>
+                        </select>
+                    </div>
+                    <div>
+                        <label>Unwrap(-uw)</label>
+                        <select id='unwrapId' tabindex="7">
+                            <option value='false'>False</option>
+                            <option value='true'>True</option>
+                        </select>
+                    </div>
+                    <div>
+                        <label>Generate Testcase(-t)</label>
+                        <select id='generateTestCasesId' tabindex="8">
+                            <option value='false'>False</option>
+                            <option value='true'>True</option>
+                        </select>
+                    </div>
+
+                    <div>
+                        <label>Service Name(-sn)</label>
+                        <input>
+                            <xsl:attribute name="type">text</xsl:attribute>
+                            <xsl:attribute name="id">serviceNameId</xsl:attribute>
+                            <xsl:attribute name="size">40</xsl:attribute>
+                            <xsl:attribute name="tabindex">10</xsl:attribute>
+                        </input>
+                    </div>
+
+                    <div>
+                        <label>Port Name(-pn)</label>
+                        <input>
+                            <xsl:attribute name="type">text</xsl:attribute>
+                            <xsl:attribute name="id">portNameId</xsl:attribute>
+                            <xsl:attribute name="size">40</xsl:attribute>
+                            <xsl:attribute name="tabindex">11</xsl:attribute>
+                        </input>
+                    </div>
+
+
+                    <div class='buttonrow'>
+                        <input type='button' value='Generate' tabindex="9">
+                            <xsl:attribute name="onClick">
+                                javascript:wso2.wsas.Tools.generateClient(
+                                document.getElementById('wsdlURLId'),
+                                document.getElementById('pakageNameId'),
+                                document.getElementById('invocationStyleId'),
+                                document.getElementById('generateTestCasesId'),
+                                document.getElementById('databindingMethodId'), 
+                                document.getElementById('unpackClassesId'),
+                                document.getElementById('serviceNameId'),
+                                document.getElementById('portNameId'),
+                                document.getElementById('unwrapId'),
+                                document.getElementById('wsdlVersionId'));return false;
+                            </xsl:attribute>
+                            <xsl:attribute name="id">wsdl2codeButtonId</xsl:attribute>
+                        </input>
+                    </div>
+
+                </fieldset>
+            </form>
+        </div>
+    </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file




More information about the Wsas-java-dev mailing list