You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by rs...@apache.org on 2002/12/13 17:43:38 UTC

cvs commit: jakarta-commons/discovery/src/java/org/apache/commons/discovery ResourceClass.java

rsitze      2002/12/13 08:43:37

  Modified:    discovery/src/java/org/apache/commons/discovery
                        ResourceClass.java
  Log:
  More doPriv's around ClassLoader.loadClass.
  
  Revision  Changes    Path
  1.5       +12 -5     jakarta-commons/discovery/src/java/org/apache/commons/discovery/ResourceClass.java
  
  Index: ResourceClass.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/discovery/src/java/org/apache/commons/discovery/ResourceClass.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ResourceClass.java	10 Oct 2002 21:07:09 -0000	1.4
  +++ ResourceClass.java	13 Dec 2002 16:43:37 -0000	1.5
  @@ -58,6 +58,8 @@
   package org.apache.commons.discovery;
   
   import java.net.URL;
  +import java.security.AccessController;
  +import java.security.PrivilegedAction;
   
   import org.apache.commons.discovery.log.DiscoveryLogFactory;
   import org.apache.commons.logging.Log;
  @@ -111,11 +113,16 @@
               if (log.isDebugEnabled())
                   log.debug("loadClass: Loading class '" + getName() + "' with " + getClassLoader());
   
  -            try {
  -                resourceClass = getClassLoader().loadClass(getName());
  -            } catch (ClassNotFoundException e) {
  -                resourceClass = null;
  -            }
  +            resourceClass = (Class)AccessController.doPrivileged(
  +                new PrivilegedAction() {
  +                    public Object run() {
  +                        try {
  +                            return getClassLoader().loadClass(getName());
  +                        } catch (ClassNotFoundException e) {
  +                            return null;
  +                        }
  +                    }
  +                });
           }
           return resourceClass;
       }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>