[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting/transport/sslrmi ...

Ron Sigal ron_sigal at yahoo.com
Tue Jan 16 01:17:46 EST 2007


  User: rsigal  
  Date: 07/01/16 01:17:46

  Modified:    src/main/org/jboss/remoting/transport/sslrmi  Tag:
                        remoting_2_x
                        SerializableSSLClientSocketFactory.java
  Log:
  JBREM-298: Refactored with RemotingRMIClientSocketFactory to allow storage of client side config parameters for RMI as well as SSLRMI.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.3.4.1   +28 -73    JBossRemoting/src/main/org/jboss/remoting/transport/sslrmi/SerializableSSLClientSocketFactory.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SerializableSSLClientSocketFactory.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/transport/sslrmi/SerializableSSLClientSocketFactory.java,v
  retrieving revision 1.3
  retrieving revision 1.3.4.1
  diff -u -b -r1.3 -r1.3.4.1
  --- SerializableSSLClientSocketFactory.java	18 Aug 2006 13:51:28 -0000	1.3
  +++ SerializableSSLClientSocketFactory.java	16 Jan 2007 06:17:46 -0000	1.3.4.1
  @@ -23,6 +23,7 @@
   package org.jboss.remoting.transport.sslrmi;
   
   import org.jboss.logging.Logger;
  +import org.jboss.remoting.AbstractInvoker;
   import org.jboss.remoting.Client;
   import org.jboss.remoting.InvokerLocator;
   import org.jboss.remoting.Remoting;
  @@ -41,7 +42,7 @@
   /**
    *
    * @author <a href="mailto:ron.sigal at jboss.com">Ron Sigal</a>
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.3.4.1 $
    * <p>
    * Copyright (c) Jun 9, 2006
    * </p>
  @@ -50,24 +51,13 @@
   {
      private static final long serialVersionUID = 3242156275483606618L;
      private static Logger log = Logger.getLogger(SerializableSSLClientSocketFactory.class);
  -   private static HashMap configMaps = new HashMap();
  -   private static Map socketFactories = new HashMap();
  -
  -   private Map configuration;
  -   private InvokerLocator invokerLocator;
  -
  -
  -   static void addLocalConfiguration(InvokerLocator invokerLocator, Map localConfig)
  -   {
  -      configMaps.put(new ComparableHolder(invokerLocator), localConfig);
  -   }
   
   
      public SerializableSSLClientSocketFactory(InvokerLocator invokerLocator,
                                                int timeout,
                                                Map configuration)
      {
  -      super(null, invokerLocator.getHost(), timeout);
  +      super(invokerLocator, invokerLocator.getHost(), timeout, configuration);
         this.invokerLocator = invokerLocator;
         this.configuration = new HashMap(configuration);
      }
  @@ -75,14 +65,25 @@
   
      public Socket createSocket(String host, int port) throws IOException
      {
  -      // If invokerLocator isn't in configMaps, an SSLRMICLientInvoker has not been created
  -      // yet.  This call was probably made by an RMI thread, and is premature.
  -      ComparableHolder holder = new ComparableHolder(invokerLocator);
  -      if (!configMaps.containsKey(holder))
  -         return null;
  +      Socket s = super.createSocket(host, port);
  +
  +      // need to check for handshake listener and add them if there is one
  +      Object obj = configuration.get(Client.HANDSHAKE_COMPLETED_LISTENER);
  +      if (obj != null && obj instanceof HandshakeCompletedListener)
  +      {
  +         SSLSocket sslSocket = (SSLSocket) s;
  +         HandshakeCompletedListener listener = (HandshakeCompletedListener) obj;
  +         establishHandshake(sslSocket, listener);
  +      }
  +
  +      return s;
  +   }
   
  -      socketFactory = (SocketFactory) socketFactories.get(this);
  -      if (socketFactory == null)
  +
  +   public SocketFactory retrieveSocketFactory(ComparableHolder holder) throws IOException
  +   {
  +      SocketFactory sf = (SocketFactory) socketFactories.get(this);
  +      if (sf == null)
         {
            try
            {
  @@ -96,16 +97,17 @@
   
               if (tempConfig.containsKey(Remoting.CUSTOM_SOCKET_FACTORY))
               {
  -               socketFactory = (SocketFactory) tempConfig.get(Remoting.CUSTOM_SOCKET_FACTORY);
  +               sf = (SocketFactory) tempConfig.get(Remoting.CUSTOM_SOCKET_FACTORY);
               }
               else
               {
                  SSLSocketBuilder socketBuilder = new SSLSocketBuilder(tempConfig);
                  socketBuilder.setUseSSLSocketFactory( false );
  -               socketFactory = socketBuilder.createSSLSocketFactory();
  +               sf = socketBuilder.createSSLSocketFactory();
  +               sf = AbstractInvoker.wrapSocketFactory(sf, tempConfig);
               }
   
  -            socketFactories.put(this, socketFactory);
  +            socketFactories.put(this, sf);
   
               // Get handshake listener from local configuration map and store in
               // configuration map brought over from server.  We don't have to worry
  @@ -125,19 +127,7 @@
            }
         }
         
  -      Socket s = super.createSocket(host, port);
  -      socketFactory = null;
  -
  -      // need to check for handshake listener and add them if there is one
  -      Object obj = configuration.get(Client.HANDSHAKE_COMPLETED_LISTENER);
  -      if (obj != null && obj instanceof HandshakeCompletedListener)
  -      {
  -         SSLSocket sslSocket = (SSLSocket) s;
  -         HandshakeCompletedListener listener = (HandshakeCompletedListener) obj;
  -         establishHandshake(sslSocket, listener);
  -      }
  -
  -      return s;
  +      return sf;
      }
   
   
  @@ -149,39 +139,4 @@
         sslSocket.getSession();
         repeater.waitForHandshake();
      }
  -
  -
  -   private static class ComparableHolder
  -   {
  -      private String protocol;
  -      private String host;
  -      private int port;
  -      private int hashCode;
  -
  -      public ComparableHolder(InvokerLocator invokerLocator)
  -      {
  -         protocol = invokerLocator.getProtocol().toLowerCase();
  -         host = invokerLocator.getHost();
  -         port = invokerLocator.getPort();
  -         hashCode = protocol.hashCode() * host.hashCode() * port;
  -      }
  -
  -      public boolean equals(Object obj)
  -      {
  -         if (obj == null || !(obj instanceof ComparableHolder))
  -            return false;
  -
  -         ComparableHolder holder = (ComparableHolder) obj;
  -
  -         return protocol.equals(holder.protocol.toLowerCase())
  -                && host.equals(holder.host)
  -                && port == holder.port;
  -      }
  -
  -      public int hashCode()
  -      {
  -         return hashCode;
  -      }
  -
  -   }
   }
  \ No newline at end of file
  
  
  



More information about the jboss-cvs-commits mailing list