You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/12/27 19:49:10 UTC

svn commit: r607107 - in /incubator/tuscany/java/sca: demos/customer-map/src/main/resources/html/ modules/binding-feed/src/main/resources/org.apache.tuscany.binding.feed/ modules/implementation-widget/src/main/resources/

Author: lresende
Date: Thu Dec 27 10:49:10 2007
New Revision: 607107

URL: http://svn.apache.org/viewvc?rev=607107&view=rev
Log:
Adding support for AtomClient JS in Internet Explorer

Modified:
    incubator/tuscany/java/sca/demos/customer-map/src/main/resources/html/binding-atom.js
    incubator/tuscany/java/sca/modules/binding-feed/src/main/resources/org.apache.tuscany.binding.feed/binding-atom.js
    incubator/tuscany/java/sca/modules/implementation-widget/src/main/resources/binding-atom.js

Modified: incubator/tuscany/java/sca/demos/customer-map/src/main/resources/html/binding-atom.js
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/customer-map/src/main/resources/html/binding-atom.js?rev=607107&r1=607106&r2=607107&view=diff
==============================================================================
--- incubator/tuscany/java/sca/demos/customer-map/src/main/resources/html/binding-atom.js (original)
+++ incubator/tuscany/java/sca/demos/customer-map/src/main/resources/html/binding-atom.js Thu Dec 27 10:49:10 2007
@@ -18,7 +18,13 @@
  */
 	
 function AtomClient(uri) {
-	
+
+	this.msxmlNames = [ "MSXML2.XMLHTTP.5.0",
+                        "MSXML2.XMLHTTP.4.0",
+                        "MSXML2.XMLHTTP.3.0",
+                        "MSXML2.XMLHTTP",
+                        "Microsoft.XMLHTTP" ];
+			            
 	this.uri=uri;
 	
 	this.get = function(id, responseFunction) {
@@ -26,9 +32,14 @@
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 200) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+                    if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
-					alert("get - Error getting data from the server");
+                    alert("get - Error getting data from the server");
 				}
 			}
 		}
@@ -40,7 +51,12 @@
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 201) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+					if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
 					alert("post - Error getting data from the server");
 				}
@@ -49,13 +65,18 @@
 		xhr.open("POST", uri, true);
 		xhr.setRequestHeader("Content-Type", "application/atom+xml");
 		xhr.send(entry);
-	}
+	}	
 	this.put = function (id, entry, responseFunction) {
 		var xhr = this.createXMLHttpRequest();
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 200) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+					if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
 					alert("put - Error getting data from the server");
 				}
@@ -65,7 +86,7 @@
 		xhr.setRequestHeader("Content-Type", "application/atom+xml");
 		xhr.send(entry);
 	}	
-	this.delete = function (id, responseFunction) {       
+	this.del = function (id, responseFunction) {       
 		var xhr = this.createXMLHttpRequest();
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
@@ -79,14 +100,36 @@
 		xhr.open("DELETE", uri + id, true);		
 		xhr.send(null);
 	}
-	
 	this.createXMLHttpRequest = function () {
-		try {return new XMLHttpRequest();} catch(e) {}      
-		try {return new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {}
-		try {return new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {}
-		alert("XML http request not supported");
-		return null;
+        /* Mozilla XMLHttpRequest */
+        try {return new XMLHttpRequest();} catch(e) {}      
+		
+        /* Microsoft MSXML ActiveX */
+        for (var i=0;i < this.msxmlNames.length; i++) {
+            try {return new ActiveXObject(this.msxmlNames[i]);} catch (e) {}
+        }
+        alert("XML http request not supported");
+        return null;
 	}
+	if (typeof DOMParser == "undefined") {
+	   DOMParser = function () {}
+	
+	   DOMParser.prototype.parseFromString = function (str, contentType) {
+	      if (typeof ActiveXObject != "undefined") {
+	         var d = new ActiveXObject("MSXML.DomDocument");
+	         d.loadXML(str);
+	         return d;
+	      } else if (typeof XMLHttpRequest != "undefined") {
+	         var req = new XMLHttpRequest;
+	         req.open("GET", "data:" + (contentType || "application/xml") +
+	                         ";charset=utf-8," + encodeURIComponent(str), false);
+	         if (req.overrideMimeType) {
+	            req.overrideMimeType(contentType);
+	         }
+	         req.send(null);
+	         return req.responseXML;
+	      }
+      }
+   }
 }
-
 bindingatom = "loaded";

Modified: incubator/tuscany/java/sca/modules/binding-feed/src/main/resources/org.apache.tuscany.binding.feed/binding-atom.js
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/resources/org.apache.tuscany.binding.feed/binding-atom.js?rev=607107&r1=607106&r2=607107&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-feed/src/main/resources/org.apache.tuscany.binding.feed/binding-atom.js (original)
+++ incubator/tuscany/java/sca/modules/binding-feed/src/main/resources/org.apache.tuscany.binding.feed/binding-atom.js Thu Dec 27 10:49:10 2007
@@ -18,7 +18,13 @@
  */
 	
 function AtomClient(uri) {
-	
+
+	this.msxmlNames = [ "MSXML2.XMLHTTP.5.0",
+                        "MSXML2.XMLHTTP.4.0",
+                        "MSXML2.XMLHTTP.3.0",
+                        "MSXML2.XMLHTTP",
+                        "Microsoft.XMLHTTP" ];
+			            
 	this.uri=uri;
 	
 	this.get = function(id, responseFunction) {
@@ -26,9 +32,14 @@
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 200) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+                    if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
-					alert("get - Error getting data from the server");
+                    alert("get - Error getting data from the server");
 				}
 			}
 		}
@@ -40,7 +51,12 @@
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 201) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+					if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
 					alert("post - Error getting data from the server");
 				}
@@ -49,13 +65,18 @@
 		xhr.open("POST", uri, true);
 		xhr.setRequestHeader("Content-Type", "application/atom+xml");
 		xhr.send(entry);
-	}
+	}	
 	this.put = function (id, entry, responseFunction) {
 		var xhr = this.createXMLHttpRequest();
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 200) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+					if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
 					alert("put - Error getting data from the server");
 				}
@@ -79,14 +100,36 @@
 		xhr.open("DELETE", uri + id, true);		
 		xhr.send(null);
 	}
-	
 	this.createXMLHttpRequest = function () {
-		try {return new XMLHttpRequest();} catch(e) {}      
-		try {return new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {}
-		try {return new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {}
-		alert("XML http request not supported");
-		return null;
+        /* Mozilla XMLHttpRequest */
+        try {return new XMLHttpRequest();} catch(e) {}      
+		
+        /* Microsoft MSXML ActiveX */
+        for (var i=0;i < this.msxmlNames.length; i++) {
+            try {return new ActiveXObject(this.msxmlNames[i]);} catch (e) {}
+        }
+        alert("XML http request not supported");
+        return null;
 	}
+	if (typeof DOMParser == "undefined") {
+	   DOMParser = function () {}
+	
+	   DOMParser.prototype.parseFromString = function (str, contentType) {
+	      if (typeof ActiveXObject != "undefined") {
+	         var d = new ActiveXObject("MSXML.DomDocument");
+	         d.loadXML(str);
+	         return d;
+	      } else if (typeof XMLHttpRequest != "undefined") {
+	         var req = new XMLHttpRequest;
+	         req.open("GET", "data:" + (contentType || "application/xml") +
+	                         ";charset=utf-8," + encodeURIComponent(str), false);
+	         if (req.overrideMimeType) {
+	            req.overrideMimeType(contentType);
+	         }
+	         req.send(null);
+	         return req.responseXML;
+	      }
+      }
+   }
 }
-
 bindingatom = "loaded";

Modified: incubator/tuscany/java/sca/modules/implementation-widget/src/main/resources/binding-atom.js
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-widget/src/main/resources/binding-atom.js?rev=607107&r1=607106&r2=607107&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-widget/src/main/resources/binding-atom.js (original)
+++ incubator/tuscany/java/sca/modules/implementation-widget/src/main/resources/binding-atom.js Thu Dec 27 10:49:10 2007
@@ -18,7 +18,13 @@
  */
 	
 function AtomClient(uri) {
-	
+
+	this.msxmlNames = [ "MSXML2.XMLHTTP.5.0",
+                        "MSXML2.XMLHTTP.4.0",
+                        "MSXML2.XMLHTTP.3.0",
+                        "MSXML2.XMLHTTP",
+                        "Microsoft.XMLHTTP" ];
+			            
 	this.uri=uri;
 	
 	this.get = function(id, responseFunction) {
@@ -26,9 +32,14 @@
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 200) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+                    if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
-					alert("get - Error getting data from the server");
+                    alert("get - Error getting data from the server");
 				}
 			}
 		}
@@ -40,7 +51,12 @@
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 201) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+					if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
 					alert("post - Error getting data from the server");
 				}
@@ -49,13 +65,18 @@
 		xhr.open("POST", uri, true);
 		xhr.setRequestHeader("Content-Type", "application/atom+xml");
 		xhr.send(entry);
-	}
+	}	
 	this.put = function (id, entry, responseFunction) {
 		var xhr = this.createXMLHttpRequest();
 		xhr.onreadystatechange = function() {
 			if (xhr.readyState == 4) {
 				if (xhr.status == 200) {
-					if (responseFunction != null) responseFunction(xhr.responseXML);
+				    var strDocument = xhr.responseText;
+				    var xmlDocument = xhr.responseXML;
+				    if(!xmlDocument || xmlDocument.childNodes.length==0){ 
+                        xmlDocument = (new DOMParser()).parseFromString(strDocument, "text/xml");
+                    } 
+					if (responseFunction != null) responseFunction(xmlDocument);
 				} else {
 					alert("put - Error getting data from the server");
 				}
@@ -79,12 +100,36 @@
 		xhr.open("DELETE", uri + id, true);		
 		xhr.send(null);
 	}
-	
 	this.createXMLHttpRequest = function () {
-		try {return new XMLHttpRequest();} catch(e) {}      
-		try {return new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {}
-		try {return new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {}
-		alert("XML http request not supported");
-		return null;
+        /* Mozilla XMLHttpRequest */
+        try {return new XMLHttpRequest();} catch(e) {}      
+		
+        /* Microsoft MSXML ActiveX */
+        for (var i=0;i < this.msxmlNames.length; i++) {
+            try {return new ActiveXObject(this.msxmlNames[i]);} catch (e) {}
+        }
+        alert("XML http request not supported");
+        return null;
 	}
+	if (typeof DOMParser == "undefined") {
+	   DOMParser = function () {}
+	
+	   DOMParser.prototype.parseFromString = function (str, contentType) {
+	      if (typeof ActiveXObject != "undefined") {
+	         var d = new ActiveXObject("MSXML.DomDocument");
+	         d.loadXML(str);
+	         return d;
+	      } else if (typeof XMLHttpRequest != "undefined") {
+	         var req = new XMLHttpRequest;
+	         req.open("GET", "data:" + (contentType || "application/xml") +
+	                         ";charset=utf-8," + encodeURIComponent(str), false);
+	         if (req.overrideMimeType) {
+	            req.overrideMimeType(contentType);
+	         }
+	         req.send(null);
+	         return req.responseXML;
+	      }
+      }
+   }
 }
+bindingatom = "loaded";
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org