maguro 2005/03/09 17:07:18
Modified: modules/core/src/java/org/openejb/corba/util
UtilDelegateImpl.java
Log:
Stubs are now auto generated.
Revision Changes Path
1.3 +20 -6
openejb/modules/core/src/java/org/openejb/corba/util/UtilDelegateImpl.java
Index: UtilDelegateImpl.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/util/UtilDelegateImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- UtilDelegateImpl.java 8 Mar 2005 04:08:28 -0000 1.2
+++ UtilDelegateImpl.java 9 Mar 2005 22:07:18 -0000 1.3
@@ -76,6 +76,7 @@
private final Log log = LogFactory.getLog(UtilDelegateImpl.class);
private final UtilDelegate delegate;
+ private static ClassLoader classLoader;
private final static String DELEGATE_NAME =
"org.openejb.corba.UtilDelegateClass";
@@ -90,6 +91,10 @@
delegate = (UtilDelegate) Class.forName(value).newInstance();
}
+ static void setClassLoader(ClassLoader classLoader) {
+ UtilDelegateImpl.classLoader = classLoader;
+ }
+
public void unexportObject(Remote target) throws NoSuchObjectException {
delegate.unexportObject(target);
}
@@ -159,11 +164,20 @@
}
public Class loadClass(String className, String remoteCodebase,
ClassLoader loader) throws ClassNotFoundException {
- if (log.isDebugEnabled()) log.debug("loadClass: " + className + ", "
+ remoteCodebase + ", " + loader);
+ if (log.isDebugEnabled()) log.debug("Load class: " + className + ",
" + remoteCodebase + ", " + loader);
+
+ Class result = null;
+ try {
+ result = delegate.loadClass(className, remoteCodebase, loader);
+ } catch (ClassNotFoundException e) {
+ if (log.isDebugEnabled()) log.debug("Unable to load class from
delegate");
+ }
+ if (result == null && classLoader != null) {
+ if (log.isDebugEnabled()) log.debug("Attempting to load " +
className + " from the static class loader");
+
+ result = classLoader.loadClass(className);
- Class result = delegate.loadClass(className, remoteCodebase, loader);
- if (result == null) {
-
+ if (log.isDebugEnabled()) log.debug("result: " + (result == null
? "NULL" : result.getName()));
}
return result;