diff options
Diffstat (limited to 'src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java')
-rw-r--r-- | src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java index 27a60e82..243bc587 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java @@ -289,12 +289,23 @@ public class ModelBuilder<T,C,F,M> implements ModelBuilderI<T,C,F,M> { String pkg = nav.getPackageName(clazz); if (!registries.containsKey(pkg)) { // insert the package's object factory - C c = nav.findClass(pkg + ".ObjectFactory", clazz); + C c = loadObjectFactory(clazz, pkg); if (c != null) addRegistry(c, p); } } + private C loadObjectFactory(C clazz, String pkg) { + C c; + try { + c = nav.findClass(pkg + ".ObjectFactory", clazz); + } catch (SecurityException ignored) { + // treat SecurityException in same way as ClassNotFoundException in this case + c = null; + } + return c; + } + /** * Getting parametrized classes of {@code JAXBElement<...>} property * @param p property which parametrized types we will try to get |