Author: tyrell
Date: Wed Jan  9 06:43:22 2008
New Revision: 12078

Log:

Fixing the stub generator to work on IE. Resorted to using YUI connection 
manager.

Modified:
   trunk/mashup/java/modules/www/stub_gen.jsp

Modified: trunk/mashup/java/modules/www/stub_gen.jsp
==============================================================================
--- trunk/mashup/java/modules/www/stub_gen.jsp  (original)
+++ trunk/mashup/java/modules/www/stub_gen.jsp  Wed Jan  9 06:43:22 2008
@@ -69,9 +69,58 @@
     <link href="css/styles.css" rel="stylesheet" type="text/css"/>
 
     <script language="javascript" src="js/common.js" 
type="text/javascript"></script>
-    
+    <script language="javascript" src="js/yui/yahoo/yahoo.js" 
type="text/javascript"></script>
+    <script language="javascript" src="js/yui/event/event.js" 
type="text/javascript"></script>
+    <script language="javascript" src="js/yui/connection/connection.js"
+            type="text/javascript"></script>
+    <script language="javascript" src="js/wso2/WSRequest.js"
+            type="text/javascript"></script>
+
     <script language="javascript"
-            type="text/javascript">userLoggedOn = 
<%=RegistryUtils.isLoggedIn(registry) %>;</script>        
+            type="text/javascript">userLoggedOn = 
<%=RegistryUtils.isLoggedIn(registry) %>;</script>
+
+    <script language="JavaScript" type="text/javascript">
+
+        var callback =
+        {
+            success:handleSuccess,
+            failure:handleFailure,
+            upload:handleSuccess
+        };
+
+        function handleSuccess(o) {
+            var browser = WSRequest.util._getBrowser();
+            var response = "";
+
+            if (browser == "ie" || browser == "ie7") {
+                response =
+                
o.responseXML.getElementsByTagName("ns:return")[0].firstChild.nodeValue;
+            } else {
+                response =
+                
o.responseXML.getElementsByTagName("return")[0].firstChild.nodeValue;
+            }
+            document.getElementById("js-stub").value = response;
+        }
+
+        function handleFailure(o) {
+            document.getElementById("js-stub").value = o.responseText;
+        }
+
+        function submitFormAsync(formId, isFileUpload) {
+
+            var form = document.getElementById(formId);
+
+            if (isFileUpload) {
+                YAHOO.util.Connect.setForm(form, true, true);
+            } else {
+                YAHOO.util.Connect.setForm(form);
+            }
+
+            YAHOO.util.Connect.asyncRequest("POST", 
form.getAttribute("action"), callback, null);
+
+        }
+
+    </script>
 </head>
 <body>
 <div id="page">
@@ -83,7 +132,7 @@
     <div id="content">
         <h1>JavaScript Stub Genarator</h1>
 
-        <form name="form" method="post" enctype="multipart/form-data"
+        <form id="form" method="post" enctype="multipart/form-data"
               action="/services/JavaScriptStubGenaratorService/genarateStub" 
target="uploadFrame">
 
             <table>
@@ -102,9 +151,10 @@
             </table>
 
             <br>
-            <input type="submit" id="doUpload" name="doUpload" 
value="OK"/></form>
+            <input type="button" id="doUpload" name="doUpload" value="OK"
+                   onclick="submitFormAsync('form',true)"/></form>
 
-        <form name="form2" method="post" enctype="multipart/form-data"
+        <form id="form2" method="post" enctype="multipart/form-data"
               
action="/services/JavaScriptStubGenaratorService/genarateStubFromURL"
               target="uploadFrame">
 
@@ -124,40 +174,17 @@
             </table>
 
             <br>
-            <input type="submit" id="doUpload2" name="doUpload2" 
value="OK"/></form>
+            <input type="button" value="OK"
+                   onclick="submitFormAsync('form2',false)"/></form>
 
-        <div style="height:auto;">
-            <textarea id="js-stub" class="codepress javascript" style="width: 
100%;height:60%;"> </textarea>
+        <div style="height: auto;">
+            <textarea id="js-stub" class="codepress javascript"
+                      style="width: 100%;height:60%;"> </textarea>
         </div>
     </div>
 
     <iframe id="uploadFrame" name="uploadFrame" height="0" width="0" 
frameborder="0"
             scrolling="yes"></iframe>
-
-    <script language="JavaScript" type="text/javascript">
-        document.getElementById("js-stub").value = "";
-                
-        var dataCheckerId;
-        var isDataGathered = false;
-
-        function checkIframe() {
-
-            
-            if (!isDataGathered) {
-                var iframeContent = 
document.getElementById("uploadFrame").contentDocument;
-
-                if (!(iframeContent.baseURI == "about:blank")) {               
          
-                    document.getElementById("js-stub").value = 
iframeContent.getElementsByTagName("return")[0].textContent;                    
 
-                    isDataGathered = true;
-                }
-            }else{
-               window.clearInterval(dataCheckerId);
-            }
-
-        }
-
-        dataCheckerId = window.setInterval("checkIframe()", 100);
-    </script>
     <%@ include file="footer.jsp" %>
 </div>
 </body>

_______________________________________________
Mashup-dev mailing list
[email protected]
http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev

Reply via email to