You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xap-commits@incubator.apache.org by jm...@apache.org on 2007/01/09 00:15:48 UTC

svn commit: r494273 - /incubator/xap/trunk/src/xap/bridges/basic/XInclude.js

Author: jmargaris
Date: Mon Jan  8 16:15:47 2007
New Revision: 494273

URL: http://svn.apache.org/viewvc?view=rev&rev=494273
Log:
better error handing

Modified:
    incubator/xap/trunk/src/xap/bridges/basic/XInclude.js

Modified: incubator/xap/trunk/src/xap/bridges/basic/XInclude.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/xap/bridges/basic/XInclude.js?view=diff&rev=494273&r1=494272&r2=494273
==============================================================================
--- incubator/xap/trunk/src/xap/bridges/basic/XInclude.js (original)
+++ incubator/xap/trunk/src/xap/bridges/basic/XInclude.js Mon Jan  8 16:15:47 2007
@@ -19,6 +19,7 @@
 
 Xap.require("xap.taghandling.AbstractTagImpl");
 Xap.require("xap.xml.ParserFactory");
+Xap.require("xap.util.Exception");
 
 /**
  * @fileoverview
@@ -58,32 +59,36 @@
 }
 
 xap.bridges.basic.XInclude.prototype.requestFailed = function(url, response) {
-	//TODO handle better
-	alert("XInclude request for " + url + " failed");
+	this.getSession().handleException(new xap.util.Exception("Error loading xinclude with href " + this.getElement().getAttribute("href")));
 }
 
 xap.bridges.basic.XInclude.prototype.requestCompleted = function(url, response) {
-	var thisElement = this.getElement();
-	var text = response.responseText;
-	var parseType = thisElement.getAttribute("parse");
-	
-	var newChild = null;
-	
-	if ("text"==parseType){
-		newChild = thisElement.ownerDocument.createTextNode(text);
+	try{
+		var thisElement = this.getElement();
+		var text = response.responseText;
+		var parseType = thisElement.getAttribute("parse");
+		
+		var newChild = null;
+		
+		if ("text"==parseType){
+			newChild = thisElement.ownerDocument.createTextNode(text);
+		}
+		else{
+			var parser = xap.xml.ParserFactory.getParser();
+	  		var document =  parser.parse( text );
+	  		newChild = document.childNodes[0];
+	  		
+	  		//TODO what about fragments? Should we handle that? spec allows it with
+	  		//xpointer, kind of ugly...
+		}
+		
+		//insert before us then remove us!
+		thisElement.parentNode.insertBefore(newChild, thisElement);
+		thisElement.parentNode.removeChild(thisElement);
 	}
-	else{
-		var parser = xap.xml.ParserFactory.getParser();
-  		var document =  parser.parse( text );
-  		newChild = document.childNodes[0];
-  		
-  		//TODO what about fragments? Should we handle that? spec allows it with
-  		//xpointer, kind of ugly...
+	catch(e){	
+		this.getSession().handleException(new xap.util.Exception("Error loading xinclude with href " + this.getElement().getAttribute("href"), e));
 	}
-	
-	//insert before us then remove us!
-	thisElement.parentNode.insertBefore(newChild, thisElement);
-	thisElement.parentNode.removeChild(thisElement);
 }