aboutsummaryrefslogtreecommitdiff
path: root/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java
diff options
context:
space:
mode:
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.java13
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