[utilities COMMIT] /java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/BasicParserPool.java
noreply at shibboleth.net
noreply at shibboleth.net
Fri Mar 13 20:23:29 EDT 2015
Author: putmanb
Date: Fri Mar 13 20:23:28 2015
New Revision: 777
URL: http://svn.shibboleth.net/view/utilities?rev=777&view=rev
Log:
JSPT-54: BasicParserPool is not correctly resetting builder ErrorHandler and EntityResolver on second and subsequent checkout
Modified:
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/BasicParserPool.java
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/BasicParserPool.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/BasicParserPool.java?rev=777&r1=776&r2=777&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/BasicParserPool.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/BasicParserPool.java Fri Mar 13 20:23:28 2015
@@ -164,6 +164,7 @@
}
if (builder != null) {
+ prepareBuilder(builder);
return new DocumentBuilderProxy(builder, this);
}
@@ -520,18 +521,25 @@
try {
final DocumentBuilder builder = builderFactory.newDocumentBuilder();
- if (entityResolver != null) {
- builder.setEntityResolver(entityResolver);
- }
-
- if (errorHandler != null) {
- builder.setErrorHandler(errorHandler);
- }
-
return builder;
} catch (ParserConfigurationException e) {
log.debug("Unable to create new document builder", e);
throw new XMLParserException("Unable to create new document builder", e);
+ }
+ }
+
+ /**
+ * Prepare a document builder instance for use, before returning it from a checkout call.
+ *
+ * @param builder the document builder to prepare
+ */
+ private void prepareBuilder(@Nonnull final DocumentBuilder builder) {
+ if (entityResolver != null) {
+ builder.setEntityResolver(entityResolver);
+ }
+
+ if (errorHandler != null) {
+ builder.setErrorHandler(errorHandler);
}
}
More information about the commits
mailing list