# HG changeset patch # User mkos # Date 1385028932 -3600 # Node ID 482a3f64a8ea659e3c8a7db8b2dad708b50202a3 # Parent 7d297f4939bf507574c733518779b78f3e047e67 8028382: Two javax/xml/8005433 tests still fail after the fix JDK-8028147 Summary: test regression; fix also reviewed by Iaroslav Savytskyi, Alexander Fomin Reviewed-by: mchung diff -r 7d297f4939bf -r 482a3f64a8ea src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java Thu Mar 20 16:23:27 2014 +0000 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java Thu Nov 21 11:15:32 2013 +0100 @@ -58,7 +58,6 @@ // --------------------------------------- public Class getSuperClass(Class clazz) { - checkPackageAccess(clazz.getName()); if (clazz == Object.class) { return null; } @@ -266,12 +265,10 @@ } public Collection getDeclaredFields(Class clazz) { - checkPackageAccess(clazz.getName()); return Arrays.asList(clazz.getDeclaredFields()); } public Field getDeclaredField(Class clazz, String fieldName) { - checkPackageAccess(clazz.getName()); try { return clazz.getDeclaredField(fieldName); } catch (NoSuchFieldException e) { @@ -280,7 +277,6 @@ } public Collection getDeclaredMethods(Class clazz) { - checkPackageAccess(clazz.getName()); return Arrays.asList(clazz.getDeclaredMethods()); } @@ -525,7 +521,6 @@ } public Field[] getEnumConstants(Class clazz) { - checkPackageAccess(clazz.getName()); try { Object[] values = clazz.getEnumConstants(); Field[] fields = new Field[values.length]; @@ -556,7 +551,6 @@ @Override public Class loadObjectFactory(Class referencePoint, String pkg) { String clName = pkg + ".ObjectFactory"; - checkPackageAccess(clName); ClassLoader cl = referencePoint.getClassLoader(); if (cl == null) cl = ClassLoader.getSystemClassLoader(); @@ -581,7 +575,7 @@ // class Base { // T getX() { ... } // } - // to be overrided. Handling this correctly needs a careful implementation + // to be overriden. Handling this correctly needs a careful implementation String name = method.getName(); Class[] params = method.getParameterTypes(); @@ -632,24 +626,4 @@ return t; } - - /** - * Checking if current thread can access class. - * - * @param clName name of the class to be checked - * @throws SecurityException is thrown if thread doesn't have privileges - */ - static void checkPackageAccess(String clName) { - SecurityManager sm = System.getSecurityManager(); - if (sm == null) - return; - if (clName.startsWith("[")) { // array - int nameStart = clName.lastIndexOf('[') + 2; - if (nameStart > 1 && nameStart < clName.length()) - clName = clName.substring(nameStart); - } - int packageEnd = clName.lastIndexOf('.'); - if (packageEnd != -1) - sm.checkPackageAccess(clName.substring(0, packageEnd)); - } }