Ok thanks - I've fixed this (and for any other examples of setAccessible() not using ReflectionUtil).
Colm. On Fri, Oct 19, 2012 at 3:00 PM, Daniel Kulp <dk...@apache.org> wrote: > > 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 > > -- Colm O hEigeartaigh Talend Community Coder http://coders.talend.com