Author: epbernard
Date: 2009-07-29 22:15:39 -0400 (Wed, 29 Jul 2009)
New Revision: 17218
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/xml/ValidationXmlParser.java
Log:
HV-194 avoid the NPE when loading XML resources. Also do not use class.getResourceAsStream
as the resource name alterations are not the ones expected
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/xml/ValidationXmlParser.java
===================================================================
---
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/xml/ValidationXmlParser.java 2009-07-30
01:47:31 UTC (rev 17217)
+++
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/xml/ValidationXmlParser.java 2009-07-30
02:15:39 UTC (rev 17218)
@@ -231,11 +231,18 @@
private InputStream getInputStreamForPath(String path) {
// try the context class loader first
- InputStream inputStream =
Thread.currentThread().getContextClassLoader().getResourceAsStream( path );
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ boolean isContextCL = true;
+ if (loader == null) {
+ log.debug( "No default context class loader, fallbacking to Bean Validation's
loader" );
+ loader = ValidationXmlParser.class.getClassLoader();
+ isContextCL = false;
+ }
+ InputStream inputStream = loader.getResourceAsStream( path );
// try the current class loader
- if ( inputStream == null ) {
- inputStream = this.getClass().getResourceAsStream( path );
+ if ( isContextCL && inputStream == null ) {
+ inputStream = ValidationXmlParser.class.getClassLoader().getResourceAsStream( path );
}
return inputStream;
}