vinayc      2003/09/17 09:49:59

  Modified:    client/impl/src/java/org/apache/altrmi/client/impl
                        AbstractClientInvocationHandler.java
                        AbstractFactory.java DefaultProxyHelper.java
               integrationtests/src/test/org/apache/altrmi/test
                        AbstractHelloTestCase.java
                        CustomSerializableParam.java
                        DummyInvocationHandler.java
               
client/impl/src/java/org/apache/altrmi/client/impl/callback/stream
                        CallbackEnabledClientCustomStreamReadWriter.java
               
client/impl/src/java/org/apache/altrmi/client/impl/callback/socket
                        CallbackEnabledSocketCustomStreamInvocationHandler.java
               server/impl/src/java/org/apache/altrmi/server/impl/callback
                        CallbackServerClassFactory.java
               
server/impl/src/java/org/apache/altrmi/server/impl/callback/stream
                        CallbackStreamInvocationHandler.java
               client/api/src/java/org/apache/altrmi/client
                        ClientInvocationHandler.java
               server/impl/src/java/org/apache/altrmi/server/impl
                        DefaultServerSideClientContext.java
               server/impl/src/java/org/apache/altrmi/server/impl/adapters
                        InvocationHandlerAdapter.java
               tools/src/java/org/apache/altrmi/tools/generator
                        ProxyGeneratorImpl.java
  Log:
  Callback enablement ( Integration Tests for callback passes , ProxyGenerators 
ant task generates callback facades ) + some code cleanup(license headers)
  
  Revision  Changes    Path
  1.2       +3 -2      
incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/AbstractClientInvocationHandler.java
  
  Index: AbstractClientInvocationHandler.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/AbstractClientInvocationHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractClientInvocationHandler.java      28 Aug 2003 18:08:14 -0000      
1.1
  +++ AbstractClientInvocationHandler.java      17 Sep 2003 16:49:57 -0000      
1.2
  @@ -163,12 +163,13 @@
        * resolveArgument can handle any changes that one has to  do to the 
arguments being
        * marshalled to the server.
        * Noop Default behaviour.
  +     * @param remoteObjName 
        * @param objClass
        * @param obj
        * @return Object
        */
   
  -    public Object resolveArgument(String methodSignature ,Class objClass , 
Object obj)
  +    public Object resolveArgument(String remoteObjName, String 
methodSignature ,Class objClass , Object obj)
       {
           return obj;
       }
  
  
  
  1.2       +3 -3      
incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/AbstractFactory.java
  
  Index: AbstractFactory.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/AbstractFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractFactory.java      28 Aug 2003 18:08:14 -0000      1.1
  +++ AbstractFactory.java      17 Sep 2003 16:49:57 -0000      1.2
  @@ -395,7 +395,7 @@
   
   
   
  -    public void marshallCorrection( String methodSignature, Object[] args, 
Class[] argClasses )
  +    public void marshallCorrection(String remoteObjName, String 
methodSignature, Object[] args, Class[] argClasses )
       {
   
           for( int i = 0; i < args.length; i++ )
  @@ -419,7 +419,7 @@
               }
               else // Let the specific InvocationHandlers be given the last 
chance to modify the arguments.
               {
  -                args[i] = 
m_clientInvocationHandler.resolveArgument(methodSignature,argClasses[i],args[i]);
  +                args[i] = 
m_clientInvocationHandler.resolveArgument(remoteObjName,methodSignature,argClasses[i],args[i]);
               }
           }
       }
  
  
  
  1.2       +3 -3      
incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/DefaultProxyHelper.java
  
  Index: DefaultProxyHelper.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/DefaultProxyHelper.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultProxyHelper.java   28 Aug 2003 18:08:14 -0000      1.1
  +++ DefaultProxyHelper.java   17 Sep 2003 16:49:57 -0000      1.2
  @@ -274,7 +274,7 @@
       public Object processObjectRequest(String methodSignature, Object[] 
args, Class[] argClasses) throws Throwable {
   
           try {
  -            m_factory.marshallCorrection(methodSignature, args, argClasses);
  +            
m_factory.marshallCorrection(m_publishedServiceName,methodSignature, args, 
argClasses);
   
               MethodRequest request = new 
MethodRequest(m_publishedServiceName, m_objectName,
                       methodSignature, args, m_referenceID, m_session);
  @@ -308,7 +308,7 @@
       public void processVoidRequest(String methodSignature, Object[] args, 
Class[] argClasses) throws Throwable {
   
           try {
  -            m_factory.marshallCorrection(methodSignature, args, argClasses);
  +            
m_factory.marshallCorrection(m_publishedServiceName,methodSignature, args, 
argClasses);
   
               MethodRequest request = new 
MethodRequest(m_publishedServiceName, m_objectName,
                       methodSignature, args, m_referenceID, m_session);
  
  
  
  1.3       +7 -3      
incubator-altrmi/integrationtests/src/test/org/apache/altrmi/test/AbstractHelloTestCase.java
  
  Index: AbstractHelloTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/integrationtests/src/test/org/apache/altrmi/test/AbstractHelloTestCase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractHelloTestCase.java        8 Sep 2003 06:58:54 -0000       1.2
  +++ AbstractHelloTestCase.java        17 Sep 2003 16:49:57 -0000      1.3
  @@ -341,9 +341,13 @@
           // lookup worked ?
           assertNotNull(testClient);
           
  -        CustomSerializableParam custom = new CustomSerializableParam();
  -        testClient.testCustomSerializableParameter(custom);
  -        assertNotNull(custom);
  +        CustomSerializableParam sendParam = new CustomSerializableParam();
  +        sendParam.name="sent-by-caller";
  +        CustomSerializableParam recvParam= 
testClient.testCustomSerializableParameter(sendParam);
  +        //test receipt of serialized value object from server
  +        assertNotNull(recvParam);
  +        //check whether its the same as one sent (server merely echos back 
whatever it received)
  +        assertEquals(sendParam.name,recvParam.name);
       }
   
   }
  
  
  
  1.2       +62 -4     
incubator-altrmi/integrationtests/src/test/org/apache/altrmi/test/CustomSerializableParam.java
  
  Index: CustomSerializableParam.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/integrationtests/src/test/org/apache/altrmi/test/CustomSerializableParam.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CustomSerializableParam.java      9 Sep 2003 18:13:40 -0000       1.1
  +++ CustomSerializableParam.java      17 Sep 2003 16:49:57 -0000      1.2
  @@ -1,6 +1,64 @@
  -package org.apache.altrmi.test;
  +/* ====================================================================
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 1997-2003 The Apache Software Foundation. All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + *    if any, must include the following acknowledgment:
  + *    "This product includes software developed by the
  + *    Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowledgment may appear in the software
  + *    itself, if and wherever such third-party acknowledgments
  + *    normally appear.
  + *
  + * 4. The names "Incubator", "AltRMI", and "Apache Software Foundation"
  + *    must not be used to endorse or promote products derived from this
  + *    software without prior written permission. For written
  + *    permission, please contact [EMAIL PROTECTED]
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + *    nor may "Apache" appear in their name, without prior written
  + *    permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation. For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + */
   
  +package org.apache.altrmi.test;
   import java.io.Serializable;
  -
  -public class CustomSerializableParam implements Serializable {
  -}
  +/** Serializable class for testing
  + */
  +public class CustomSerializableParam implements Serializable
  +{
  +    //a serializable attribute
  +    public String name;
  +}
  \ No newline at end of file
  
  
  
  1.2       +2 -2      
incubator-altrmi/integrationtests/src/test/org/apache/altrmi/test/DummyInvocationHandler.java
  
  Index: DummyInvocationHandler.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/integrationtests/src/test/org/apache/altrmi/test/DummyInvocationHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DummyInvocationHandler.java       28 Aug 2003 18:24:44 -0000      1.1
  +++ DummyInvocationHandler.java       17 Sep 2003 16:49:57 -0000      1.2
  @@ -130,7 +130,7 @@
           throw new java.lang.UnsupportedOperationException();
       }
   
  -    public Object resolveArgument(String methodSignature, Class 
inputArgumentClass, Object inputArgumentInstance)
  +    public Object resolveArgument(String remoteObjName,String 
methodSignature, Class inputArgumentClass, Object inputArgumentInstance)
       {
           throw new java.lang.UnsupportedOperationException();
       }
  
  
  
  1.4       +12 -8     
incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/callback/stream/CallbackEnabledClientCustomStreamReadWriter.java
  
  Index: CallbackEnabledClientCustomStreamReadWriter.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/callback/stream/CallbackEnabledClientCustomStreamReadWriter.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CallbackEnabledClientCustomStreamReadWriter.java  5 Sep 2003 16:21:46 
-0000       1.3
  +++ CallbackEnabledClientCustomStreamReadWriter.java  17 Sep 2003 16:49:57 
-0000      1.4
  @@ -60,6 +60,7 @@
   import org.apache.altrmi.common.ClientInvocationAbendReply;
   import org.apache.altrmi.common.ConnectionException;
   import org.apache.altrmi.common.ExceptionReply;
  +import org.apache.altrmi.common.MethodNameHelper;
   import org.apache.altrmi.common.Reply;
   import org.apache.altrmi.common.ReqRepBytes;
   import org.apache.altrmi.common.Request;
  @@ -314,10 +315,10 @@
        * @return boolean
        * @throws CallbackException
        */
  -    public boolean exposeObject(Object tobeExposedObject, Class 
tobeExposedInterface) throws CallbackException {
  +    public boolean exposeObject(String remoteObjName, Object 
tobeExposedObject, Class tobeExposedInterface) throws CallbackException {
           if (m_exposedObjPublishNameHash_.get(tobeExposedObject) != null)
               return false;
  -        String _uniquePublishedName = 
getUniqueNameForExposedObject(tobeExposedObject);
  +        String _uniquePublishedName = 
getUniqueNameForExposedObject(remoteObjName,tobeExposedInterface);
           m_exposedObjPublishNameHash_.put(tobeExposedObject, 
_uniquePublishedName);
           try {
               m_clientServerHostingExposedObjects.publish(tobeExposedObject, 
_uniquePublishedName, tobeExposedInterface);
  @@ -330,14 +331,17 @@
       /**
        * Method getUniqueNameForExposedObject.
        *     Generate Unqiue name for the exposedObject.
  -     *  Right now its as simple as ClassName_1,ClassName_2  etc....
        * @param tobeExposedObject
        * @return String
        */
  -    private String getUniqueNameForExposedObject(Object tobeExposedObject) {
  -        m_random++;
  -        return 
tobeExposedObject.getClass().getName().substring(tobeExposedObject.getClass().getName().lastIndexOf(".")
 + 1) + "_" + m_random;
  -    }
  +     private String getUniqueNameForExposedObject(String 
remotePublishName,Class exposedInterface) 
  +     {
  +                m_random++;
  +                String 
uniqueName=remotePublishName+"_"+MethodNameHelper.encodeClassName(exposedInterface)+"_"+m_random;
  +                return uniqueName;
  +                
  +                
  +     }
   
       /**
        * Method getPublishedName.
  
  
  
  1.2       +5 -4      
incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/callback/socket/CallbackEnabledSocketCustomStreamInvocationHandler.java
  
  Index: CallbackEnabledSocketCustomStreamInvocationHandler.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/client/impl/src/java/org/apache/altrmi/client/impl/callback/socket/CallbackEnabledSocketCustomStreamInvocationHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CallbackEnabledSocketCustomStreamInvocationHandler.java   4 Sep 2003 
21:24:24 -0000       1.1
  +++ CallbackEnabledSocketCustomStreamInvocationHandler.java   17 Sep 2003 
16:49:57 -0000      1.2
  @@ -111,9 +111,9 @@
           return m_callbackEnabledClientCustomStreamReadWriter;
       }
   
  -    public boolean exposeObject( Object tobeExposedObject, Class 
tobeExposedInterface ) throws CallbackException
  +    public boolean exposeObject( String remoteObjName,Object 
tobeExposedObject, Class tobeExposedInterface ) throws CallbackException
       {
  -        return m_callbackEnabledClientCustomStreamReadWriter.exposeObject( 
tobeExposedObject, tobeExposedInterface );
  +        return m_callbackEnabledClientCustomStreamReadWriter.exposeObject( 
remoteObjName, tobeExposedObject, tobeExposedInterface );
       }
   
       public String getPublishedName( Object tobeExposedObject )
  @@ -134,6 +134,7 @@
        * @see 
org.apache.altrmi.client.ClientInvocationHandler#resolveArgument(String, Class, 
Object)
        */
       public Object resolveArgument(
  +        String remoteObjName,
           String methodSignature,
           Class inputArgumentClass,
           Object inputArgumentInstance)
  @@ -161,7 +162,7 @@
                   {
                       try
                       {
  -                        exposeObject( inputArgumentInstance, 
inputArgumentClass );
  +                        exposeObject(remoteObjName, inputArgumentInstance, 
inputArgumentClass );
                       }
                       catch( CallbackException ace )
                       {
  
  
  
  1.2       +7 -7      
incubator-altrmi/server/impl/src/java/org/apache/altrmi/server/impl/callback/CallbackServerClassFactory.java
  
  Index: CallbackServerClassFactory.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/server/impl/src/java/org/apache/altrmi/server/impl/callback/CallbackServerClassFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CallbackServerClassFactory.java   4 Sep 2003 21:36:47 -0000       1.1
  +++ CallbackServerClassFactory.java   17 Sep 2003 16:49:57 -0000      1.2
  @@ -111,12 +111,12 @@
               m_session= reply.getSession();
           }
   
  -
  -        String modifiedPublishedName =
  -            publishedServiceName.substring( 0, 
publishedServiceName.lastIndexOf( "_" ) );
  -        Reply ar =
  +        String modifiedPublishedName = publishedServiceName.substring( 0, 
publishedServiceName.lastIndexOf( "_" ) );
  +        String mainPublishName=modifiedPublishedName.substring( 0, 
modifiedPublishedName.lastIndexOf( "_" ) );
  +        String facadePublishName = modifiedPublishedName.substring( 
modifiedPublishedName.lastIndexOf( "_" )+1,modifiedPublishedName.length() );
  +             Reply ar =
               m_hostContext.getInvocationHandler()
  -            .handleInvocation( new LookupRequest( modifiedPublishedName, 
authentication,
  +            .handleInvocation( new LookupRequest( publishedServiceName, 
authentication,
                                                     m_session ) );
   
           if( ar.getReplyCode() >= ReplyConstants.PROBLEMREPLY )
  @@ -143,7 +143,7 @@
                   this, m_hostContext.getInvocationHandler(),
                   publishedServiceName, "Main",
                   lr.getReferenceID(), m_session );
  -        Object retVal = getInstance( modifiedPublishedName, "Main", baseObj);
  +        Object retVal = getInstance( mainPublishName, facadePublishName, 
baseObj);
   
           baseObj.registerImplObject( retVal );
   
  
  
  
  1.2       +22 -3     
incubator-altrmi/server/impl/src/java/org/apache/altrmi/server/impl/callback/stream/CallbackStreamInvocationHandler.java
  
  Index: CallbackStreamInvocationHandler.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/server/impl/src/java/org/apache/altrmi/server/impl/callback/stream/CallbackStreamInvocationHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CallbackStreamInvocationHandler.java      4 Sep 2003 21:36:47 -0000       
1.1
  +++ CallbackStreamInvocationHandler.java      17 Sep 2003 16:49:57 -0000      
1.2
  @@ -54,10 +54,14 @@
    */
   package org.apache.altrmi.server.impl.callback.stream;
   
  +import org.apache.altrmi.client.ClientMonitor;
  +import org.apache.altrmi.client.ConnectionPinger;
   import org.apache.altrmi.client.impl.ClientStreamReadWriter;
   import 
org.apache.altrmi.client.impl.stream.AbstractStreamClientInvocationHandler;
  -import org.apache.altrmi.client.ConnectionPinger;
  -import org.apache.altrmi.client.ClientMonitor;
  +import org.apache.altrmi.common.OpenConnectionReply;
  +import org.apache.altrmi.common.Reply;
  +import org.apache.altrmi.common.Request;
  +import org.apache.altrmi.common.RequestConstants;
   import org.apache.altrmi.common.ThreadPool;
   
   /**
  @@ -118,5 +122,20 @@
       {
           super.setObjectReadWriter( clientStreamReadWriter );
       }
  +    
  +    /**
  +      * @see 
org.apache.altrmi.client.ClientInvocationHandler#handleInvocation(Request)
  +      */
  +     public Reply handleInvocation(Request request)
  +     {
  +        //hook into request sent out to the client, short-circuit the need 
to 
  +        // create an a fresh connection request    
  +             
if(request.getRequestCode()==RequestConstants.OPENCONNECTIONREQUEST)
  +             {
  +                     return new OpenConnectionReply();
  +             }
  +             Reply reply = super.handleInvocation(request);
  +             return reply;
  +     }
   }
   
  
  
  
  1.2       +3 -2      
incubator-altrmi/client/api/src/java/org/apache/altrmi/client/ClientInvocationHandler.java
  
  Index: ClientInvocationHandler.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/client/api/src/java/org/apache/altrmi/client/ClientInvocationHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ClientInvocationHandler.java      28 Aug 2003 18:00:29 -0000      1.1
  +++ ClientInvocationHandler.java      17 Sep 2003 16:49:58 -0000      1.2
  @@ -126,12 +126,13 @@
       /**
        * morphObject handles any changes  to the arguments being
        * marshalled to the server.
  +     * @param remoteObjName String remote objecct name
        * @param inputArgumentClass Class of the input argument
        * @param inputArgumentInstance instance of the object being marshalled 
to the server
        * @return Object new object that replaces the input argument.
        */
   
  -    Object resolveArgument(String methodSignature,Class inputArgumentClass, 
Object inputArgumentInstance);
  +    Object resolveArgument(String remoteObjName,String methodSignature,Class 
inputArgumentClass, Object inputArgumentInstance);
   
       boolean isCallBackEnabled();
   
  
  
  
  1.2       +58 -1     
incubator-altrmi/server/impl/src/java/org/apache/altrmi/server/impl/DefaultServerSideClientContext.java
  
  Index: DefaultServerSideClientContext.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/server/impl/src/java/org/apache/altrmi/server/impl/DefaultServerSideClientContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultServerSideClientContext.java       28 Aug 2003 18:36:06 -0000      
1.1
  +++ DefaultServerSideClientContext.java       17 Sep 2003 16:49:58 -0000      
1.2
  @@ -1,3 +1,57 @@
  +/* ====================================================================
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 1997-2003 The Apache Software Foundation. All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + *    if any, must include the following acknowledgment:
  + *    "This product includes software developed by the
  + *    Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowledgment may appear in the software
  + *    itself, if and wherever such third-party acknowledgments
  + *    normally appear.
  + *
  + * 4. The names "Incubator", "AltRMI", and "Apache Software Foundation"
  + *    must not be used to endorse or promote products derived from this
  + *    software without prior written permission. For written
  + *    permission, please contact [EMAIL PROTECTED]
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + *    nor may "Apache" appear in their name, without prior written
  + *    permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation. For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + */
   package org.apache.altrmi.server.impl;
   
   import org.apache.altrmi.common.ClientContext;
  @@ -12,7 +66,10 @@
       {
           this.session = session;
           this.clientSideClientContext = clientSideClientContext;
  -        hashCode = session.hashCode() + clientSideClientContext.hashCode();
  +        if(session!=null && clientSideClientContext!=null)
  +        {
  +            hashCode = session.hashCode() + 
clientSideClientContext.hashCode();
  +        }
       }
   
       public int hashCode()
  
  
  
  1.2       +3 -3      
incubator-altrmi/server/impl/src/java/org/apache/altrmi/server/impl/adapters/InvocationHandlerAdapter.java
  
  Index: InvocationHandlerAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/server/impl/src/java/org/apache/altrmi/server/impl/adapters/InvocationHandlerAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InvocationHandlerAdapter.java     28 Aug 2003 18:30:51 -0000      1.1
  +++ InvocationHandlerAdapter.java     17 Sep 2003 16:49:58 -0000      1.2
  @@ -272,7 +272,7 @@
       private Reply doMethodFacadeRequest( MethodFacadeRequest facadeRequest, 
Object connectionDetails )
       {
   
  -        if (!sessionExists(facadeRequest.getSession()))
  +        if (!sessionExists(facadeRequest.getSession()) && 
(connectionDetails==null ||  !connectionDetails.equals("callback")))
           {
               return new NoSuchSessionReply(facadeRequest.getSession());
           }
  @@ -439,7 +439,7 @@
       private Reply doMethodRequest( MethodRequest methodRequest, Object 
connectionDetails )
       {
   
  -        if (!sessionExists(methodRequest.getSession()))
  +        if (  !sessionExists(methodRequest.getSession()) && 
(connectionDetails==null ||  !connectionDetails.equals("callback")) )
           {
               return new NoSuchSessionReply(methodRequest.getSession());
           }
  
  
  
  1.2       +22 -1     
incubator-altrmi/tools/src/java/org/apache/altrmi/tools/generator/ProxyGeneratorImpl.java
  
  Index: ProxyGeneratorImpl.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-altrmi/tools/src/java/org/apache/altrmi/tools/generator/ProxyGeneratorImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ProxyGeneratorImpl.java   28 Aug 2003 18:40:12 -0000      1.1
  +++ ProxyGeneratorImpl.java   17 Sep 2003 16:49:59 -0000      1.2
  @@ -102,6 +102,15 @@
                   makeSource( classLoader, MethodNameHelper.encodeClassName( 
facade.getFacadeClass() ), new PublicationDescriptionItem[]{facade} );
               }
           }
  +        if( getCallbackFacades() != null )
  +        {
  +            for( int i = 0; i < getCallbackFacades().length; i++ )
  +            {
  +                PublicationDescriptionItem facade = getCallbackFacades()[ i 
];
  +
  +                makeSource( classLoader, MethodNameHelper.encodeClassName( 
facade.getFacadeClass() ), new PublicationDescriptionItem[]{facade} );
  +            }
  +        }
   
       }
   
  @@ -135,6 +144,18 @@
   
                   jc.doCompile( getSrcGenDir() + File.separator + 
"AltrmiGenerated"
                           + getGenName() + "_" + classname + ".java" );
  +                System.out.println( jc.getCompilerMessage() );
  +            }
  +        }
  +        if( getCallbackFacades() != null )
  +        {
  +            for( int i = 0; i < getCallbackFacades().length; i++ )
  +            {
  +                String classname = MethodNameHelper.encodeClassName( 
getCallbackFacades()[ i ].getFacadeClass() );
  +
  +                jc.doCompile( getSrcGenDir() + File.separator + 
"AltrmiGenerated"
  +                        + getGenName() + "_" + classname + ".java" );
  +                System.out.println( jc.getCompilerMessage() );
               }
           }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to