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]>

Reply via email to