You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2006/11/21 22:34:01 UTC

svn commit: r477903 - in /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2: deployment/AxisConfigBuilder.java deployment/DescriptionBuilder.java description/AxisService.java engine/AxisConfiguration.java

Author: nagy
Date: Tue Nov 21 13:34:00 2006
New Revision: 477903

URL: http://svn.apache.org/viewvc?view=rev&rev=477903
Log:
Ported r469707 (Added usages of AccessController) 

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java?view=diff&rev=477903&r1=477902&r2=477903
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java Tue Nov 21 13:34:00 2006
@@ -39,6 +39,8 @@
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import java.io.InputStream;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -205,15 +207,22 @@
                 OMElement observerelement = (OMElement) oservers.next();
                 AxisObserver observer;
                 OMAttribute trsClas = observerelement.getAttribute(new QName(TAG_CLASS_NAME));
-                String clasName;
-                if (trsClas != null) {
-                    clasName = trsClas.getAttributeValue();
-                } else {
+                if (trsClas == null) {
                     log.info(Messages.getMessage(DeploymentErrorMsgs.OBSERVER_ERROR));
                     return;
                 }
+                final String clasName = trsClas.getAttributeValue();
 
-                Class observerclass = Loader.loadClass(clasName);
+                Class observerclass;
+                try {
+                  observerclass = (Class) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedExceptionAction() {
+                    public Object run() throws ClassNotFoundException {
+                      return Loader.loadClass(clasName);      
+                    }
+                  });  
+                } catch (PrivilegedActionException e) {
+                  throw (ClassNotFoundException)e.getException();
+                }
                 observer = (AxisObserver) observerclass.newInstance();
                 // processing Parameters
                 // Processing service level parameters

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java?view=diff&rev=477903&r1=477902&r2=477903
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java Tue Nov 21 13:34:00 2006
@@ -41,6 +41,8 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import java.io.InputStream;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -131,8 +133,17 @@
                 TAG_MESSAGE_RECEIVER));
         while (msgReceivers.hasNext()) {
             OMElement msgReceiver = (OMElement) msgReceivers.next();
-            MessageReceiver receiver = loadMessageReceiver(Thread
-                    .currentThread().getContextClassLoader(), msgReceiver);
+            final OMElement tempMsgReceiver = msgReceiver;
+            MessageReceiver receiver = null;
+            try { 
+              receiver = (MessageReceiver) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedExceptionAction() {
+                public Object run() throws org.apache.axis2.deployment.DeploymentException {
+                  return loadMessageReceiver(Thread.currentThread().getContextClassLoader(), tempMsgReceiver);
+                }
+              });
+            } catch (PrivilegedActionException e) {
+              throw (DeploymentException)e.getException();
+            }              
             OMAttribute mepAtt = msgReceiver.getAttribute(new QName(TAG_MEP));
             mr_mep.put(mepAtt.getAttributeValue(), receiver);
         }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java?view=diff&rev=477903&r1=477902&r2=477903
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java Tue Nov 21 13:34:00 2006
@@ -64,6 +64,7 @@
 import java.io.OutputStream;
 import java.net.SocketException;
 import java.net.URL;
+import java.security.PrivilegedAction;
 import java.util.*;
 
 /**
@@ -243,7 +244,11 @@
         moduleRefs = new ArrayList();
         engagedModules = new ArrayList();
         schemaList = new ArrayList();
-        serviceClassLoader = Thread.currentThread().getContextClassLoader();
+        serviceClassLoader = (ClassLoader) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedAction() {
+          public Object run() {
+            return Thread.currentThread().getContextClassLoader();
+          }
+        });
         objectSupplier = new DefaultObjectSupplier();
     }
 

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?view=diff&rev=477903&r1=477902&r2=477903
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Tue Nov 21 13:34:00 2006
@@ -30,6 +30,7 @@
 
 import javax.xml.namespace.QName;
 import java.net.URL;
+import java.security.PrivilegedAction;
 import java.util.*;
 
 /**
@@ -129,9 +130,14 @@
         faultyModules = new Hashtable();
         observersList = new ArrayList();
         inPhasesUptoAndIncludingPostDispatch = new ArrayList();
-        systemClassLoader = Thread.currentThread().getContextClassLoader();
-        serviceClassLoader = Thread.currentThread().getContextClassLoader();
-        moduleClassLoader = Thread.currentThread().getContextClassLoader();
+        systemClassLoader = (ClassLoader) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedAction() {
+          public Object run() {
+            return Thread.currentThread().getContextClassLoader();      
+          }
+        });
+        serviceClassLoader = systemClassLoader; 
+        moduleClassLoader = systemClassLoader;
+        
         this.phasesinfo = new PhasesInfo();
         targetResolvers = new ArrayList();
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org