hammant     02/01/29 02:42:18

  Modified:    altrmi/src/java/org/apache/commons/altrmi/server/impl
                        AbstractServer.java
               altrmi/src/java/org/apache/commons/altrmi/server/impl/direct
                        DirectMarshalledServer.java DirectServer.java
               altrmi/src/java/org/apache/commons/altrmi/test
                        DirectMarshalledTest.java
  Log:
  Two direct servers more modular now, in that they can take preexiting invocation 
handlers.
  
  Revision  Changes    Path
  1.18      +5 -2      
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.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- AbstractServer.java       29 Jan 2002 10:05:00 -0000      1.17
  +++ AbstractServer.java       29 Jan 2002 10:42:18 -0000      1.18
  @@ -29,13 +29,13 @@
    *
    *
    * @author Paul Hammant <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
  - * @version $Revision: 1.17 $
  + * @version $Revision: 1.18 $
    */
   public abstract class AbstractServer extends AbstractMethodHandler implements 
AltrmiServer {
   
   
       private Vector mConnections = new Vector();
  -    private InovcationHandlerAdapter mInovcationHandlerAdapter;
  +    protected InovcationHandlerAdapter mInovcationHandlerAdapter;
       protected static final int SHUTTINGDOWN = 11;
       protected static final int STARTED = 22;
       protected static final int STOPPED = 33;
  @@ -46,6 +46,9 @@
           mInovcationHandlerAdapter = new InovcationHandlerAdapter();
       }
   
  +    public AbstractServer(InovcationHandlerAdapter inovcationHandlerAdapter) {
  +        mInovcationHandlerAdapter = inovcationHandlerAdapter;
  +    }
   
   
   
  
  
  
  1.3       +64 -2     
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/direct/DirectMarshalledServer.java
  
  Index: DirectMarshalledServer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/direct/DirectMarshalledServer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DirectMarshalledServer.java       28 Jan 2002 14:04:54 -0000      1.2
  +++ DirectMarshalledServer.java       29 Jan 2002 10:42:18 -0000      1.3
  @@ -1,3 +1,4 @@
  +
   /*
    * Copyright (C) The Apache Software Foundation. All rights reserved.
    *
  @@ -10,10 +11,13 @@
   
   
   import org.apache.commons.altrmi.server.impl.AbstractServer;
  +import org.apache.commons.altrmi.server.impl.adapters.InovcationHandlerAdapter;
  +import 
org.apache.commons.altrmi.server.impl.adapters.MarshalledInovcationHandlerAdapter;
   import org.apache.commons.altrmi.server.AltrmiServerException;
   import org.apache.commons.altrmi.common.AltrmiReply;
   import org.apache.commons.altrmi.common.AltrmiRequest;
   import org.apache.commons.altrmi.common.AltrmiInvocationException;
  +import org.apache.commons.altrmi.common.AltrmiMarshalledInvocationHandler;
   
   
   /**
  @@ -21,11 +25,52 @@
    *
    *
    * @author Paul Hammant <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
  -public class DirectMarshalledServer extends AbstractServer {
  +public class DirectMarshalledServer extends AbstractServer
  +        implements AltrmiMarshalledInvocationHandler {
  +
  +    MarshalledInovcationHandlerAdapter mMarshalledInovcationHandlerAdapter;
  +
  +    /**
  +     * Constructor DirectMarshalledServer makes a new InovcationHandlerAdapter.
  +     *
  +     *
  +     */
  +    public DirectMarshalledServer() {
  +        mMarshalledInovcationHandlerAdapter = new 
MarshalledInovcationHandlerAdapter(this);
  +    }
  +
  +    /**
  +     * Constructor DirectMarshalledServer for use with pre-exiting 
InovcationHandlerAdapter.
  +     *
  +     *
  +     * @param inovcationHandlerAdapter
  +     *
  +     */
  +    public DirectMarshalledServer(InovcationHandlerAdapter 
inovcationHandlerAdapter) {
   
  +        super(inovcationHandlerAdapter);
   
  +        mMarshalledInovcationHandlerAdapter = new 
MarshalledInovcationHandlerAdapter(this);
  +    }
  +
  +    /**
  +     * Constructor DirectMarshalledServer for use with pre-exiting 
InovcationHandlerAdapter and MarshalledInvocationHandler
  +     *
  +     *
  +     * @param inovcationHandlerAdapter
  +     * @param marshalledInovcationHandlerAdapter
  +     *
  +     */
  +    public DirectMarshalledServer(
  +            InovcationHandlerAdapter inovcationHandlerAdapter,
  +            MarshalledInovcationHandlerAdapter marshalledInovcationHandlerAdapter) {
  +
  +        super(inovcationHandlerAdapter);
  +
  +        mMarshalledInovcationHandlerAdapter = marshalledInovcationHandlerAdapter;
  +    }
   
       /**
        * Method start
  @@ -40,8 +85,11 @@
        *
        */
       public void stop() {
  +
           mState = SHUTTINGDOWN;
  +
           killAllConnections();
  +
           mState = STOPPED;
       }
   
  @@ -54,7 +102,21 @@
        * @return
        *
        */
  +    public byte[] handleInvocation(byte[] request) {
  +        return mMarshalledInovcationHandlerAdapter.handleInvocation(request);
  +    }
  +
  +    /**
  +     * Method handleInvocation
  +     *
  +     *
  +     * @param request
  +     *
  +     * @return
  +     *
  +     */
       public AltrmiReply handleInvocation(AltrmiRequest request) {
  +
           if (mState == STARTED) {
               return super.handleInvocation(request);
           } else {
  
  
  
  1.3       +23 -1     
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/direct/DirectServer.java
  
  Index: DirectServer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/direct/DirectServer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DirectServer.java 28 Jan 2002 14:04:54 -0000      1.2
  +++ DirectServer.java 29 Jan 2002 10:42:18 -0000      1.3
  @@ -1,3 +1,4 @@
  +
   /*
    * Copyright (C) The Apache Software Foundation. All rights reserved.
    *
  @@ -10,6 +11,7 @@
   
   
   import org.apache.commons.altrmi.server.impl.AbstractServer;
  +import org.apache.commons.altrmi.server.impl.adapters.InovcationHandlerAdapter;
   import org.apache.commons.altrmi.server.AltrmiServerException;
   import org.apache.commons.altrmi.common.AltrmiReply;
   import org.apache.commons.altrmi.common.AltrmiRequest;
  @@ -21,11 +23,27 @@
    *
    *
    * @author Paul Hammant <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
   public class DirectServer extends AbstractServer {
   
  +    /**
  +     * Constructor DirectServer makes a new InovcationHandlerAdapter.
  +     *
  +     *
  +     */
  +    public DirectServer() {}
   
  +    /**
  +     * Constructor DirectServer for use with pre-exiting InovcationHandlerAdapter.
  +     *
  +     *
  +     * @param inovcationHandlerAdapter
  +     *
  +     */
  +    public DirectServer(InovcationHandlerAdapter inovcationHandlerAdapter) {
  +        super(inovcationHandlerAdapter);
  +    }
   
       /**
        * Method start
  @@ -40,8 +58,11 @@
        *
        */
       public void stop() {
  +
           mState = SHUTTINGDOWN;
  +
           killAllConnections();
  +
           mState = STOPPED;
       }
   
  @@ -55,6 +76,7 @@
        *
        */
       public AltrmiReply handleInvocation(AltrmiRequest request) {
  +
           if (mState == STARTED) {
               return super.handleInvocation(request);
           } else {
  
  
  
  1.3       +3 -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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DirectMarshalledTest.java 28 Jan 2002 14:04:55 -0000      1.2
  +++ DirectMarshalledTest.java 29 Jan 2002 10:42:18 -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 DirectMarshalledTest {
   
  @@ -62,7 +62,7 @@
           ds.publish(ti, "Hello", TestInterface.class, TestInterface2.class);
           ds.start();
   
  -        DirectMarshalledTestClient dtc = new DirectMarshalledTestClient(new 
MarshalledInovcationHandlerAdapter(ds));
  +        DirectMarshalledTestClient dtc = new DirectMarshalledTestClient(ds);
           Thread thread = new Thread(dtc);
   
           thread.start();
  @@ -73,7 +73,7 @@
        *
        *
        * @author Paul Hammant <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
  -     * @version $Revision: 1.2 $
  +     * @version $Revision: 1.3 $
        */
       static class DirectMarshalledTestClient implements Runnable {
   
  
  
  

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

Reply via email to