Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib
In directory james.mmbase.org:/tmp/cvs-serv19794

Modified Files:
        FormatterTag.java 
Log Message:
This formatter tag was broken if you happen to have an xinclude incapable xml 
parser (like the ancient xerces 2.6)


See also: 
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib


Index: FormatterTag.java
===================================================================
RCS file: 
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/FormatterTag.java,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -b -r1.79 -r1.80
--- FormatterTag.java   4 Sep 2008 12:31:07 -0000       1.79
+++ FormatterTag.java   1 Apr 2009 14:12:52 -0000       1.80
@@ -42,7 +42,7 @@
  *
  * @since  MMBase-1.6
  * @author Michiel Meeuwissen
- * @version $Id: FormatterTag.java,v 1.79 2008/09/04 12:31:07 michiel Exp $
+ * @version $Id: FormatterTag.java,v 1.80 2009/04/01 14:12:52 michiel Exp $
  */
 public class FormatterTag extends CloudReferrerTag implements ParamHandler {
 
@@ -114,8 +114,11 @@
 
         try {
             javax.xml.parsers.DocumentBuilderFactory dfactory = 
javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
+            try {
             dfactory.setXIncludeAware(true);
+            } catch (UnsupportedOperationException uoe) {
+                log.warn("DocumentBuilderFactory implementation does not 
suppoer xinclude: " + dfactory.getClass() + ": " + uoe.getMessage());
+            }
             dfactory.setNamespaceAware(false);
             documentBuilder = dfactory.newDocumentBuilder();
             dfactory.setNamespaceAware(true);
@@ -127,7 +130,7 @@
             documentBuilderNS.setErrorHandler(handler);
             documentBuilderNS.setEntityResolver(resolver);
         }  catch (Exception e) {
-            log.error(e.toString());
+            log.error(e.getMessage(), e);
         }
     }
 
@@ -353,7 +356,6 @@
                     if (encoding == null) encoding = "UTF-8"; // it _must_ be 
XML.
                     javax.servlet.http.HttpServletRequest request = 
(javax.servlet.http.HttpServletRequest)pageContext.getRequest();
                     DocumentBuilder db =  namespaceAware.getBoolean(this, 
true) ? documentBuilderNS : documentBuilder;
-                    log.debug("xinclude " + db.isXIncludeAware());
                     doc = db.parse(new 
java.io.ByteArrayInputStream(body.getBytes(encoding)),
                                    
pageContext.getServletContext().getResource(request.getServletPath()).toString()
                                    );
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to