--- old/src/share/jaxws_classes/com/sun/tools/internal/xjc/SecureLoader.java 2013-04-04 15:27:01.488612679 +0200 +++ new/src/share/jaxws_classes/com/sun/tools/internal/xjc/SecureLoader.java 2013-04-04 15:27:01.436612677 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,9 +37,9 @@ if (System.getSecurityManager() == null) { return Thread.currentThread().getContextClassLoader(); } else { - return (ClassLoader) java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public java.lang.Object run() { + return java.security.AccessController.doPrivileged( + new java.security.PrivilegedAction() { + public ClassLoader run() { return Thread.currentThread().getContextClassLoader(); } }); @@ -50,9 +50,9 @@ if (System.getSecurityManager() == null) { return c.getClassLoader(); } else { - return (ClassLoader) java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public java.lang.Object run() { + return java.security.AccessController.doPrivileged( + new java.security.PrivilegedAction() { + public ClassLoader run() { return c.getClassLoader(); } }); @@ -63,9 +63,9 @@ if (System.getSecurityManager() == null) { return ClassLoader.getSystemClassLoader(); } else { - return (ClassLoader) java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public java.lang.Object run() { + return java.security.AccessController.doPrivileged( + new java.security.PrivilegedAction() { + public ClassLoader run() { return ClassLoader.getSystemClassLoader(); } }); @@ -77,8 +77,8 @@ Thread.currentThread().setContextClassLoader(cl); } else { java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public java.lang.Object run() { + new java.security.PrivilegedAction() { + public ClassLoader run() { Thread.currentThread().setContextClassLoader(cl); return null; } @@ -86,4 +86,18 @@ } } + static ClassLoader getParentClassLoader(final ClassLoader cl) { + if (System.getSecurityManager() == null) { + return cl.getParent(); + } else { + return java.security.AccessController.doPrivileged( + new java.security.PrivilegedAction() { + public ClassLoader run() { + return cl.getParent(); + } + }); + } + } + + }