Author: alessio.soldano(a)jboss.com
Date: 2010-01-28 04:45:22 -0500 (Thu, 28 Jan 2010)
New Revision: 11499
Modified:
common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java
Log:
[JBWS-2900] Optimize EntityResolver setup in DOMUtils
Modified: common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java 2010-01-28 09:25:15 UTC
(rev 11498)
+++ common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java 2010-01-28 09:45:22 UTC
(rev 11499)
@@ -49,6 +49,7 @@
import org.jboss.logging.Logger;
import org.jboss.ws.Constants;
+import org.jboss.ws.core.utils.JBossWSEntityResolver;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -129,28 +130,36 @@
throw new RuntimeException("Unable to create document builder",
e);
}
}
-
+
private void setEntityResolver(DocumentBuilder builder)
{
- String[] resolvers = new String[] {
"org.jboss.ws.core.utils.JBossWSEntityResolver",
"org.jboss.util.xml.JBossEntityResolver" };
-
EntityResolver entityResolver = null;
- ClassLoader loader = SecurityActions.getContextClassLoader();
- boolean debugEnabled = log.isDebugEnabled();
- for (String resolver : resolvers)
+ try
{
- try
+ entityResolver = new JBossWSEntityResolver();
+ }
+ catch (Throwable t)
+ {
+ boolean debugEnabled = log.isDebugEnabled();
+ if (debugEnabled)
+ log.debug("Cannot load: " +
JBossWSEntityResolver.class.getCanonicalName());
+ String[] resolvers = new String[] {
"org.jboss.util.xml.JBossEntityResolver" };
+ ClassLoader loader = SecurityActions.getContextClassLoader();
+ for (String resolver : resolvers)
{
- Class<?> resolverClass = SecurityActions.loadClass(loader,
resolver);
- entityResolver = (EntityResolver)resolverClass.newInstance();
+ try
+ {
+ Class<?> resolverClass = SecurityActions.loadClass(loader,
resolver);
+ entityResolver = (EntityResolver)resolverClass.newInstance();
+ break;
+ }
+ catch (Exception ex)
+ {
+ if (debugEnabled)
+ log.debug("Cannot load: " + resolver);
+ }
}
- catch (Exception ex)
- {
- if (debugEnabled)
- log.debug("Cannot load: " + resolver);
- }
}
-
if (entityResolver != null)
builder.setEntityResolver(entityResolver);
}