changeset 784:19649e196e49

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
author mkos
date Thu, 21 Nov 2013 11:15:32 +0100
parents 5b8c5c7e7d37
children 6c2cad0f4118
files src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java
diffstat 1 files changed, 1 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java	Tue Nov 19 09:33:16 2013 -0800
+++ 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<? extends Field> 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<? extends Method> 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> {
         //   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));
-    }
 }