You are viewing a plain text version of this content. The canonical link for it is here.
Posted to imperius-commits@incubator.apache.org by da...@apache.org on 2010/03/17 18:23:37 UTC

svn commit: r924401 - /incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/JavaActuatorImpl.java

Author: dawood
Date: Wed Mar 17 18:23:36 2010
New Revision: 924401

URL: http://svn.apache.org/viewvc?rev=924401&view=rev
Log:
Change invokeMethod() and modifyInstance() to use instance.getClass() instead of Class.forName(instance.getClass().getName()).  The latter was causing ClassNotFoundExceptions when the implementation of an interface was not public.

Modified:
    incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/JavaActuatorImpl.java

Modified: incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/JavaActuatorImpl.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/JavaActuatorImpl.java?rev=924401&r1=924400&r2=924401&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/JavaActuatorImpl.java (original)
+++ incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/JavaActuatorImpl.java Wed Mar 17 18:23:36 2010
@@ -74,12 +74,14 @@ public class JavaActuatorImpl implements
 			
 			// modified by naidu to enable URL class loading
 			if(fUrls == null) {
-				c = Class.forName(instance.getClass().getName());
+//				c = Class.forName(instance.getClass().getName());
+				c = instance.getClass();	// dawood 3/17/2010 - useful when interface implementation is not public
 			} else {
 				URLClassLoader uc = new URLClassLoader(fUrls);
 				c = uc.loadClass(instance.getClass().getName());
 			}
 			
+			
 
 			// Get an array of formal parameter class types
 			Class[] arrayOfParameterTypes = _getParameterTypeArray(arguments);
@@ -181,13 +183,18 @@ public class JavaActuatorImpl implements
             // Load class
             //c = Class.forName(className);
             
+        	// dawood 3/2010 i'm not sure, but i think the className may actually be the instance name
+        	//    as defined in the policy.
             // modified by naidu to enable URL class loading
             if(fUrls == null) {
-                c = Class.forName(className);
+//                c = Class.forName(className);
+                c = instance.getClass();	// dawood 3/17/2010 - useful when interface implementation is not public
             } else {
                 URLClassLoader uc = new URLClassLoader(fUrls);
                 c = uc.loadClass(className);
             }
+			
+
 
             // Iterate over the property map for the instance
             Iterator keyIt = memberMap.keySet().iterator();