hammant 2002/07/25 16:12:01
Modified: altrmi/lib bcel.jar
altrmi/src/java/org/apache/excalibur/altrmi/server/impl/classretrievers
AbstractDynamicGeneratorClassRetriever.java
BcelDynamicGeneratorClassRetriever.java
JavacDynamicGeneratorClassRetriever.java
altrmi/src/test/org/apache/excalibur/altrmi/test/piped
PipedTest.java
Log:
Rework of Dynamic Class retriever. Update of BCEL from latest CVS version.
Revision Changes Path
1.2 +1885 -1231jakarta-avalon-excalibur/altrmi/lib/bcel.jar
<<Binary file>>
1.3 +10 -7
jakarta-avalon-excalibur/altrmi/src/java/org/apache/excalibur/altrmi/server/impl/classretrievers/AbstractDynamicGeneratorClassRetriever.java
Index: AbstractDynamicGeneratorClassRetriever.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/altrmi/src/java/org/apache/excalibur/altrmi/server/impl/classretrievers/AbstractDynamicGeneratorClassRetriever.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractDynamicGeneratorClassRetriever.java 15 Jul 2002 21:52:19 -0000
1.2
+++ AbstractDynamicGeneratorClassRetriever.java 25 Jul 2002 23:12:01 -0000
1.3
@@ -13,6 +13,7 @@
import java.io.IOException;
import java.net.URL;
import org.apache.excalibur.altrmi.common.ProxyGenerator;
+import org.apache.excalibur.altrmi.common.AbstractMethodHandler;
import org.apache.excalibur.altrmi.server.AltrmiProxyGenerator;
import org.apache.excalibur.altrmi.server.ClassRetrievalException;
import org.apache.excalibur.altrmi.server.ClassRetriever;
@@ -33,18 +34,20 @@
private String m_altrmiClasspath;
private String m_classGenDir;
private String m_srcGenDir;
- private URL m_genJarURL;
private Class m_generatorClass ;
/**
*
- * @param genJarURL the user of the generated jar file
- * @param generatorClass the class to use for generation.
+ * @param classLoader the classloader in which the proxy generater will be
found.
+ * @param generatorClassName the name of teh proxy gen class
*/
- public AbstractDynamicGeneratorClassRetriever( URL genJarURL, Class
generatorClass)
+ public AbstractDynamicGeneratorClassRetriever(ClassLoader classLoader, String
generatorClassName)
{
- m_genJarURL = genJarURL;
- m_generatorClass = generatorClass;
+ try {
+ m_generatorClass = classLoader.loadClass(generatorClassName);
+ } catch (ClassNotFoundException e) {
+ throw new NoClassDefFoundError(generatorClassName);
+ }
}
/**
1.3 +15 -10
jakarta-avalon-excalibur/altrmi/src/java/org/apache/excalibur/altrmi/server/impl/classretrievers/BcelDynamicGeneratorClassRetriever.java
Index: BcelDynamicGeneratorClassRetriever.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/altrmi/src/java/org/apache/excalibur/altrmi/server/impl/classretrievers/BcelDynamicGeneratorClassRetriever.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BcelDynamicGeneratorClassRetriever.java 15 Jul 2002 21:52:19 -0000 1.2
+++ BcelDynamicGeneratorClassRetriever.java 25 Jul 2002 23:12:01 -0000 1.3
@@ -7,11 +7,6 @@
*/
package org.apache.excalibur.altrmi.server.impl.classretrievers;
-import org.apache.excalibur.altrmi.generator.BCELProxyGeneratorImpl;
-
-import java.net.URL;
-
-
/**
* Class BcelDynamicGeneratorClassRetriever
*
@@ -22,13 +17,23 @@
public class BcelDynamicGeneratorClassRetriever extends
AbstractDynamicGeneratorClassRetriever
{
/**
- * Contruct a Dynamic Class Generator with a URL for the generated Jar File.
+ * Contruct a Dynamic Class Generator with a classloader pointing to the
generator classes.
+ *
+ * @param classLoader the classloader in which the proxy generater will be
found.
+ */
+
+ public BcelDynamicGeneratorClassRetriever(ClassLoader classLoader)
+ {
+ super(classLoader,
"org.apache.excalibur.altrmi.generator.BCELProxyGeneratorImpl");
+ }
+
+ /**
+ * Contruct a Dynamic Class Generator using the classes own classloader.
*
- * @param genJarURL a URL for the generated Jar File
*/
- public BcelDynamicGeneratorClassRetriever(URL genJarURL)
+ public BcelDynamicGeneratorClassRetriever()
{
- super(genJarURL, BCELProxyGeneratorImpl.class);
+ super(BcelDynamicGeneratorClassRetriever.class.getClassLoader(),
"org.apache.excalibur.altrmi.generator.BCELProxyGeneratorImpl");
}
}
1.3 +16 -9
jakarta-avalon-excalibur/altrmi/src/java/org/apache/excalibur/altrmi/server/impl/classretrievers/JavacDynamicGeneratorClassRetriever.java
Index: JavacDynamicGeneratorClassRetriever.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/altrmi/src/java/org/apache/excalibur/altrmi/server/impl/classretrievers/JavacDynamicGeneratorClassRetriever.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JavacDynamicGeneratorClassRetriever.java 15 Jul 2002 21:52:19 -0000 1.2
+++ JavacDynamicGeneratorClassRetriever.java 25 Jul 2002 23:12:01 -0000 1.3
@@ -7,11 +7,6 @@
*/
package org.apache.excalibur.altrmi.server.impl.classretrievers;
-import org.apache.excalibur.altrmi.generator.ProxyGeneratorImpl;
-
-import java.net.URL;
-
-
/**
* Class JavacDynamicGeneratorClassRetriever
*
@@ -22,11 +17,23 @@
public class JavacDynamicGeneratorClassRetriever extends
AbstractDynamicGeneratorClassRetriever
{
/**
+ * Contruct a Dynamic Class Generator with a classloader pointing to the
generator classes.
+ *
+ * @param classLoader the classloader in which the proxy generater will be
found.
+ */
+
+ public JavacDynamicGeneratorClassRetriever(ClassLoader classLoader)
+ {
+ super(classLoader,
"org.apache.excalibur.altrmi.generator.ProxyGeneratorImpl");
+ }
+
+ /**
+ * Contruct a Dynamic Class Generator using the classes own classloader.
*
- * @param genJarURL the url of the generated jar file.
*/
- public JavacDynamicGeneratorClassRetriever(URL genJarURL)
+
+ public JavacDynamicGeneratorClassRetriever()
{
- super(genJarURL, ProxyGeneratorImpl.class);
+ super(JavacDynamicGeneratorClassRetriever.class.getClassLoader(),
"org.apache.excalibur.altrmi.generator.ProxyGeneratorImpl");
}
}
1.5 +11 -3
jakarta-avalon-excalibur/altrmi/src/test/org/apache/excalibur/altrmi/test/piped/PipedTest.java
Index: PipedTest.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/altrmi/src/test/org/apache/excalibur/altrmi/test/piped/PipedTest.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PipedTest.java 14 Jul 2002 23:12:44 -0000 1.4
+++ PipedTest.java 25 Jul 2002 23:12:01 -0000 1.5
@@ -9,6 +9,8 @@
import java.io.File;
import java.net.MalformedURLException;
+import java.net.URLClassLoader;
+import java.net.URL;
import org.apache.excalibur.altrmi.server.*;
import org.apache.excalibur.altrmi.server.impl.classretrievers.*;
@@ -42,8 +44,14 @@
else if( serverOrClientFactory.equals( "D" ) )
{
AbstractDynamicGeneratorClassRetriever dr =
- new BcelDynamicGeneratorClassRetriever( new File( "build" +
File.separator
- + "classes" ).toURL()
);
+ new BcelDynamicGeneratorClassRetriever(
+ new URLClassLoader(
+ new URL[] {
+ new File( "build" + File.separator + "classes" ).toURL()
+ }
+ )
+ );
+
File source = new File( "testSource" );
source.mkdir();
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>