You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ha...@apache.org on 2002/01/26 14:51:34 UTC

cvs commit: jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers JarFileClassRetriever.java

hammant     02/01/26 05:51:34

  Modified:    altrmi   build.xml tests.xml
               altrmi/src/java/org/apache/commons/altrmi/client/impl/stream
                        StreamInvocationHandler.java
               altrmi/src/java/org/apache/commons/altrmi/common
                        ClassReply.java
               altrmi/src/java/org/apache/commons/altrmi/server/impl
                        AbstractServer.java
               altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers
                        JarFileClassRetriever.java
  Log:
  Fixed remote class retrieval
  
  Revision  Changes    Path
  1.4       +2 -2      jakarta-commons-sandbox/altrmi/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/build.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- build.xml	25 Jan 2002 16:40:13 -0000	1.3
  +++ build.xml	26 Jan 2002 13:51:34 -0000	1.4
  @@ -3,7 +3,7 @@
   
   <!--
           "Alternative (to) RMI" component of the Jakarta Commons Subproject
  -        $Id: build.xml,v 1.3 2002/01/25 16:40:13 hammant Exp $
  +        $Id: build.xml,v 1.4 2002/01/26 13:51:34 hammant Exp $
   -->
   
   
  @@ -220,7 +220,7 @@
               basedir="${build.home}/classes"
              manifest="src/conf/MANIFEST-generator.MF">
         <include name="org/apache/commons/altrmi/generator/**"/>
  -      <include name="org/apache/commons/altrmi/compiler/**"/>
  +      <include name="org/apache/commons/altrmi/javacompiler/**"/>
       </jar> 
                  
     </target>
  
  
  
  1.3       +1 -26     jakarta-commons-sandbox/altrmi/tests.xml
  
  Index: tests.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/tests.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- tests.xml	25 Jan 2002 16:40:13 -0000	1.2
  +++ tests.xml	26 Jan 2002 13:51:34 -0000	1.3
  @@ -3,7 +3,7 @@
   
   <!--
           "Alt (to) RMI" component of the Jakarta Commons Subproject
  -        $Id: tests.xml,v 1.2 2002/01/25 16:40:13 hammant Exp $
  +        $Id: tests.xml,v 1.3 2002/01/26 13:51:34 hammant Exp $
   -->
   
   
  @@ -95,31 +95,6 @@
           <pathelement location="${build.home}/classes"/>
         </classpath>
       </altrmiinterfaces>        
  -
  -    <!--
  -    <javac  srcdir="${build.home}/genjava"
  -               destdir="${build.home}/classes2"
  -                 debug="${compile.debug}"
  -           deprecation="${compile.deprecation}"
  -              optimize="${compile.optimize}">
  -          <classpath refid="compile.classpath"/>
  -    </javac>
  -    
  -
  -  
  -    <altrmiclassintern gendir="${build.home}/genjava2" 
  -        sourceclassdir="${build.home}/classes2/"
  -        publishedname="Hello" />  
  -
  -    <javac  srcdir="${build.home}/genjava2"
  -               destdir="${build.home}/classes3"
  -                 debug="${compile.debug}"
  -           deprecation="${compile.deprecation}"
  -              optimize="${compile.optimize}">
  -          <classpath refid="compile.classpath"/>
  -    </javac>
  -    
  -    -->
     
     </target>
   
  
  
  
  1.4       +2 -2      jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/stream/StreamInvocationHandler.java
  
  Index: StreamInvocationHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/stream/StreamInvocationHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StreamInvocationHandler.java	21 Jan 2002 20:10:34 -0000	1.3
  +++ StreamInvocationHandler.java	26 Jan 2002 13:51:34 -0000	1.4
  @@ -37,7 +37,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    */
   public abstract class StreamInvocationHandler extends AbstractClientInvocationHandler {
   
  @@ -123,7 +123,7 @@
                       } catch (IOException ioe) {
                           if (ioe instanceof SocketException
                                   | ioe instanceof EOFException
  -                                | ioe.getMessage().equals("Read end dead")
  +                                | (ioe.getMessage() != null && ioe.getMessage().equals("Read end dead") )
                                   ) {
                               int retryConnectTries = 0;
   
  
  
  
  1.4       +5 -5      jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/ClassReply.java
  
  Index: ClassReply.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/ClassReply.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ClassReply.java	18 Jan 2002 11:03:20 -0000	1.3
  +++ ClassReply.java	26 Jan 2002 13:51:34 -0000	1.4
  @@ -20,7 +20,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    */
   public final class ClassReply extends AltrmiReply {
   
  @@ -97,8 +97,8 @@
        * @exception IOException Includes any I/O exceptions that may occur
        */
       public void writeExternal(ObjectOutput out) throws IOException {
  -        out.write(mBeanClassBytes);
  -        out.write(mInterfaceImplClassBytes);
  +        out.writeObject(mBeanClassBytes);
  +        out.writeObject(mInterfaceImplClassBytes);
       }
   
       /**
  @@ -114,7 +114,7 @@
        *              restored cannot be found.
        */
       public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
  -        in.read(mBeanClassBytes);
  -        in.read(mInterfaceImplClassBytes);
  +        mBeanClassBytes = (byte[]) in.readObject();
  +        mInterfaceImplClassBytes = (byte[]) in.readObject();
       }
   }
  
  
  
  1.12      +4 -4      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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- AbstractServer.java	25 Jan 2002 16:40:14 -0000	1.11
  +++ AbstractServer.java	26 Jan 2002 13:51:34 -0000	1.12
  @@ -57,7 +57,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.11 $
  + * @version $Revision: 1.12 $
    */
   public abstract class AbstractServer extends AbstractMethodHandler implements AltrmiServer {
   
  @@ -360,15 +360,15 @@
               //TODO a decent ref number for main?
               return new LookupReply(new Long(0));
           } else if (request.getRequestCode() == AltrmiRequest.CLASSREQUEST) {
  +            ClassRequest cr = (ClassRequest) request;
  +            String publishedThing = cr.getPublishedServiceName() + "_" + cr.getObjectName();
               try {
  -                ClassRequest cr = (ClassRequest) request;
  -                String publishedThing = cr.getPublishedServiceName() + "_" + cr.getObjectName();
   
                   return new ClassReply(mClassRetriever.getBeanBytes(publishedThing),
                                         mClassRetriever
                                             .getInterfaceImplementationBytes(publishedThing));
               } catch (ClassRetrievalException e) {
  -                return new RequestFailedReply(e.getMessage());
  +                return new ExceptionReply(new ClassNotFoundException("AltRMI Server exception - " + publishedThing + " not found"));
               }
           } else if (request.getRequestCode() == AltrmiRequest.OPENCONNECTIONREQUEST) {
               Long session = getNewSession();
  
  
  
  1.3       +15 -4     jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers/JarFileClassRetriever.java
  
  Index: JarFileClassRetriever.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers/JarFileClassRetriever.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JarFileClassRetriever.java	21 Jan 2002 15:38:21 -0000	1.2
  +++ JarFileClassRetriever.java	26 Jan 2002 13:51:34 -0000	1.3
  @@ -27,7 +27,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
   public class JarFileClassRetriever extends AbstractClassRetriever {
   
  @@ -41,6 +41,7 @@
        *
        */
       public JarFileClassRetriever(URL urlOfJarFile) {
  +        System.out.println("URL1 " + urlOfJarFile);
           mURLClassLoader = new URLClassLoader(new URL[]{ urlOfJarFile });
       }
   
  @@ -52,6 +53,7 @@
        *
        */
       public JarFileClassRetriever(URL[] urlsOfJarFiles) {
  +        System.out.println("URL2 " + urlsOfJarFiles[0]);
           mURLClassLoader = new URLClassLoader(urlsOfJarFiles);
       }
   
  @@ -66,6 +68,8 @@
        */
       public JarFileClassRetriever(String[] pathsOfJarFiles) throws MalformedURLException {
   
  +        System.out.println("URL3 " + pathsOfJarFiles[0]);
  +
           URL[] urls = new URL[pathsOfJarFiles.length];
   
           for (int i = 0; i < pathsOfJarFiles.length; i++) {
  @@ -85,6 +89,9 @@
        *
        */
       public JarFileClassRetriever(String pathOfJarFile) throws MalformedURLException {
  +
  +        System.out.println("URL4 " + pathOfJarFile);
  +
           mURLClassLoader = new URLClassLoader(new URL[]{ new File(pathOfJarFile).toURL() });
       }
   
  @@ -101,15 +108,19 @@
        */
       public byte[] getThingBytes(String thingName) throws ClassRetrievalException {
   
  +        thingName = thingName.replace('.','/') + ".class";
  +
           try {
  -            URL rsc = mURLClassLoader.findResource(thingName);
  -            InputStream is = rsc.openStream();
  +            InputStream is = mURLClassLoader.getResourceAsStream(thingName);
  +            if (is == null) {
  +                throw new ClassRetrievalException("Generated class not found in Jar on server");
  +            }
               byte[] bytes = new byte[is.available()];
  -
               is.read(bytes);
   
               return bytes;
           } catch (java.io.IOException e) {
  +            e.printStackTrace();
               throw new ClassRetrievalException("Generated class not found in Jar on server");
           }
       }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>