Colm, We have a utility for this:
ReflectionUtil.setAccessible(….) Ideally, the calls to cls.getDeclaredField would be replaced with calls to ReflectionUtil.getDeclaredField(…) as well for the same reason. Dan On Oct 19, 2012, at 9:14 AM, cohei...@apache.org wrote: > Author: coheigea > Date: Fri Oct 19 13:14:25 2012 > New Revision: 1400082 > > URL: http://svn.apache.org/viewvc?rev=1400082&view=rev > Log: > Minor cleanup > > Modified: > > cxf/trunk/api/src/main/java/org/apache/cxf/configuration/spring/SpringBeanQNameMap.java > > cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/CXFAuthenticator.java > > cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractClientServerTestBase.java > > Modified: > cxf/trunk/api/src/main/java/org/apache/cxf/configuration/spring/SpringBeanQNameMap.java > URL: > http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/configuration/spring/SpringBeanQNameMap.java?rev=1400082&r1=1400081&r2=1400082&view=diff > ============================================================================== > --- > cxf/trunk/api/src/main/java/org/apache/cxf/configuration/spring/SpringBeanQNameMap.java > (original) > +++ > cxf/trunk/api/src/main/java/org/apache/cxf/configuration/spring/SpringBeanQNameMap.java > Fri Oct 19 13:14:25 2012 > @@ -19,6 +19,8 @@ > package org.apache.cxf.configuration.spring; > > import java.lang.reflect.Field; > +import java.security.AccessController; > +import java.security.PrivilegedAction; > import java.util.ArrayList; > import java.util.Collection; > > @@ -83,8 +85,14 @@ public class SpringBeanQNameMap<V> > if (ids == null && staticFieldName != null) { > Class<?> cls = context.getType(beanNames[i]); > try { > - Field f = cls.getDeclaredField(staticFieldName); > - f.setAccessible(true); > + final Field f = > cls.getDeclaredField(staticFieldName); > + AccessController.doPrivileged(new > PrivilegedAction<Void>() { > + public Void run() { > + f.setAccessible(true); > + return null; > + } > + }); > + > Collection<QName> sids = > CastUtils.cast((Collection<?>)f.get(null)); > if (sids != null) { > ids = new ArrayList<QName>(sids); > > Modified: > cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/CXFAuthenticator.java > URL: > http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/CXFAuthenticator.java?rev=1400082&r1=1400081&r2=1400082&view=diff > ============================================================================== > --- > cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/CXFAuthenticator.java > (original) > +++ > cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/CXFAuthenticator.java > Fri Oct 19 13:14:25 2012 > @@ -24,6 +24,8 @@ import java.lang.reflect.Method; > import java.lang.reflect.Modifier; > import java.net.Authenticator; > import java.net.PasswordAuthentication; > +import java.security.AccessController; > +import java.security.PrivilegedAction; > > import org.apache.cxf.message.Exchange; > import org.apache.cxf.message.Message; > @@ -40,9 +42,15 @@ public class CXFAuthenticator extends Au > > public CXFAuthenticator() { > try { > - for (Field f : Authenticator.class.getDeclaredFields()) { > + for (final Field f : Authenticator.class.getDeclaredFields()) { > if (f.getType().equals(Authenticator.class)) { > - f.setAccessible(true); > + AccessController.doPrivileged(new > PrivilegedAction<Void>() { > + public Void run() { > + f.setAccessible(true); > + return null; > + } > + }); > + > wrapped = (Authenticator)f.get(null); > } > } > @@ -66,14 +74,24 @@ public class CXFAuthenticator extends Au > PasswordAuthentication auth = null; > if (wrapped != null) { > try { > - for (Field f : Authenticator.class.getDeclaredFields()) { > + for (final Field f : > Authenticator.class.getDeclaredFields()) { > if (!Modifier.isStatic(f.getModifiers())) { > - f.setAccessible(true); > + AccessController.doPrivileged(new > PrivilegedAction<Void>() { > + public Void run() { > + f.setAccessible(true); > + return null; > + } > + }); > f.set(wrapped, f.get(this)); > } > } > - Method m = > Authenticator.class.getDeclaredMethod("getPasswordAuthentication"); > - m.setAccessible(true); > + final Method m = > Authenticator.class.getDeclaredMethod("getPasswordAuthentication"); > + AccessController.doPrivileged(new PrivilegedAction<Void>() { > + public Void run() { > + m.setAccessible(true); > + return null; > + } > + }); > auth = (PasswordAuthentication)m.invoke(wrapped); > } catch (Throwable t) { > //ignore > > Modified: > cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractClientServerTestBase.java > URL: > http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractClientServerTestBase.java?rev=1400082&r1=1400081&r2=1400082&view=diff > ============================================================================== > --- > cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractClientServerTestBase.java > (original) > +++ > cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractClientServerTestBase.java > Fri Oct 19 13:14:25 2012 > @@ -25,6 +25,8 @@ import java.lang.reflect.Method; > import java.lang.reflect.Proxy; > import java.net.MalformedURLException; > import java.net.URL; > +import java.security.AccessController; > +import java.security.PrivilegedAction; > import java.util.ArrayList; > import java.util.List; > import java.util.Map; > @@ -147,8 +149,14 @@ public abstract class AbstractClientServ > } > if (c == null) { > try { > - Method m = o.getClass().getDeclaredMethod("getClient"); > - m.setAccessible(true); > + final Method m = o.getClass().getDeclaredMethod("getClient"); > + AccessController.doPrivileged(new PrivilegedAction<Void>() { > + public Void run() { > + m.setAccessible(true); > + return null; > + } > + }); > + > c = (Client)m.invoke(o); > } catch (Throwable t) { > //ignore > > -- Daniel Kulp dk...@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com