You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2002/01/10 18:14:35 UTC

cvs commit: jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/subscription AbstractSubscriber.java RmiSubscriber.java SocketObjectStreamSubscriber.java

hammant     02/01/10 09:14:35

  Modified:    src/java/org/apache/avalon/cornerstone/blocks/transport/publishing
                        AbstractPublisher.java RmiPublisher.java
                        SocketObjectStreamConnectionHandler.java
                        SocketObjectStreamPublisher.java
               src/java/org/apache/avalon/cornerstone/blocks/transport/subscription
                        AbstractSubscriber.java RmiSubscriber.java
                        SocketObjectStreamSubscriber.java
  Added:       src/java/org/apache/avalon/cornerstone/blocks/transport/autopublishing
                        AutoPublisher.java
  Log:
  reformat to Cornerstone style
  
  Revision  Changes    Path
  1.1                  jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/autopublishing/AutoPublisher.java
  
  Index: AutoPublisher.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 file.
   */
  package org.apache.avalon.cornerstone.blocks.transport.autopublishing;
  
  import org.apache.commons.altrmi.server.AltrmiPublisher;
  import org.apache.commons.altrmi.server.AltrmiPublicationException;
  import org.apache.avalon.phoenix.BlockListener;
  import org.apache.avalon.phoenix.BlockEvent;
  import org.apache.avalon.phoenix.Block;
  import org.apache.avalon.phoenix.metainfo.BlockInfo;
  import org.apache.avalon.phoenix.metainfo.ServiceDescriptor;
  import org.apache.avalon.framework.configuration.Configurable;
  import org.apache.avalon.framework.configuration.Configuration;
  import org.apache.avalon.framework.configuration.ConfigurationException;
  
  import java.util.Vector;
  
  /**
   * Class AutoPublisher
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public class AutoPublisher
     implements BlockListener, Configurable
  {
     private AltrmiPublisher mAltrmiPublisher;
     private Vector          mServicesToPublish = new Vector();
     private Vector          mPublishAsNames    = new Vector();
  
     /**
      *
      *
      *      IN PROGRESS & UNFINISHED - PAUL H
      *
      *
      */
  
  
     /**
      * Pass the <code>Configuration</code> to the <code>Configurable</code>
      * class. This method must always be called after the constructor
      * and before any other method.
      *
      * @param configuration the class configurations.
      */
     public void configure (final Configuration configuration)
        throws ConfigurationException
     {
        System.out.println("AutoPublisher.configure() called!");
  
        Configuration[] publications =
           configuration.getChildren("publications");
  
        for (int i = 0; i < publications.length; i++)
        {
           Configuration publication = publications [i];
  
           System.out.println("publications " + publication);
        }
     }
  
     /**
      * Notification that a block has just been added
      * to Server Application.
      *
      * @param event the BlockEvent
      */
  
     public void blockAdded (final BlockEvent event)
     {
        try
        {
           if (mServicesToPublish.contains(event.getName()))
           {
              int                 ix         =
                 mServicesToPublish.indexOf(event.getName());
              Block               block      = event.getBlock();
              BlockInfo           bi         = event.getBlockInfo();
              ServiceDescriptor[] sd         = bi.getServices();
              Vector              classNames = new Vector();
  
              for (int i = 0; i < sd.length; i++)
              {
                 ServiceDescriptor descriptor = sd [i];
                 Class             clazz      =
                    Class.forName(descriptor.getName());
  
                 classNames.add(clazz);
              }
  
              Class[] classes = new Class [classNames.size()];
  
              classNames.copyInto(classes);
              //mAltrmiPublisher.publish(block,
              //                         ( String ) mPublishAsNames.elementAt(ix),
              //                         classes);
           }
        }
        catch (ClassNotFoundException cnfe)
        {
           cnfe.printStackTrace();
  
           // TODO ?
        }
        catch (AltrmiPublicationException ape)
        {
           ape.printStackTrace();
  
           // TODO ?
        }
     }
  
     /**
      * Notification that a block is just about to be
      * removed from Server Application.
      *
      * @param event the BlockEvent
      */
  
     public void blockRemoved (final BlockEvent event)
     {
        System.out.println("Removed block '" + event.getName() + "'");
     }
  }
  
  
  
  1.3       +228 -183  jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractPublisher.java
  
  Index: AbstractPublisher.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractPublisher.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractPublisher.java	10 Jan 2002 11:18:24 -0000	1.2
  +++ AbstractPublisher.java	10 Jan 2002 17:14:34 -0000	1.3
  @@ -24,10 +24,8 @@
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.phoenix.Block;
  -
   import java.util.StringTokenizer;
   import java.util.Vector;
  -
   import java.net.MalformedURLException;
   
   
  @@ -36,190 +34,237 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
  -public abstract class AbstractPublisher extends AbstractLogEnabled
  -        implements AltrmiPublisher, Startable, Configurable, Initializable, Block {
  -
  -    protected AltrmiServer mAltrmiServer;
  -    private ClassRetriever mClassRetriever;
   
  -    /**
  -     * Pass the <code>Configuration</code> to the <code>Configurable</code>
  -     * class. This method must always be called after the constructor
  -     * and before any other method.
  -     *
  -     * @param configuration the class configurations.
  -     */
  -    public void configure(Configuration configuration) throws ConfigurationException {
  -
  -        String classRetrieverType = configuration.getChild("classRetrieverType").getValue();
  -
  -        if (classRetrieverType.equals("jarFile")) {
  -            StringTokenizer st =
  -                new StringTokenizer(configuration.getChild("gerneratedClassJarURLs").getValue(),
  -                                    ",");
  -            Vector vector = new Vector();
  -
  -            while (st.hasMoreTokens()) {
  -                vector.add(st.nextToken());
  +public abstract class AbstractPublisher
  +   extends AbstractLogEnabled
  +   implements AltrmiPublisher, Startable, Configurable, Initializable, Block
  +{
  +   protected AltrmiServer mAltrmiServer;
  +   private ClassRetriever mClassRetriever;
  +
  +   /**
  +    * Pass the <code>Configuration</code> to the <code>Configurable</code>
  +    * class. This method must always be called after the constructor
  +    * and before any other method.
  +    *
  +    * @param configuration the class configurations.
  +    */
  +
  +   public void configure (Configuration configuration)
  +      throws ConfigurationException
  +   {
  +      String classRetrieverType =
  +         configuration.getChild("classRetrieverType").getValue();
  +
  +      if (classRetrieverType.equals("jarFile"))
  +      {
  +         StringTokenizer st     = new StringTokenizer(
  +            configuration.getChild("gerneratedClassJarURLs").getValue(), ",");
  +         Vector          vector = new Vector();
  +
  +         while (st.hasMoreTokens())
  +         {
  +            vector.add(st.nextToken());
  +         }
  +
  +         String[] urls = new String [vector.size()];
  +
  +         vector.copyInto(urls);
  +
  +         try
  +         {
  +            mClassRetriever = new JarFileClassRetriever(urls);
  +         }
  +         catch (MalformedURLException mufe)
  +         {
  +            throw new ConfigurationException("URL Invalid", mufe);
  +         }
  +      }
  +      else
  +         if (classRetrieverType.equals("baseMobileClass"))
  +         {
  +            mClassRetriever = new BaseMobileClassRetriever();
  +         }
  +         else
  +            if (classRetrieverType.equals("none"))
  +            {
  +               mClassRetriever = new NoClassRetriever();
               }
  +            else
  +            {
  +               throw new ConfigurationException(
  +                  "classRetrieverType must be 'baseMobileClass', 'jarFile' or 'none'");
  +            }
  +   }
   
  -            String[] urls = new String[vector.size()];
  +   /**
  +    * Initialialize the component. Initialization includes
  +    * allocating any resources required throughout the
  +    * components lifecycle.
  +    *
  +    * @exception Exception if an error occurs
  +    */
  +
  +   public void initialize ()
  +      throws Exception
  +   {
  +      mAltrmiServer.setClassRetriever(mClassRetriever);
  +   }
  +
  +   /**
  +    * Method publish
  +    *
  +    *
  +    * @param o
  +    * @param s
  +    * @param aClass
  +    *
  +    * @throws AltrmiPublicationException
  +    *
  +    */
  +
  +   public void publish (Object o, String s, Class aClass)
  +      throws AltrmiPublicationException
  +   {
  +      mAltrmiServer.publish(o, s, aClass);
  +   }
  +
  +   /**
  +    * Method publish
  +    *
  +    *
  +    * @param o
  +    * @param s
  +    * @param aClass
  +    * @param aClass1
  +    *
  +    * @throws AltrmiPublicationException
  +    *
  +    */
  +
  +   public void publish (Object o, String s, Class aClass, Class aClass1)
  +      throws AltrmiPublicationException
  +   {
  +      mAltrmiServer.publish(o, s, aClass, aClass1);
  +   }
  +
  +   /**
  +    * Method publish
  +    *
  +    *
  +    * @param o
  +    * @param s
  +    * @param aClass
  +    * @param classes
  +    *
  +    * @throws AltrmiPublicationException
  +    *
  +    */
  +
  +   public void publish (Object o, String s, Class aClass, Class[] classes)
  +      throws AltrmiPublicationException
  +   {
  +      mAltrmiServer.publish(o, s, aClass, classes);
  +   }
  +
  +   /**
  +    * Method publish
  +    *
  +    *
  +    * @param o
  +    * @param s
  +    * @param classes
  +    *
  +    * @throws AltrmiPublicationException
  +    *
  +    */
  +
  +   public void publish (Object o, String s, Class[] classes)
  +      throws AltrmiPublicationException
  +   {
  +      mAltrmiServer.publish(o, s, classes);
  +   }
  +
  +   /**
  +    * Method publish
  +    *
  +    *
  +    * @param o
  +    * @param s
  +    * @param classes
  +    * @param classes1
  +    *
  +    * @throws AltrmiPublicationException
  +    *
  +    */
  +
  +   public void publish (Object o, String s, Class[] classes, Class[] classes1)
  +      throws AltrmiPublicationException
  +   {
  +      mAltrmiServer.publish(o, s, classes, classes1);
  +   }
  +
  +   /**
  +    * Method unPublish
  +    *
  +    *
  +    * @param o
  +    * @param s
  +    *
  +    * @throws AltrmiPublicationException
  +    *
  +    */
  +
  +   public void unPublish (Object o, String s)
  +      throws AltrmiPublicationException
  +   {
  +      mAltrmiServer.unPublish(o, s);
  +   }
  +
  +   /**
  +    * Method replacePublished
  +    *
  +    *
  +    * @param o
  +    * @param s
  +    * @param o1
  +    *
  +    * @throws AltrmiPublicationException
  +    *
  +    */
  +
  +   public void replacePublished (Object o, String s, Object o1)
  +      throws AltrmiPublicationException
  +   {
  +      mAltrmiServer.replacePublished(o, s, o1);
  +   }
  +
  +   /**
  +    * Starts the component.
  +    *
  +    * @exception Exception if Component can not be started
  +    */
  +
  +   public void start ()
  +      throws Exception
  +   {
  +      mAltrmiServer.start();
  +   }
  +
  +   /**
  +    * Stops the component.
  +    *
  +    * @exception Exception if the Component can not be Stopped.
  +    */
  +
  +   public void stop ()
  +      throws Exception
  +   {
  +      mAltrmiServer.stop();
  +   }
  +}
   
  -            vector.copyInto(urls);
   
  -            try {
  -                mClassRetriever = new JarFileClassRetriever(urls);
  -            } catch (MalformedURLException mufe) {
  -                throw new ConfigurationException("URL Invalid", mufe);
  -            }
  -        } else if (classRetrieverType.equals("baseMobileClass")) {
  -            mClassRetriever = new BaseMobileClassRetriever();
  -        } else if (classRetrieverType.equals("none")) {
  -            mClassRetriever = new NoClassRetriever();
  -        } else {
  -            throw new ConfigurationException("classRetrieverType must be 'baseMobileClass', 'jarFile' or 'none'");
  -        }
  -    }
  -
  -    /**
  -     * Initialialize the component. Initialization includes
  -     * allocating any resources required throughout the
  -     * components lifecycle.
  -     *
  -     * @exception Exception if an error occurs
  -     */
  -    public void initialize() throws Exception {
  -        mAltrmiServer.setClassRetriever(mClassRetriever);
  -    }
  -
  -    /**
  -     * Method publish
  -     *
  -     *
  -     * @param o
  -     * @param s
  -     * @param aClass
  -     *
  -     * @throws AltrmiPublicationException
  -     *
  -     */
  -    public void publish(Object o, String s, Class aClass) throws AltrmiPublicationException {
  -        mAltrmiServer.publish(o, s, aClass);
  -    }
  -
  -    /**
  -     * Method publish
  -     *
  -     *
  -     * @param o
  -     * @param s
  -     * @param aClass
  -     * @param aClass1
  -     *
  -     * @throws AltrmiPublicationException
  -     *
  -     */
  -    public void publish(Object o, String s, Class aClass, Class aClass1)
  -            throws AltrmiPublicationException {
  -        mAltrmiServer.publish(o, s, aClass, aClass1);
  -    }
  -
  -    /**
  -     * Method publish
  -     *
  -     *
  -     * @param o
  -     * @param s
  -     * @param aClass
  -     * @param classes
  -     *
  -     * @throws AltrmiPublicationException
  -     *
  -     */
  -    public void publish(Object o, String s, Class aClass, Class[] classes)
  -            throws AltrmiPublicationException {
  -        mAltrmiServer.publish(o, s, aClass, classes);
  -    }
  -
  -    /**
  -     * Method publish
  -     *
  -     *
  -     * @param o
  -     * @param s
  -     * @param classes
  -     *
  -     * @throws AltrmiPublicationException
  -     *
  -     */
  -    public void publish(Object o, String s, Class[] classes) throws AltrmiPublicationException {
  -        mAltrmiServer.publish(o, s, classes);
  -    }
  -
  -    /**
  -     * Method publish
  -     *
  -     *
  -     * @param o
  -     * @param s
  -     * @param classes
  -     * @param classes1
  -     *
  -     * @throws AltrmiPublicationException
  -     *
  -     */
  -    public void publish(Object o, String s, Class[] classes, Class[] classes1)
  -            throws AltrmiPublicationException {
  -        mAltrmiServer.publish(o, s, classes, classes1);
  -    }
  -
  -    /**
  -     * Method unPublish
  -     *
  -     *
  -     * @param o
  -     * @param s
  -     *
  -     * @throws AltrmiPublicationException
  -     *
  -     */
  -    public void unPublish(Object o, String s) throws AltrmiPublicationException {
  -        mAltrmiServer.unPublish(o, s);
  -    }
  -
  -    /**
  -     * Method replacePublished
  -     *
  -     *
  -     * @param o
  -     * @param s
  -     * @param o1
  -     *
  -     * @throws AltrmiPublicationException
  -     *
  -     */
  -    public void replacePublished(Object o, String s, Object o1)
  -            throws AltrmiPublicationException {
  -        mAltrmiServer.replacePublished(o, s, o1);
  -    }
  -
  -    /**
  -     * Starts the component.
  -     *
  -     * @exception Exception if Component can not be started
  -     */
  -    public void start() throws Exception {
  -        mAltrmiServer.start();
  -    }
  -
  -    /**
  -     * Stops the component.
  -     *
  -     * @exception Exception if the Component can not be Stopped.
  -     */
  -    public void stop() throws Exception {
  -        mAltrmiServer.stop();
  -    }
  -}
  +/*------ Formatted by Jindent 3.24 Basic 1.0 --- http://www.jindent.de ------*/
  
  
  
  1.2       +40 -31    jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/RmiPublisher.java
  
  Index: RmiPublisher.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/RmiPublisher.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RmiPublisher.java	9 Jan 2002 21:40:04 -0000	1.1
  +++ RmiPublisher.java	10 Jan 2002 17:14:34 -0000	1.2
  @@ -20,39 +20,48 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
  -public class RmiPublisher extends AbstractPublisher {
   
  -    private String mHost;
  -    private int mPort;
  +public class RmiPublisher
  +   extends AbstractPublisher
  +{
  +   private String mHost;
  +   private int    mPort;
  +
  +   /**
  +    * Pass the <code>Configuration</code> to the <code>Configurable</code>
  +    * class. This method must always be called after the constructor
  +    * and before any other method.
  +    *
  +    * @param configuration the class configurations.
  +    */
  +
  +   public void configure (Configuration configuration)
  +      throws ConfigurationException
  +   {
  +      super.configure(configuration);
  +
  +      mPort = configuration.getChild("port").getValueAsInteger();
  +      mHost = configuration.getChild("host").getValue();
  +   }
  +
  +   /**
  +    * Initialialize the component. Initialization includes
  +    * allocating any resources required throughout the
  +    * components lifecycle.
  +    *
  +    * @exception Exception if an error occurs
  +    */
  +
  +   public void initialize ()
  +      throws Exception
  +   {
  +      mAltrmiServer = new RmiServer(mHost, mPort);
   
  -    /**
  -     * Pass the <code>Configuration</code> to the <code>Configurable</code>
  -     * class. This method must always be called after the constructor
  -     * and before any other method.
  -     *
  -     * @param configuration the class configurations.
  -     */
  -    public void configure(Configuration configuration) throws ConfigurationException {
  -
  -        super.configure(configuration);
  -
  -        mPort = configuration.getChild("port").getValueAsInteger();
  -        mHost = configuration.getChild("host").getValue();
  -    }
  -
  -    /**
  -     * Initialialize the component. Initialization includes
  -     * allocating any resources required throughout the
  -     * components lifecycle.
  -     *
  -     * @exception Exception if an error occurs
  -     */
  -    public void initialize() throws Exception {
  +      super.initialize();
  +   }
  +}
   
  -        mAltrmiServer = new RmiServer(mHost, mPort);
   
  -        super.initialize();
  -    }
  -}
  +/*------ Formatted by Jindent 3.24 Basic 1.0 --- http://www.jindent.de ------*/
  
  
  
  1.2       +33 -22    jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamConnectionHandler.java
  
  Index: SocketObjectStreamConnectionHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamConnectionHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SocketObjectStreamConnectionHandler.java	9 Jan 2002 22:48:45 -0000	1.1
  +++ SocketObjectStreamConnectionHandler.java	10 Jan 2002 17:14:34 -0000	1.2
  @@ -1,41 +1,52 @@
  +
   /*
    * Created by IntelliJ IDEA.
    * User: Administrator
    * Date: Jan 9, 2002
    * Time: 10:25:12 PM
  - * To change template for new class use 
  + * To change template for new class use
    * Code Style | Class Templates options (Tools | IDE Options).
    */
   package org.apache.avalon.cornerstone.blocks.transport.publishing;
   
  +
  +
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
   import org.apache.commons.altrmi.server.impl.socket.PartialSocketObjectStreamServer;
  -
   import java.net.Socket;
   import java.net.ProtocolException;
   import java.io.IOException;
   
  -public class SocketObjectStreamConnectionHandler extends AbstractLogEnabled
  -    implements Component, ConnectionHandler {
   
  -    private PartialSocketObjectStreamServer m_PartialSocketObjectStreamServer;
  -
  -    public SocketObjectStreamConnectionHandler(PartialSocketObjectStreamServer partialSocketObjectStreamServer) {
  -        m_PartialSocketObjectStreamServer = partialSocketObjectStreamServer;
  -    }
  -
  -    /**
  -     * Handle a connection.
  -     * This handler is responsible for processing connections as they occur.
  -     *
  -     * @param connection the connection
  -     * @exception IOException if an error reading from socket occurs
  -     * @exception ProtocolException if an error handling connection occurs
  -     */
  -    public void handleConnection(Socket connection)
  -            throws IOException, ProtocolException {
  -        m_PartialSocketObjectStreamServer.handleConnection(connection);
  -    }
  +public class SocketObjectStreamConnectionHandler
  +   extends AbstractLogEnabled
  +   implements Component, ConnectionHandler
  +{
  +   private PartialSocketObjectStreamServer m_PartialSocketObjectStreamServer;
  +
  +   public SocketObjectStreamConnectionHandler (
  +           PartialSocketObjectStreamServer partialSocketObjectStreamServer)
  +   {
  +      m_PartialSocketObjectStreamServer = partialSocketObjectStreamServer;
  +   }
  +
  +   /**
  +    * Handle a connection.
  +    * This handler is responsible for processing connections as they occur.
  +    *
  +    * @param connection the connection
  +    * @exception IOException if an error reading from socket occurs
  +    * @exception ProtocolException if an error handling connection occurs
  +    */
  +
  +   public void handleConnection (Socket connection)
  +      throws IOException, ProtocolException
  +   {
  +      m_PartialSocketObjectStreamServer.handleConnection(connection);
  +   }
   }
  +
  +
  +/*------ Formatted by Jindent 3.24 Basic 1.0 --- http://www.jindent.de ------*/
  
  
  
  1.3       +101 -75   jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamPublisher.java
  
  Index: SocketObjectStreamPublisher.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamPublisher.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SocketObjectStreamPublisher.java	9 Jan 2002 22:48:45 -0000	1.2
  +++ SocketObjectStreamPublisher.java	10 Jan 2002 17:14:34 -0000	1.3
  @@ -8,6 +8,8 @@
    */
   package org.apache.avalon.cornerstone.blocks.transport.publishing;
   
  +
  +
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.framework.component.Composable;
  @@ -19,7 +21,6 @@
   import org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory;
   import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
   import org.apache.commons.altrmi.server.impl.socket.PartialSocketObjectStreamServer;
  -
   import java.net.InetAddress;
   import java.net.UnknownHostException;
   import java.net.ServerSocket;
  @@ -30,81 +31,106 @@
    *
    *
    * @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 SocketObjectStreamPublisher extends AbstractPublisher implements Composable, ConnectionHandlerFactory {
   
  -    private SocketManager m_socketManager;
  -    private ConnectionManager m_connectionManager;
  -    private int m_port;
  -    private InetAddress m_bindTo;
  -
  -    /**
  -     * Pass the <code>Configuration</code> to the <code>Configurable</code>
  -     * class. This method must always be called after the constructor
  -     * and before any other method.
  -     *
  -     * @param configuration the class configurations.
  -     */
  -    public void configure(Configuration configuration) throws ConfigurationException {
  -
  -        super.configure(configuration);
  -        m_port = configuration.getChild("port").getValueAsInteger();
  -        try
  -        {
  -            final String bindAddress = configuration.getChild( "bind" ).getValue();
  -            m_bindTo = InetAddress.getByName( bindAddress );
  -        }
  -        catch( final UnknownHostException unhe )
  -        {
  -            throw new ConfigurationException( "Malformed bind parameter", unhe );
  -        }
  -
  -    }
  -
  -    public void compose(ComponentManager manager) throws ComponentException {
  -        m_socketManager = (SocketManager)manager.lookup( SocketManager.ROLE );
  -        m_connectionManager = (ConnectionManager)manager.lookup( ConnectionManager.ROLE );
  -    }
  -
  -    /**
  -     * Construct an appropriate ConnectionHandler.
  -     *
  -     * @return the new ConnectionHandler
  -     * @exception Exception if an error occurs
  -     */
  -    public ConnectionHandler createConnectionHandler()
  -            throws Exception {
  -        final SocketObjectStreamConnectionHandler handler = new SocketObjectStreamConnectionHandler( (PartialSocketObjectStreamServer) mAltrmiServer );
  -        setupLogger( handler );
  -        return handler;
  -    }
  -
  -    /**
  -     * Release a previously created ConnectionHandler.
  -     * e.g. for spooling.
  -     */
  -    public void releaseConnectionHandler(ConnectionHandler connectionHandler) {
  -    }
  -
  -    /**
  -     * Initialialize the component. Initialization includes
  -     * allocating any resources required throughout the
  -     * components lifecycle.
  -     *
  -     * @exception Exception if an error occurs
  -     */
  -    public void initialize() throws Exception {
  -
  -        mAltrmiServer = new PartialSocketObjectStreamServer();
  -
  -        super.initialize();
  -
  -        final ServerSocketFactory factory =
  -            m_socketManager.getServerSocketFactory( "plain" );
  -        final ServerSocket serverSocket = factory.createServerSocket( m_port, 5, m_bindTo );
  +public class SocketObjectStreamPublisher
  +   extends AbstractPublisher
  +   implements Composable, ConnectionHandlerFactory
  +{
  +   private SocketManager     m_socketManager;
  +   private ConnectionManager m_connectionManager;
  +   private int               m_port;
  +   private InetAddress       m_bindTo;
  +
  +   /**
  +    * Pass the <code>Configuration</code> to the <code>Configurable</code>
  +    * class. This method must always be called after the constructor
  +    * and before any other method.
  +    *
  +    * @param configuration the class configurations.
  +    */
  +
  +   public void configure (Configuration configuration)
  +      throws ConfigurationException
  +   {
  +      super.configure(configuration);
  +
  +      m_port = configuration.getChild("port").getValueAsInteger();
  +
  +      try
  +      {
  +         final String bindAddress = configuration.getChild("bind").getValue();
  +
  +         m_bindTo = InetAddress.getByName(bindAddress);
  +      }
  +      catch (final UnknownHostException unhe)
  +      {
  +         throw new ConfigurationException("Malformed bind parameter", unhe);
  +      }
  +   }
  +
  +   public void compose (ComponentManager manager)
  +      throws ComponentException
  +   {
  +      m_socketManager     =
  +         ( SocketManager ) manager.lookup(SocketManager.ROLE);
  +      m_connectionManager =
  +         ( ConnectionManager ) manager.lookup(ConnectionManager.ROLE);
  +   }
  +
  +   /**
  +    * Construct an appropriate ConnectionHandler.
  +    *
  +    * @return the new ConnectionHandler
  +    * @exception Exception if an error occurs
  +    */
  +
  +   public ConnectionHandler createConnectionHandler ()
  +      throws Exception
  +   {
  +      final SocketObjectStreamConnectionHandler handler =
  +         new SocketObjectStreamConnectionHandler(
  +            ( PartialSocketObjectStreamServer ) mAltrmiServer);
  +
  +      setupLogger(handler);
  +
  +      return handler;
  +   }
  +
  +   /**
  +    * Release a previously created ConnectionHandler.
  +    * e.g. for spooling.
  +    */
  +
  +   public void releaseConnectionHandler (ConnectionHandler connectionHandler)
  +   {
  +   }
  +
  +   /**
  +    * Initialialize the component. Initialization includes
  +    * allocating any resources required throughout the
  +    * components lifecycle.
  +    *
  +    * @exception Exception if an error occurs
  +    */
  +
  +   public void initialize ()
  +      throws Exception
  +   {
  +      mAltrmiServer = new PartialSocketObjectStreamServer();
  +
  +      super.initialize();
  +
  +      final ServerSocketFactory factory      =
  +         m_socketManager.getServerSocketFactory("plain");
  +      final ServerSocket        serverSocket =
  +         factory.createServerSocket(m_port, 5, m_bindTo);
  +
  +      m_connectionManager.connect("SocketObjectStreamListener", serverSocket,
  +                                  this);
  +   }
  +}
   
  -        m_connectionManager.connect( "SocketObjectStreamListener", serverSocket, this );
   
  -    }
  -}
  +/*------ Formatted by Jindent 3.24 Basic 1.0 --- http://www.jindent.de ------*/
  
  
  
  1.2       +60 -41    jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/subscription/AbstractSubscriber.java
  
  Index: AbstractSubscriber.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/subscription/AbstractSubscriber.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractSubscriber.java	9 Jan 2002 21:40:04 -0000	1.1
  +++ AbstractSubscriber.java	10 Jan 2002 17:14:35 -0000	1.2
  @@ -8,6 +8,8 @@
    */
   package org.apache.avalon.cornerstone.blocks.transport.subscription;
   
  +
  +
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.avalon.framework.configuration.Configurable;
   import org.apache.avalon.framework.configuration.ConfigurationException;
  @@ -27,49 +29,66 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
  -public abstract class AbstractSubscriber extends AbstractLogEnabled
  -        implements AltrmiInterfaceLookup, Configurable, Initializable, Block {
   
  -    protected AltrmiFactory mAltrmiFactory;
  -    protected AltrmiHostContext mHostContext;
  -
  -    /**
  -     * Pass the <code>Configuration</code> to the <code>Configurable</code>
  -     * class. This method must always be called after the constructor
  -     * and before any other method.
  -     *
  -     * @param configuration the class configurations.
  -     */
  -    public void configure(Configuration configuration) throws ConfigurationException {
  -
  -        String proxyClassLocation = configuration.getChild("proxyClassLocation").getValue();
  -
  -        if (proxyClassLocation.equals("client")) {
  -            mAltrmiFactory = new ClientClassAltrmiFactory();
  -        } else if (proxyClassLocation.equals("server")) {
  +public abstract class AbstractSubscriber
  +   extends AbstractLogEnabled
  +   implements AltrmiInterfaceLookup, Configurable, Initializable, Block
  +{
  +   protected AltrmiFactory     mAltrmiFactory;
  +   protected AltrmiHostContext mHostContext;
  +
  +   /**
  +    * Pass the <code>Configuration</code> to the <code>Configurable</code>
  +    * class. This method must always be called after the constructor
  +    * and before any other method.
  +    *
  +    * @param configuration the class configurations.
  +    */
  +
  +   public void configure (Configuration configuration)
  +      throws ConfigurationException
  +   {
  +      String proxyClassLocation =
  +         configuration.getChild("proxyClassLocation").getValue();
  +
  +      if (proxyClassLocation.equals("client"))
  +      {
  +         mAltrmiFactory = new ClientClassAltrmiFactory();
  +      }
  +      else
  +         if (proxyClassLocation.equals("server"))
  +         {
               mAltrmiFactory = new ServerClassAltrmiFactory();
  -        } else {
  -            throw new ConfigurationException("proxyClassLocation must be 'client' or 'server'");
  -        }
  -    }
  -
  -    public Object lookup(String s) throws AltrmiConnectionException {
  -        return mAltrmiFactory.lookup(s);
  -    }
  -
  -
  +         }
  +         else
  +         {
  +            throw new ConfigurationException(
  +               "proxyClassLocation must be 'client' or 'server'");
  +         }
  +   }
  +
  +   public Object lookup (String s)
  +      throws AltrmiConnectionException
  +   {
  +      return mAltrmiFactory.lookup(s);
  +   }
  +
  +   /**
  +    * Initialialize the component. Initialization includes
  +    * allocating any resources required throughout the
  +    * components lifecycle.
  +    *
  +    * @exception Exception if an error occurs
  +    */
  +
  +   public void initialize ()
  +      throws Exception
  +   {
  +      mAltrmiFactory.setHostContext(mHostContext);
  +   }
  +}
   
  -    /**
  -     * Initialialize the component. Initialization includes
  -     * allocating any resources required throughout the
  -     * components lifecycle.
  -     *
  -     * @exception Exception if an error occurs
  -     */
  -    public void initialize() throws Exception {
  -        mAltrmiFactory.setHostContext(mHostContext);
  -    }
   
  -}
  +/*------ Formatted by Jindent 3.24 Basic 1.0 --- http://www.jindent.de ------*/
  
  
  
  1.2       +43 -31    jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/subscription/RmiSubscriber.java
  
  Index: RmiSubscriber.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/subscription/RmiSubscriber.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RmiSubscriber.java	9 Jan 2002 21:40:04 -0000	1.1
  +++ RmiSubscriber.java	10 Jan 2002 17:14:35 -0000	1.2
  @@ -8,6 +8,8 @@
    */
   package org.apache.avalon.cornerstone.blocks.transport.subscription;
   
  +
  +
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.commons.altrmi.client.impl.rmi.RmiAltrmiHostContext;
  @@ -18,38 +20,48 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
  -public class RmiSubscriber extends AbstractSubscriber {
   
  -    private String mHost;
  -    private int mPort;
  +public class RmiSubscriber
  +   extends AbstractSubscriber
  +{
  +   private String mHost;
  +   private int    mPort;
  +
  +   /**
  +    * Pass the <code>Configuration</code> to the <code>Configurable</code>
  +    * class. This method must always be called after the constructor
  +    * and before any other method.
  +    *
  +    * @param configuration the class configurations.
  +    */
  +
  +   public void configure (Configuration configuration)
  +      throws ConfigurationException
  +   {
  +      super.configure(configuration);
  +
  +      mPort = configuration.getChild("port").getValueAsInteger();
  +      mHost = configuration.getChild("host").getValue();
  +   }
  +
  +   /**
  +    * Initialialize the component. Initialization includes
  +    * allocating any resources required throughout the
  +    * components lifecycle.
  +    *
  +    * @exception Exception if an error occurs
  +    */
  +
  +   public void initialize ()
  +      throws Exception
  +   {
  +      mHostContext = new RmiAltrmiHostContext(mHost, mPort);
   
  -    /**
  -     * Pass the <code>Configuration</code> to the <code>Configurable</code>
  -     * class. This method must always be called after the constructor
  -     * and before any other method.
  -     *
  -     * @param configuration the class configurations.
  -     */
  -    public void configure(Configuration configuration) throws ConfigurationException {
  -
  -        super.configure(configuration);
  -
  -        mPort = configuration.getChild("port").getValueAsInteger();
  -        mHost = configuration.getChild("host").getValue();
  -    }
  -
  -    /**
  -     * Initialialize the component. Initialization includes
  -     * allocating any resources required throughout the
  -     * components lifecycle.
  -     *
  -     * @exception Exception if an error occurs
  -     */
  -    public void initialize() throws Exception {
  -
  -        mHostContext = new RmiAltrmiHostContext(mHost, mPort);
  -        super.initialize();
  -    }
  +      super.initialize();
  +   }
   }
  +
  +
  +/*------ Formatted by Jindent 3.24 Basic 1.0 --- http://www.jindent.de ------*/
  
  
  
  1.3       +43 -31    jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/subscription/SocketObjectStreamSubscriber.java
  
  Index: SocketObjectStreamSubscriber.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/subscription/SocketObjectStreamSubscriber.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SocketObjectStreamSubscriber.java	10 Jan 2002 11:18:24 -0000	1.2
  +++ SocketObjectStreamSubscriber.java	10 Jan 2002 17:14:35 -0000	1.3
  @@ -8,6 +8,8 @@
    */
   package org.apache.avalon.cornerstone.blocks.transport.subscription;
   
  +
  +
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.commons.altrmi.client.impl.rmi.RmiAltrmiHostContext;
  @@ -19,38 +21,48 @@
    *
    *
    * @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 SocketObjectStreamSubscriber extends AbstractSubscriber {
   
  -    private String mHost;
  -    private int mPort;
  +public class SocketObjectStreamSubscriber
  +   extends AbstractSubscriber
  +{
  +   private String mHost;
  +   private int    mPort;
  +
  +   /**
  +    * Pass the <code>Configuration</code> to the <code>Configurable</code>
  +    * class. This method must always be called after the constructor
  +    * and before any other method.
  +    *
  +    * @param configuration the class configurations.
  +    */
  +
  +   public void configure (Configuration configuration)
  +      throws ConfigurationException
  +   {
  +      super.configure(configuration);
  +
  +      mPort = configuration.getChild("port").getValueAsInteger();
  +      mHost = configuration.getChild("host").getValue();
  +   }
  +
  +   /**
  +    * Initialialize the component. Initialization includes
  +    * allocating any resources required throughout the
  +    * components lifecycle.
  +    *
  +    * @exception Exception if an error occurs
  +    */
  +
  +   public void initialize ()
  +      throws Exception
  +   {
  +      mHostContext = new SocketObjectStreamHostContext(mHost, mPort);
   
  -    /**
  -     * Pass the <code>Configuration</code> to the <code>Configurable</code>
  -     * class. This method must always be called after the constructor
  -     * and before any other method.
  -     *
  -     * @param configuration the class configurations.
  -     */
  -    public void configure(Configuration configuration) throws ConfigurationException {
  -
  -        super.configure(configuration);
  -
  -        mPort = configuration.getChild("port").getValueAsInteger();
  -        mHost = configuration.getChild("host").getValue();
  -    }
  -
  -    /**
  -     * Initialialize the component. Initialization includes
  -     * allocating any resources required throughout the
  -     * components lifecycle.
  -     *
  -     * @exception Exception if an error occurs
  -     */
  -    public void initialize() throws Exception {
  -
  -        mHostContext = new SocketObjectStreamHostContext(mHost, mPort);
  -        super.initialize();
  -    }
  +      super.initialize();
  +   }
   }
  +
  +
  +/*------ Formatted by Jindent 3.24 Basic 1.0 --- http://www.jindent.de ------*/
  
  
  

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