hammant 02/02/24 03:04:33
Modified: altrmi/src/java/org/apache/commons/altrmi/common
ProxyGenerator.java
altrmi/src/java/org/apache/commons/altrmi/generator
ProxyGeneratorImpl.java
altrmi/src/java/org/apache/commons/altrmi/server
AltrmiProxyGenerator.java AltrmiPublisher.java
altrmi/src/java/org/apache/commons/altrmi/server/impl
AbstractServer.java
altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters
PublicationAdapter.java
altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers
DynamicGeneratorClassRetriever.java
altrmi/src/java/org/apache/commons/altrmi/test
DirectMarshalledTest.java DirectTest.java
PipeTest.java RmiServerTest.java
SocketServerTest.java
Added: altrmi/src/java/org/apache/commons/altrmi/server
PublicationDescription.java
Log:
Refactorings to allow more expansion in future
Revision Changes Path
1.2 +75 -2
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/ProxyGenerator.java
Index: ProxyGenerator.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/ProxyGenerator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ProxyGenerator.java 30 Jan 2002 23:42:44 -0000 1.1
+++ ProxyGenerator.java 24 Feb 2002 11:04:32 -0000 1.2
@@ -9,21 +9,94 @@
package org.apache.commons.altrmi.common;
+
/**
* Class ProxyGenerator
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public interface ProxyGenerator {
+ /**
+ * Method setClassOrInterfacesToExpose
+ *
+ *
+ * @param classesOrInterfacesToExpose
+ *
+ */
public void setClassOrInterfacesToExpose(Class[] classesOrInterfacesToExpose);
+
+ /**
+ * Method setAdditionalfacades
+ *
+ *
+ * @param additionalFacades
+ *
+ */
public void setAdditionalfacades(Class[] additionalFacades);
+
+ /**
+ * Method setSrcGenDir
+ *
+ *
+ * @param srcGenDir
+ *
+ */
public void setSrcGenDir(String srcGenDir);
+
+ /**
+ * Method setClasspath
+ *
+ *
+ * @param classpath
+ *
+ */
public void setClasspath(String classpath);
+
+ /**
+ * Method setClassGenDir
+ *
+ *
+ * @param classGenDir
+ *
+ */
public void setClassGenDir(String classGenDir);
+
+ /**
+ * Method setGenName
+ *
+ *
+ * @param genName
+ *
+ */
public void setGenName(String genName);
+
+ /**
+ * Method generateSrc
+ *
+ *
+ * @param cL
+ *
+ * @throws ProxyGenerationException
+ *
+ */
public void generateSrc(ClassLoader cL) throws ProxyGenerationException;
+
+ /**
+ * Method generateClass
+ *
+ *
+ * @param cL
+ *
+ */
public void generateClass(ClassLoader cL);
-}
\ No newline at end of file
+
+ /**
+ * Method generateDeferredClasses
+ *
+ *
+ */
+ public void generateDeferredClasses();
+}
1.3 +81 -22
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/generator/ProxyGeneratorImpl.java
Index: ProxyGeneratorImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/generator/ProxyGeneratorImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ProxyGeneratorImpl.java 1 Feb 2002 00:16:38 -0000 1.2
+++ ProxyGeneratorImpl.java 24 Feb 2002 11:04:32 -0000 1.3
@@ -32,7 +32,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class ProxyGeneratorImpl extends AbstractMethodHandler implements
ProxyGenerator {
@@ -67,14 +67,35 @@
mAdditionalFacades = additionalFacades;
}
+ /**
+ * Method setSrcGenDir
+ *
+ *
+ * @param srcGenDir
+ *
+ */
public void setSrcGenDir(String srcGenDir) {
mSrcGenDir = srcGenDir;
}
+ /**
+ * Method setClasspath
+ *
+ *
+ * @param classpath
+ *
+ */
public void setClasspath(String classpath) {
mClasspath = classpath;
}
+ /**
+ * Method setClassGenDir
+ *
+ *
+ * @param classGenDir
+ *
+ */
public void setClassGenDir(String classGenDir) {
mClassGenDir = classGenDir;
}
@@ -113,9 +134,19 @@
}
}
+ /**
+ * Method generateClass
+ *
+ *
+ * @param cL
+ *
+ */
public void generateClass(ClassLoader cL) {
+
JavaCompiler jc = JavaCompiler.getDefaultCompiler();
+
jc.setOutputDir(mClassGenDir);
+
//jc.setCompilerPath();
jc.addClassPath(mClassGenDir);
jc.addClassPath(mClasspath);
@@ -127,11 +158,32 @@
if (mAdditionalFacades != null) {
for (int i = 0; i < mAdditionalFacades.length; i++) {
String classname = encodeClassName(mAdditionalFacades[i]);
- jc.doCompile(mSrcGenDir + File.separator + "AltrmiGenerated" +
mGenName + "_" + classname + ".java");
- jc.doCompile(mSrcGenDir + File.separator + "AltrmiGenerated2" +
mGenName + "_" + classname + ".java");
+
+ jc.doCompile(mSrcGenDir + File.separator + "AltrmiGenerated" +
mGenName + "_"
+ + classname + ".java");
+ jc.doCompile(mSrcGenDir + File.separator + "AltrmiGenerated2" +
mGenName + "_"
+ + classname + ".java");
}
}
+ }
+ /**
+ * Method generateDeferredClasses
+ *
+ *
+ */
+ public void generateDeferredClasses() {
+
+ JavaCompiler jc = JavaCompiler.getDefaultCompiler();
+
+ jc.setOutputDir(mClassGenDir);
+
+ jc.setCompilerPath(mSrcGenDir);
+ jc.addClassPath(mClassGenDir);
+ jc.addClassPath(mClasspath);
+ jc.addDefaultClassPath();
+ jc.doCompile("*.java");
+ System.out.println(jc.getCompilerMessage());
}
/**
@@ -150,12 +202,14 @@
// methdos could be in more than one interface.
Vector methodsDone = new Vector();
+ String filename = mSrcGenDir + File.separator + "AltrmiGenerated" +
mGenName + "_" + name
+ + ".java";
- String filename = mSrcGenDir + File.separator + "AltrmiGenerated" +
mGenName + "_" + name + ".java";
try {
mClassSource = new PrintWriter(new FileOutputStream(filename));
} catch (FileNotFoundException e) {
- throw new ProxyGenerationException("Cannot make source output file '" +
filename + "'");
+ throw new ProxyGenerationException("Cannot make source output file '" +
filename
+ + "'");
}
mClassSource.print("public class AltrmiGenerated" + mGenName + "_" + name);
@@ -170,7 +224,6 @@
for (int x = 0; x < classOrInterfacesToExpose.length; x++) {
Class clazz = classOrInterfacesToExpose[x];
-
Method[] methods = clazz.getMethods();
for (int y = 0; y < methods.length; y++) {
@@ -184,12 +237,13 @@
if (!(method.getReturnType() instanceof Serializable)) {
throw new ProxyGenerationException("Return type " + rClass
- + " must be
serializable");
+ + " must be
serializable");
}
String mName = method.getName();
- mClassSource.print(" public " + generateReturnValue(rClass) +
" " + mName + " (");
+ mClassSource.print(" public " + generateReturnValue(rClass) +
" " + mName
+ + " (");
Class[] argTypes = method.getParameterTypes();
@@ -198,7 +252,7 @@
if (!(argTypes[i] instanceof Serializable)) {
throw new ProxyGenerationException("Argument type " + cn
- + " must be
serializable");
+ + " must be
serializable");
}
generateParameter(cn, argTypes, i);
@@ -217,7 +271,6 @@
+ "];");
for (int i = 0; i < argTypes.length; i++) {
-
generateAssignLine(argTypes[i], i);
}
@@ -227,17 +280,15 @@
mClassSource.println("
mBaseServedObject.altrmiProcessVoidRequest(\""
+ methodSignature.toString() +
"\",args);");
} else {
- boolean isFacadeRetVal =
- isAdditionalFacade(method.getReturnType());
+ boolean isFacadeRetVal =
isAdditionalFacade(method.getReturnType());
if (isFacadeRetVal) {
mClassSource.println(
" Object retVal =
mBaseServedObject.altrmiProcessObjectRequestGettingFacade(\""
+ methodSignature.toString() + "\",args,\""
+ encodeClassName(getClassType(rClass)) + "\");");
- mClassSource.println(" return (" +
getClassType(rClass) + ") retVal;");
-
-
+ mClassSource.println(" return (" +
getClassType(rClass)
+ + ") retVal;");
} else {
mClassSource.println(
" Object retVal =
mBaseServedObject.altrmiProcessObjectRequest(\""
@@ -287,7 +338,9 @@
public void makeSource2(ClassLoader cL, String name, Class[]
classOrInterfacesToExpose)
throws ProxyGenerationException {
- String filename = mSrcGenDir + File.separator + "AltrmiGenerated2" +
mGenName + "_" + name + ".java";
+ String filename = mSrcGenDir + File.separator + "AltrmiGenerated2" +
mGenName + "_"
+ + name + ".java";
+
try {
PrintWriter class2Source = new PrintWriter(new
FileOutputStream(filename));
@@ -304,7 +357,8 @@
class2Source.println("}");
class2Source.close();
} catch (FileNotFoundException e) {
- throw new ProxyGenerationException("Cannot make source output file '" +
filename + "'");
+ throw new ProxyGenerationException("Cannot make source output file '" +
filename
+ + "'");
}
}
@@ -448,23 +502,28 @@
} else if (cn.equals("[Z")) {
mClassSource.println(" return (boolean[]) retVal;");
} else if (rClass.getName().startsWith("[L")) {
- mClassSource.println(" return (" + cn.substring(2,cn.length()-1) +
"[]) retVal;");
+ mClassSource.println(" return (" + cn.substring(2, cn.length() - 1)
+ + "[]) retVal;");
} else {
mClassSource.println(" return (" + cn + ") retVal;");
}
}
private String getClassType(Class rClass) {
- String cn = rClass.getName();
+
+ String cn = rClass.getName();
+
if (rClass.getName().startsWith("[L")) {
- return cn.substring(2,cn.length()-1) + "[]";
+ return cn.substring(2, cn.length() - 1) + "[]";
} else {
return cn;
}
}
private String generateReturnValue(Class rClass) {
+
String cn = rClass.getName();
+
if (cn.equals("[B")) {
return "byte[]";
} else if (cn.equals("[C")) {
@@ -482,11 +541,10 @@
} else if (cn.equals("[Z")) {
return "boolean[]";
} else if (cn.startsWith("[L")) {
- return cn.substring(2,cn.length()-1) + "[]";
+ return cn.substring(2, cn.length() - 1) + "[]";
} else {
return cn;
}
-
}
private boolean isAdditionalFacade(Class clazz) {
@@ -502,6 +560,7 @@
return true;
}
}
+
return false;
}
}
1.3 +16 -31
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/AltrmiProxyGenerator.java
Index: AltrmiProxyGenerator.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/AltrmiProxyGenerator.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AltrmiProxyGenerator.java 30 Jan 2002 23:42:44 -0000 1.2
+++ AltrmiProxyGenerator.java 24 Feb 2002 11:04:32 -0000 1.3
@@ -1,3 +1,4 @@
+
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
@@ -8,12 +9,13 @@
package org.apache.commons.altrmi.server;
+
/**
* Interface AltrmiProxyGenerator
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version * $Revision: 1.2 $
+ * @version * $Revision: 1.3 $
*/
public interface AltrmiProxyGenerator {
@@ -26,55 +28,38 @@
* @param classLoader - classloader containing all needed for proxy generation
*
*/
- void generate(String asName, String classOrInterfaceToExpose, ClassLoader
classLoader) throws PublicationException;
+ void generate(String asName, Class classOrInterfaceToExpose, ClassLoader
classLoader)
+ throws PublicationException;
/**
* Method generate
*
*
* @param asName
- * @param classOrInterfaceToExpose
- * @param additionalFacade
+ * @param publicationDescription
* @param classLoader - classloader containing all needed for proxy generation
*
*/
- void generate(String asName, String classOrInterfaceToExpose, String
additionalFacade, ClassLoader classLoader) throws PublicationException;
+ void generate(
+ String asName, PublicationDescription publicationDescription, ClassLoader
classLoader)
+ throws PublicationException;
/**
- * Method generate
+ * Method deferredGenerate
*
*
* @param asName
- * @param classOrInterfaceToExpose
- * @param additionalFacades
+ * @param publicationDescription
* @param classLoader - classloader containing all needed for proxy generation
*
*/
- void generate(String asName, String classOrInterfaceToExpose, String[]
additionalFacades, ClassLoader classLoader) throws PublicationException;
-
-
- /**
- * Method generate
- *
- *
- * @param asName
- * @param classesOrInterfacesToExpose
- *
- */
- void generate(String asName, String[] classesOrInterfacesToExpose, ClassLoader
classLoader) throws PublicationException;
+ void deferredGenerate(
+ String asName, PublicationDescription publicationDescription, ClassLoader
classLoader)
+ throws PublicationException;
/**
- * Method generate
- *
- *
- * @param asName
- * @param classesOrInterfacesToExpose
- * @param additionalFacades
- * @param classLoader - classloader containing all needed for proxy generation
+ * Method generateDeferred
*
*/
- void generate(String asName, String[] classesOrInterfacesToExpose, String[]
additionalFacades, ClassLoader classLoader) throws PublicationException;
-
-
-
+ void generateDeferred(ClassLoader classLoader);
}
1.5 +3 -45
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/AltrmiPublisher.java
Index: AltrmiPublisher.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/AltrmiPublisher.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AltrmiPublisher.java 29 Jan 2002 10:05:00 -0000 1.4
+++ AltrmiPublisher.java 24 Feb 2002 11:04:32 -0000 1.5
@@ -18,7 +18,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version * $Revision: 1.4 $
+ * @version * $Revision: 1.5 $
*/
public interface AltrmiPublisher {
@@ -40,53 +40,11 @@
*
* @param impl
* @param asName
- * @param classOrInterfaceToExpose
- * @param additionalFacade
+ * @param publicationDescription
*
*/
- void publish(
- Object impl, String asName, Class classOrInterfaceToExpose, Class
additionalFacade)
- throws PublicationException;
-
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classOrInterfaceToExpose
- * @param additionalFacades
- *
- */
- void publish(
- Object impl, String asName, Class classOrInterfaceToExpose, Class[]
additionalFacades)
- throws PublicationException;
-
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classesOrInterfacesToExpose
- *
- */
- void publish(Object impl, String asName, Class[] classesOrInterfacesToExpose)
+ void publish(Object impl, String asName, PublicationDescription
publicationDescription)
throws PublicationException;
-
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classesOrInterfacesToExpose
- * @param additionalFacades
- *
- */
- void publish(
- Object impl, String asName, Class[] classesOrInterfacesToExpose,
- Class[] additionalFacades) throws PublicationException;
/**
* Method unPublish
1.1
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/PublicationDescription.java
Index: PublicationDescription.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.commons.altrmi.server;
/**
* Class PublicationDescription
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
* @version * $Revision: 1.1 $
*/
public final class PublicationDescription {
private final Class[] mClassesOrInterfacesToExpose;
private final Class[] mAdditionalFacades;
/**
* Constructor PublicationDescription
*
*
* @param classOrInterfaceToExpose
*
*/
public PublicationDescription(Class classOrInterfaceToExpose) {
mClassesOrInterfacesToExpose = new Class[]{ classOrInterfaceToExpose };
mAdditionalFacades = new Class[0];
}
/**
* Constructor PublicationDescription
*
*
* @param classOrInterfaceToExpose
* @param additionalFacade
*
*/
public PublicationDescription(Class classOrInterfaceToExpose, Class
additionalFacade) {
mClassesOrInterfacesToExpose = new Class[]{ classOrInterfaceToExpose };
mAdditionalFacades = new Class[]{ additionalFacade };
}
/**
* Constructor PublicationDescription
*
*
* @param classOrInterfaceToExpose
* @param additionalFacades
*
*/
public PublicationDescription(Class classOrInterfaceToExpose, Class[]
additionalFacades) {
mClassesOrInterfacesToExpose = new Class[]{ classOrInterfaceToExpose };
mAdditionalFacades = additionalFacades;
}
/**
* Constructor PublicationDescription
*
*
* @param classesOrInterfacesToExpose
*
*/
public PublicationDescription(Class[] classesOrInterfacesToExpose) {
mClassesOrInterfacesToExpose = classesOrInterfacesToExpose;
mAdditionalFacades = new Class[0];
}
/**
* Constructor PublicationDescription
*
*
* @param classesOrInterfacesToExpose
* @param additionalFacades
*
*/
public PublicationDescription(Class[] classesOrInterfacesToExpose,
Class[] additionalFacades) {
mClassesOrInterfacesToExpose = classesOrInterfacesToExpose;
mAdditionalFacades = additionalFacades;
}
/**
* Method getClassesOrInterfacesToExpose
*
*
* @return
*
*/
public Class[] getClassesOrInterfacesToExpose() {
return mClassesOrInterfacesToExpose;
}
/**
* Method getAdditionalFacades
*
*
* @return
*
*/
public Class[] getAdditionalFacades() {
return mAdditionalFacades;
}
/**
* Constructor PublicationDescription
*
*
* @param classOrInterfaceToExpose
*
*/
public PublicationDescription(String classOrInterfaceToExpose, ClassLoader
classLoader) throws PublicationException {
mClassesOrInterfacesToExpose = makeClasses(new String[]
{classOrInterfaceToExpose}, classLoader);
mAdditionalFacades = new Class[0];
}
/**
* Constructor PublicationDescription
*
*
* @param classOrInterfaceToExpose
* @param additionalFacade
*
*/
public PublicationDescription(String classOrInterfaceToExpose, String
additionalFacade, ClassLoader classLoader) throws PublicationException {
mClassesOrInterfacesToExpose = makeClasses(new String[]
{classOrInterfaceToExpose}, classLoader);
mAdditionalFacades = makeClasses(new String[] {additionalFacade},
classLoader);
}
/**
* Constructor PublicationDescription
*
*
* @param classOrInterfaceToExpose
* @param additionalFacades
*
*/
public PublicationDescription(String classOrInterfaceToExpose, String[]
additionalFacades, ClassLoader classLoader) throws PublicationException {
mClassesOrInterfacesToExpose = makeClasses(new String[]
{classOrInterfaceToExpose}, classLoader);
mAdditionalFacades = makeClasses(additionalFacades, classLoader);
}
/**
* Constructor PublicationDescription
*
*
* @param classesOrInterfacesToExpose
*
*/
public PublicationDescription(String[] classesOrInterfacesToExpose, ClassLoader
classLoader) throws PublicationException {
mClassesOrInterfacesToExpose = makeClasses(classesOrInterfacesToExpose,
classLoader);
mAdditionalFacades = new Class[0];
}
/**
* Constructor PublicationDescription
*
*
* @param classesOrInterfacesToExpose
* @param additionalFacades
*
*/
public PublicationDescription(String[] classesOrInterfacesToExpose,
String[] additionalFacades, ClassLoader
classLoader) throws PublicationException {
mClassesOrInterfacesToExpose = makeClasses(classesOrInterfacesToExpose,
classLoader);
mAdditionalFacades = makeClasses(additionalFacades, classLoader);
}
private static Class[] makeClasses(String[] classNames, ClassLoader classLoader)
throws PublicationException {
try {
Class[] classes = new Class[classNames.length];
for (int i = 0; i < classNames.length; i++) {
String clsNam = classNames[i];
classes[i] = classLoader.loadClass(clsNam);
}
return classes;
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new PublicationException("Class not found during publication:" +
e.getMessage() + " " + e.getException().getMessage());
}
}
}
1.20 +4 -55
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/AbstractServer.java
Index: AbstractServer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/AbstractServer.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- AbstractServer.java 4 Feb 2002 12:29:03 -0000 1.19
+++ AbstractServer.java 24 Feb 2002 11:04:33 -0000 1.20
@@ -12,12 +12,7 @@
import org.apache.commons.altrmi.common.AltrmiReply;
import org.apache.commons.altrmi.common.AltrmiRequest;
import org.apache.commons.altrmi.common.MethodRequest;
-import org.apache.commons.altrmi.server.AltrmiServer;
-import org.apache.commons.altrmi.server.ClassRetriever;
-import org.apache.commons.altrmi.server.AltrmiAuthenticator;
-import org.apache.commons.altrmi.server.AltrmiServerConnection;
-import org.apache.commons.altrmi.server.PublicationException;
-import org.apache.commons.altrmi.server.MethodInvocationHandler;
+import org.apache.commons.altrmi.server.*;
import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import java.util.Vector;
@@ -29,7 +24,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.19 $
+ * @version $Revision: 1.20 $
*/
public abstract class AbstractServer extends AbstractMethodHandler implements
AltrmiServer {
@@ -161,55 +156,9 @@
*
*/
public void publish(
- Object impl, String asName, Class classOrInterfaceToExpose, Class
additionalFacade)
+ Object impl, String asName, PublicationDescription
publicationDescription)
throws PublicationException {
- mInovcationHandlerAdapter.publish(impl,asName,classOrInterfaceToExpose,
additionalFacade);
- }
-
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classOrInterfaceToExpose
- * @param additionalFacades
- *
- */
- public void publish(
- Object impl, String asName, Class classOrInterfaceToExpose, Class[]
additionalFacades)
- throws PublicationException {
- mInovcationHandlerAdapter.publish(impl,asName, classOrInterfaceToExpose,
additionalFacades);
- }
-
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classesOrInterfacesToExpose
- *
- */
- public void publish(Object impl, String asName, Class[]
classesOrInterfacesToExpose)
- throws PublicationException {
- mInovcationHandlerAdapter.publish(impl,asName,classesOrInterfacesToExpose);
- }
-
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classesOrInterfacesToExpose
- * @param additionalFacades
- *
- */
- public void publish(
- Object impl, String asName, Class[] classesOrInterfacesToExpose,
- Class[] additionalFacades) throws PublicationException {
- mInovcationHandlerAdapter.publish(impl, asName,
classesOrInterfacesToExpose, additionalFacades);
+ mInovcationHandlerAdapter.publish(impl, asName, publicationDescription);
}
/**
1.2 +7 -49
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters/PublicationAdapter.java
Index: PublicationAdapter.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters/PublicationAdapter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PublicationAdapter.java 29 Jan 2002 10:05:00 -0000 1.1
+++ PublicationAdapter.java 24 Feb 2002 11:04:33 -0000 1.2
@@ -10,6 +10,7 @@
import org.apache.commons.altrmi.server.AltrmiPublisher;
import org.apache.commons.altrmi.server.PublicationException;
import org.apache.commons.altrmi.server.MethodInvocationHandler;
+import org.apache.commons.altrmi.server.PublicationDescription;
import org.apache.commons.altrmi.server.impl.DefaultMethodInvocationHandler;
import org.apache.commons.altrmi.common.AbstractMethodHandler;
import org.apache.commons.altrmi.common.MethodRequest;
@@ -32,55 +33,10 @@
*/
public void publish(Object impl, String asName, Class classOrInterfaceToExpose)
throws PublicationException {
- publish(impl, asName, new Class[]{ classOrInterfaceToExpose }, new
Class[0]);
+ publish(impl, asName, new PublicationDescription( new Class[] {
classOrInterfaceToExpose }, new Class[0]));
}
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classOrInterfaceToExpose
- * @param additionalFacade
- *
- */
- public void publish(
- Object impl, String asName, Class classOrInterfaceToExpose, Class
additionalFacade)
- throws PublicationException {
- publish(impl, asName, new Class[]{ classOrInterfaceToExpose },
- new Class[]{ additionalFacade });
- }
-
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classOrInterfaceToExpose
- * @param additionalFacades
- *
- */
- public void publish(
- Object impl, String asName, Class classOrInterfaceToExpose, Class[]
additionalFacades)
- throws PublicationException {
- publish(impl, asName, new Class[]{ classOrInterfaceToExpose },
additionalFacades);
- }
- /**
- * Method publish
- *
- *
- * @param impl
- * @param asName
- * @param classesOrInterfacesToExpose
- *
- */
- public void publish(Object impl, String asName, Class[]
classesOrInterfacesToExpose)
- throws PublicationException {
- publish(impl, asName, classesOrInterfacesToExpose, new Class[0]);
- }
/**
* Method publish
@@ -88,13 +44,15 @@
*
* @param impl
* @param asName
- * @param classesOrInterfacesToExpose
- * @param additionalFacades
+ * @param publicationDescription
*
*/
public void publish(
- Object impl, String asName, Class[] classesOrInterfacesToExpose,
Class[] additionalFacades)
+ Object impl, String asName, PublicationDescription
publicationDescription)
throws PublicationException {
+
+ Class[] classesOrInterfacesToExpose =
publicationDescription.getClassesOrInterfacesToExpose();
+ Class[] additionalFacades = publicationDescription.getAdditionalFacades();
if (mPublishedObjects.containsKey(asName + "_Main")) {
throw new PublicationException("Service '" + asName + "' already
published");
1.4 +124 -81
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers/DynamicGeneratorClassRetriever.java
Index: DynamicGeneratorClassRetriever.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers/DynamicGeneratorClassRetriever.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DynamicGeneratorClassRetriever.java 30 Jan 2002 23:42:45 -0000 1.3
+++ DynamicGeneratorClassRetriever.java 24 Feb 2002 11:04:33 -0000 1.4
@@ -1,3 +1,4 @@
+
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
@@ -7,16 +8,16 @@
*/
package org.apache.commons.altrmi.server.impl.classretrievers;
-import org.apache.commons.altrmi.server.AltrmiProxyGenerator;
-import org.apache.commons.altrmi.server.PublicationException;
-import org.apache.commons.altrmi.server.ClassRetriever;
-import org.apache.commons.altrmi.server.ClassRetrievalException;
+
+
+import org.apache.commons.altrmi.server.*;
import org.apache.commons.altrmi.common.ProxyGenerator;
import org.apache.commons.altrmi.common.ProxyGenerationException;
import java.net.URLClassLoader;
import java.net.URL;
import java.net.MalformedURLException;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.ByteArrayOutputStream;
@@ -28,14 +29,13 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class DynamicGeneratorClassRetriever implements AltrmiProxyGenerator,
ClassRetriever {
private String mAltrmiClasspath;
private String mClassGenDir;
private String mSrcGenDir;
-
private URL mGenJarURL;
/**
@@ -53,11 +53,13 @@
*
* @param asName
* @param classOrInterfaceToExpose
- * @param additionalFacade
+ * @param classLoader
*
*/
- public void generate(String asName, String classOrInterfaceToExpose, String
additionalFacade, ClassLoader classLoader) throws PublicationException {
- generate(asName, classOrInterfaceToExpose, new String[] {additionalFacade},
classLoader );
+ public void generate(String asName, Class classOrInterfaceToExpose, ClassLoader
classLoader)
+ throws PublicationException {
+ generateProxy(asName, new PublicationDescription(classOrInterfaceToExpose),
classLoader,
+ false);
}
/**
@@ -65,45 +67,64 @@
*
*
* @param asName
- * @param classOrInterfaceToExpose
- * @param additionalFacades
+ * @param publicationDescription
+ * @param classLoader
+ *
+ * @throws PublicationException
*
*/
- public void generate(String asName, String classOrInterfaceToExpose, String[]
additionalFacades, ClassLoader classLoader) throws PublicationException {
- generate(asName, new String[] { classOrInterfaceToExpose },
additionalFacades, classLoader );
+ public void generate(
+ String asName, PublicationDescription publicationDescription,
ClassLoader classLoader)
+ throws PublicationException {
+ generateProxy(asName, publicationDescription, classLoader, false);
}
/**
- * Method generate
+ * Method deferredGenerate
*
*
* @param asName
- * @param classesOrInterfacesToExpose
+ * @param publicationDescription
+ * @param classLoader
+ *
+ * @throws PublicationException
*
*/
- public void generate(String asName, String[] classesOrInterfacesToExpose,
ClassLoader classLoader) throws PublicationException {
- generate(asName, classesOrInterfacesToExpose, new String[0], classLoader );
+ public void deferredGenerate(
+ String asName, PublicationDescription publicationDescription,
ClassLoader classLoader)
+ throws PublicationException {
+ generateProxy(asName, publicationDescription, classLoader, true);
}
/**
- * Method generate
+ * Method setAltrmiClasspath
*
*
- * @param asName
- * @param classOrInterfaceToExpose
+ * @param altrmiClasspath
*
*/
- public void generate(String asName, String classOrInterfaceToExpose,
ClassLoader classLoader) throws PublicationException {
- generate(asName, new String[] { classOrInterfaceToExpose } , new String[0],
classLoader );
- }
-
public void setAltrmiClasspath(String altrmiClasspath) {
mAltrmiClasspath = altrmiClasspath;
}
+
+ /**
+ * Method addToAltrmiClasspath
+ *
+ *
+ * @param classpathElement
+ *
+ */
public void addToAltrmiClasspath(String classpathElement) {
mAltrmiClasspath = mAltrmiClasspath + File.pathSeparator + classpathElement;
}
+ /**
+ * Method setClassGenDir
+ *
+ *
+ * @param classGenDir
+ *
+ */
public void setClassGenDir(String classGenDir) {
mClassGenDir = classGenDir;
}
@@ -141,20 +162,22 @@
protected byte[] getThingBytes(String thingName) throws ClassRetrievalException
{
- thingName = thingName.replace('.','\\') + ".class";
+ thingName = thingName.replace('.', '\\') + ".class";
FileInputStream fis;
try {
- fis = new FileInputStream(new File(mClassGenDir,thingName));
+ fis = new FileInputStream(new File(mClassGenDir, thingName));
} catch (Exception e) {
e.printStackTrace();
+
throw new ClassRetrievalException(
"Generated class not found in classloader specified : " +
e.getMessage());
}
if (fis == null) {
- throw new ClassRetrievalException("Generated class not found in
classloader specified.");
+ throw new ClassRetrievalException(
+ "Generated class not found in classloader specified.");
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -168,66 +191,53 @@
fis.close();
} catch (IOException e) {
e.printStackTrace();
+
throw new ClassRetrievalException("Error retrieving generated class
bytes : "
- + e.getMessage());
+ + e.getMessage());
}
-
byte[] bytes = baos.toByteArray();
- return bytes;
-
-
-
- }
-
- public void setSrcGenDir(String srcGenDir) {
- mSrcGenDir = srcGenDir;
+ return bytes;
}
/**
- * Method generate
+ * Method setSrcGenDir
*
*
- * @param asName
- * @param classesOrInterfacesToExpose
- * @param additionalFacades
+ * @param srcGenDir
*
*/
- public void generate(String asName, String[] classesOrInterfacesToExpose,
String[] additionalFacades, ClassLoader classLoader) throws PublicationException {
+ public void setSrcGenDir(String srcGenDir) {
+ mSrcGenDir = srcGenDir;
+ }
+
+ private void generateProxy(
+ String asName, PublicationDescription publicationDescription,
ClassLoader classLoader, boolean deferred)
+ throws PublicationException {
if (classLoader == null) {
classLoader = this.getClass().getClassLoader();
}
- ClassLoader tmpGenClassLoader = new URLClassLoader(new URL[] {mGenJarURL},
classLoader );
-
+ ClassLoader tmpGenClassLoader = new URLClassLoader(new URL[]{ mGenJarURL },
classLoader);
Class[] clInfs = new Class[0];
Class[] addInfs = new Class[0];
- try {
- clInfs = new Class[classesOrInterfacesToExpose.length];
- for (int i = 0; i < classesOrInterfacesToExpose.length; i++) {
- String clsNam = classesOrInterfacesToExpose[i];
- clInfs[i] = tmpGenClassLoader.loadClass(clsNam);
- }
-
- addInfs = new Class[additionalFacades.length];
- for (int i = 0; i < additionalFacades.length; i++) {
- String infNam = additionalFacades[i];
- addInfs[i] = tmpGenClassLoader.loadClass(infNam);
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- throw new PublicationException("Class not found during publication:" +
e.getMessage() + " " + e.getException().getMessage());
- }
+ clInfs = publicationDescription.getClassesOrInterfacesToExpose();
+ addInfs = publicationDescription.getAdditionalFacades();
ProxyGenerator proxyGenerator;
+
try {
- proxyGenerator = (ProxyGenerator)
tmpGenClassLoader.loadClass("org.apache.commons.altrmi.generator.ProxyGeneratorImpl").newInstance();
+ proxyGenerator =
+ (ProxyGenerator) tmpGenClassLoader
+
.loadClass("org.apache.commons.altrmi.generator.ProxyGeneratorImpl")
+ .newInstance();
} catch (Exception e) {
throw new RuntimeException("PrimaryGenerator Impl jar not in
classpath");
}
+
proxyGenerator.setSrcGenDir(mSrcGenDir);
proxyGenerator.setClassGenDir(mClassGenDir);
proxyGenerator.setGenName(asName);
@@ -245,31 +255,64 @@
t.printStackTrace();
System.out.println("** Name=" + asName);
System.out.println("** Classes/Interfaces to Expose..");
- for (int i = 0; i < classesOrInterfacesToExpose.length; i++) {
- String aString = classesOrInterfacesToExpose[i];
- System.out.println("** .." + classesOrInterfacesToExpose[i]);
+
+ for (int i = 0; i < clInfs.length; i++) {
+ String aString = clInfs[i].getName();
+
+ System.out.println("** .." + aString);
}
+
System.out.println("******");
System.out.flush();
}
- try {
- proxyGenerator.generateClass(classLoader);
- } catch (Throwable t) {
- System.out.println("******");
- System.out.println("** Exception while making String : ");
- System.out.flush();
- t.printStackTrace();
- System.out.println("** SrcDir=" + mSrcGenDir);
- System.out.println("** ClassDir=" + mClassGenDir);
- System.out.println("** Name=" + asName);
- System.out.println("** CLasspath=" + mAltrmiClasspath);
- System.out.println("** Classes/Interfaces to Expose..");
- for (int i = 0; i < classesOrInterfacesToExpose.length; i++) {
- String aString = classesOrInterfacesToExpose[i];
- System.out.println("** .." + classesOrInterfacesToExpose[i]);
+
+ if (!deferred) {
+ try {
+ proxyGenerator.generateClass(classLoader);
+ } catch (Throwable t) {
+ System.out.println("******");
+ System.out.println("** Exception while making String : ");
+ System.out.flush();
+ t.printStackTrace();
+ System.out.println("** SrcDir=" + mSrcGenDir);
+ System.out.println("** ClassDir=" + mClassGenDir);
+ System.out.println("** Name=" + asName);
+ System.out.println("** CLasspath=" + mAltrmiClasspath);
+ System.out.println("** Classes/Interfaces to Expose..");
+
+ for (int i = 0; i < clInfs.length; i++) {
+ String aString = clInfs[i].getName();
+
+ System.out.println("** .." + aString);
+ }
+
+ System.out.println("******");
+ System.out.flush();
}
- System.out.println("******");
- System.out.flush();
}
+ }
+
+ /**
+ * Method generateDeferred
+ *
+ *
+ * @param classLoader
+ *
+ */
+ public void generateDeferred(ClassLoader classLoader) {
+
+ ClassLoader tmpGenClassLoader = new URLClassLoader(new URL[]{ mGenJarURL },
classLoader);
+ ProxyGenerator proxyGenerator;
+
+ try {
+ proxyGenerator =
+ (ProxyGenerator) tmpGenClassLoader
+
.loadClass("org.apache.commons.altrmi.generator.ProxyGeneratorImpl")
+ .newInstance();
+ } catch (Exception e) {
+ throw new RuntimeException("PrimaryGenerator Impl jar not in
classpath");
+ }
+
+ proxyGenerator.generateDeferredClasses();
}
}
1.5 +4 -3
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/DirectMarshalledTest.java
Index: DirectMarshalledTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/DirectMarshalledTest.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DirectMarshalledTest.java 4 Feb 2002 12:29:03 -0000 1.4
+++ DirectMarshalledTest.java 24 Feb 2002 11:04:33 -0000 1.5
@@ -14,6 +14,7 @@
import
org.apache.commons.altrmi.server.impl.adapters.MarshalledInvocationHandlerAdapter;
import org.apache.commons.altrmi.server.impl.direct.DirectMarshalledServer;
import org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
+import org.apache.commons.altrmi.server.PublicationDescription;
import org.apache.commons.altrmi.common.AltrmiInvocationHandler;
import org.apache.commons.altrmi.common.AltrmiConnectionException;
import org.apache.commons.altrmi.common.AltrmiMarshalledInvocationHandler;
@@ -32,7 +33,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class DirectMarshalledTest {
@@ -59,7 +60,7 @@
}
TestInterfaceImpl ti = new TestInterfaceImpl();
- ds.publish(ti, "Hello", TestInterface.class, TestInterface2.class);
+ ds.publish(ti, "Hello", new PublicationDescription(TestInterface.class,
TestInterface2.class));
ds.start();
DirectMarshalledTestClient dtc = new DirectMarshalledTestClient(ds);
@@ -73,7 +74,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
static class DirectMarshalledTestClient implements Runnable {
1.11 +4 -3
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/DirectTest.java
Index: DirectTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/DirectTest.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- DirectTest.java 4 Feb 2002 12:29:03 -0000 1.10
+++ DirectTest.java 24 Feb 2002 11:04:33 -0000 1.11
@@ -12,6 +12,7 @@
import org.apache.commons.altrmi.server.impl.direct.DirectServer;
import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
+import org.apache.commons.altrmi.server.PublicationDescription;
import org.apache.commons.altrmi.common.AltrmiInvocationHandler;
import org.apache.commons.altrmi.common.AltrmiConnectionException;
import org.apache.commons.altrmi.client.AltrmiHostContext;
@@ -28,7 +29,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public class DirectTest {
@@ -55,7 +56,7 @@
}
TestInterfaceImpl ti = new TestInterfaceImpl();
- ds.publish(ti, "Hello", TestInterface.class, TestInterface2.class);
+ ds.publish(ti, "Hello", new PublicationDescription(TestInterface.class,
TestInterface2.class));
ds.start();
DirectTestClient dtc = new DirectTestClient(ds);
@@ -69,7 +70,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
static class DirectTestClient implements Runnable {
1.10 +7 -4
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/PipeTest.java
Index: PipeTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/PipeTest.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- PipeTest.java 30 Jan 2002 23:42:45 -0000 1.9
+++ PipeTest.java 24 Feb 2002 11:04:33 -0000 1.10
@@ -15,6 +15,7 @@
import org.apache.commons.altrmi.server.impl.classretrievers.NoClassRetriever;
import
org.apache.commons.altrmi.server.impl.classretrievers.DynamicGeneratorClassRetriever;
import org.apache.commons.altrmi.server.ClassRetriever;
+import org.apache.commons.altrmi.server.PublicationDescription;
import org.apache.commons.altrmi.client.AltrmiHostContext;
import org.apache.commons.altrmi.client.impl.socket.SocketObjectStreamHostContext;
import org.apache.commons.altrmi.client.AltrmiFactory;
@@ -34,7 +35,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
*/
public class PipeTest {
@@ -74,14 +75,16 @@
dr.setSrcGenDir(source.getAbsolutePath());
dr.setClassGenDir(gen.getAbsolutePath());
- dr.generate("Hello",TestInterface.class.getName(),
TestInterface2.class.getName(), null);
+ PublicationDescription pd = new
PublicationDescription(TestInterface.class, TestInterface2.class);
+
+ dr.generate("Hello", pd, null);
cr = dr;
}
ps.setClassRetriever(cr);
- ps.publish(ti, "Hello", TestInterface.class, TestInterface2.class);
+ ps.publish(ti, "Hello", new PublicationDescription(TestInterface.class,
TestInterface2.class));
ps.start();
PipedTestClient ptc = new PipedTestClient(ps);
@@ -95,7 +98,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
*/
static class PipedTestClient implements Runnable {
1.4 +3 -2
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/RmiServerTest.java
Index: RmiServerTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/RmiServerTest.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RmiServerTest.java 25 Jan 2002 16:40:14 -0000 1.3
+++ RmiServerTest.java 24 Feb 2002 11:04:33 -0000 1.4
@@ -11,6 +11,7 @@
import org.apache.commons.altrmi.server.impl.rmi.RmiServer;
import org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
+import org.apache.commons.altrmi.server.PublicationDescription;
import java.io.IOException;
@@ -20,7 +21,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class RmiServerTest {
@@ -43,7 +44,7 @@
}
TestInterfaceImpl ti = new TestInterfaceImpl();
- rs.publish(ti, "Hello", TestInterface.class, TestInterface2.class);
+ rs.publish(ti, "Hello", new PublicationDescription(TestInterface.class,
TestInterface2.class));
rs.start();
}
}
1.8 +3 -2
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/SocketServerTest.java
Index: SocketServerTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/SocketServerTest.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SocketServerTest.java 25 Jan 2002 16:40:14 -0000 1.7
+++ SocketServerTest.java 24 Feb 2002 11:04:33 -0000 1.8
@@ -14,6 +14,7 @@
import
org.apache.commons.altrmi.server.impl.socket.CompleteSocketCustomStreamServer;
import org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
import org.apache.commons.altrmi.server.impl.AbstractServer;
+import org.apache.commons.altrmi.server.PublicationDescription;
import java.io.IOException;
@@ -23,7 +24,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
public class SocketServerTest {
@@ -62,7 +63,7 @@
TestInterfaceImpl ti = new TestInterfaceImpl();
- as.publish(ti, "Hello", TestInterface.class, TestInterface2.class);
+ as.publish(ti, "Hello", new PublicationDescription(TestInterface.class,
TestInterface2.class));
as.start();
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>