hammant     02/01/07 14:49:38

  Modified:    apps/ftpserver build.xml
               apps/ftpserver/src/conf ftp-assembly.xml ftp-config.xml
               apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/config
                        DefaultConfig.java DefaultConfig.xinfo
               
apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/iprestrictor
                        DefaultIpRestrictor.java
               apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/stats
                        DefaultFtpStatistics.java
                        DefaultFtpStatistics.xinfo
               
apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager
                        AbstractUserManager.java DefaultUserHandler.java
                        DefaultUserHandler.xinfo
               
apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/db
                        DbUserManager.xinfo
               
apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/ldap
                        LdapUserManager.xinfo
               
apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/props
                        PropertiesUserManager.xinfo
  Added:       apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/hub
                        DefaultHub.java DefaultHub.xinfo
               apps/ftpserver/src/java/org/apache/avalon/ftpserver/services
                        FtpHub.java
  Log:
  FtpServer working again
  
  Revision  Changes    Path
  1.25      +1 -1      jakarta-avalon-cornerstone/apps/ftpserver/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/build.xml,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- build.xml 30 Dec 2001 16:07:51 -0000      1.24
  +++ build.xml 7 Jan 2002 22:49:37 -0000       1.25
  @@ -207,7 +207,7 @@
       <rmic base="${build.classes}"
             includes="org/apache/avalon/ftpserver/FtpStatistics.class, \
                       org/apache/avalon/ftpserver/FtpConfig.class, \
  -                    
org/apache/avalon/ftpserver/blocks/config/RemoteFtpConfig.class, \
  +                    
org/apache/avalon/ftpserver/blocks/config/RemoteFtpConfigAdaptor.class, \
                       
org/apache/avalon/ftpserver/blocks/iprestrictor/RemoteIpRestrictorAdaptor.class,
 \
                       
org/apache/avalon/ftpserver/blocks/server/RemoteAdminAdaptor.class, \
                       
org/apache/avalon/ftpserver/blocks/stats/RemoteFtpStatisticsAdaptor.class, \
  
  
  
  1.7       +12 -9     
jakarta-avalon-cornerstone/apps/ftpserver/src/conf/ftp-assembly.xml
  
  Index: ftp-assembly.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/conf/ftp-assembly.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ftp-assembly.xml  30 Dec 2001 16:07:51 -0000      1.6
  +++ ftp-assembly.xml  7 Jan 2002 22:49:37 -0000       1.7
  @@ -35,32 +35,35 @@
     
     <!-- FTP SERVER BLOCKS -->
   
  +  <block name="ftp-hub" 
class="org.apache.avalon.ftpserver.blocks.hub.DefaultHub"/>
  +  
  +  <block name="ftp-cfg" 
class="org.apache.avalon.ftpserver.blocks.config.DefaultConfig">
  +    <provide name="ftp-hub"     
role="org.apache.avalon.ftpserver.services.FtpHub"/>        
  +    <provide name="ftp-ip-rstr"   
role="org.apache.avalon.ftpserver.interfaces.IpRestrictor"/>
  +    <provide name="ftp-stats"     
role="org.apache.avalon.ftpserver.interfaces.FtpStatistics"/>    
  +  </block> 
  +
     <block name="ftp-server" 
class="org.apache.avalon.ftpserver.blocks.server.DefaultFtpServer">
       <provide name="sockets"       
role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
       <provide name="connections"   
role="org.apache.avalon.cornerstone.services.connection.ConnectionManager" />   
            
       <provide name="ftp-cfg"       
role="org.apache.avalon.ftpserver.services.FtpConfigService"/>
       <provide name="ftp-uhandler"  
role="org.apache.avalon.ftpserver.interfaces.UserHandler"/>
       <provide name="ftp-ip-rstr"   
role="org.apache.avalon.ftpserver.interfaces.IpRestrictor"/>
  -  </block>
  -  
  -  <block name="ftp-cfg" 
class="org.apache.avalon.ftpserver.blocks.config.DefaultConfig">
  -    <provide name="ftp-uhandler"  
role="org.apache.avalon.ftpserver.interfaces.UserHandler"/>
  -    <provide name="ftp-ip-rstr"   
role="org.apache.avalon.ftpserver.interfaces.IpRestrictor"/>
  -    <provide name="ftp-stats"     
role="org.apache.avalon.ftpserver.interfaces.FtpStatistics"/>    
  -  </block>  
  +  </block> 
     
     <block name="ftp-umanager" 
class="org.apache.avalon.ftpserver.blocks.usermanager.props.PropertiesUserManager">
  -    <provide name="ftp-cfg"       
role="org.apache.avalon.ftpserver.services.FtpConfigService"/>
  +    <provide name="ftp-hub"     
role="org.apache.avalon.ftpserver.services.FtpHub"/>        
       <provide name="objectstorage" 
role="org.apache.avalon.cornerstone.services.store.Store"/>    
     </block>    
     
     <block name="ftp-uhandler" 
class="org.apache.avalon.ftpserver.blocks.usermanager.DefaultUserHandler">
  +    <provide name="ftp-hub"     
role="org.apache.avalon.ftpserver.services.FtpHub"/>          
       <provide name="scheduler"     
role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
       <provide name="ftp-umanager"  
role="org.apache.avalon.ftpserver.services.UserManager"/>    
     </block> 
     
     <block name="ftp-stats" 
class="org.apache.avalon.ftpserver.blocks.stats.DefaultFtpStatistics">
  -    <provide name="ftp-cfg"       
role="org.apache.avalon.ftpserver.services.FtpConfigService"/> 
  +    <provide name="ftp-hub"     
role="org.apache.avalon.ftpserver.services.FtpHub"/>        
     </block>   
     
     <block name="ftp-ip-rstr" 
class="org.apache.avalon.ftpserver.blocks.iprestrictor.DefaultIpRestrictor">
  
  
  
  1.10      +15 -3     
jakarta-avalon-cornerstone/apps/ftpserver/src/conf/ftp-config.xml
  
  Index: ftp-config.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/conf/ftp-config.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ftp-config.xml    14 Dec 2001 01:22:02 -0000      1.9
  +++ ftp-config.xml    7 Jan 2002 22:49:37 -0000       1.10
  @@ -91,9 +91,15 @@
    
   
     </ftp-server>
  +  
  +  <ftp-hub/>
   
       <!-- property based user manager -->
     <ftp-umanager>    
  +    <repository destinationURL="file://./FtpUserManagerStore/"
  +                type="OBJECT"
  +                model="SYNCHRONOUS">
  +    </repository>   
       <user-manager>
         
<class>org.apache.avalon.ftpserver.usermanager.PropertiesUserManager</class>
       </user-manager>          
  @@ -113,7 +119,7 @@
       -->    
   
       <!-- ldap based user manager
  -  <ftp-umanager>    
  +  <ftp-umanager>      
       <user-manager>
         <class>org.apache.avalon.ftpserver.usermanager.LdapUserManager</class>
         <url>ldap://localhost:389</url>
  @@ -126,8 +132,14 @@
       -->   
   
     <ftp-cfg></ftp-cfg>
  -  <ftp-uhandler></ftp-uhandler>
  +  <ftp-uhandler>
  +  </ftp-uhandler>
     <ftp-stats></ftp-stats>
  -  <ftp-ip-rstr></ftp-ip-rstr>
  +  <ftp-ip-rstr>
  +    <repository destinationURL="file://./IpRestrictorStore/"
  +                type="OBJECT"
  +                model="SYNCHRONOUS">
  +    </repository>  
  +  </ftp-ip-rstr>
   
   </config>
  
  
  
  1.2       +8 -1      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/config/DefaultConfig.java
  
  Index: DefaultConfig.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/config/DefaultConfig.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultConfig.java        14 Dec 2001 01:22:02 -0000      1.1
  +++ DefaultConfig.java        7 Jan 2002 22:49:37 -0000       1.2
  @@ -32,6 +32,7 @@
   import org.apache.avalon.ftpserver.blocks.usermanager.DefaultUserHandler;
   import org.apache.avalon.ftpserver.blocks.stats.DefaultFtpStatistics;
   import org.apache.avalon.ftpserver.services.FtpConfigService;
  +import org.apache.avalon.ftpserver.services.FtpHub;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.Configurable;
   import org.apache.avalon.framework.configuration.ConfigurationException;
  @@ -82,6 +83,7 @@
       private BlockContext mBlockContext = null;
       private RemoteFtpConfigAdaptor mRemoteFtpConfigAdaptor;
       private FtpStatistics mFtpStatistics;
  +    private FtpHub mFtpHub;
   
       /**
          * Set application context
  @@ -108,6 +110,7 @@
        */
       public void configure(Configuration conf) throws ConfigurationException {
   
  +
           mAddrStr = conf.getChild("ftp-host").getValue("localhost");
           miServerPort = conf.getChild("ftp-port").getValueAsInteger(21);
           miMaxConnection = 
conf.getChild("connection").getChild("max").getValueAsInteger(20);
  @@ -129,8 +132,10 @@
        */
       public void compose(ComponentManager compManager) throws 
ComponentException {
   
  +        mFtpHub = (FtpHub) compManager.lookup(FtpHub.class.getName());
  +        mFtpHub.setFtpConfig(this);
  +
           mIpRestrictor = (IpRestrictor) 
compManager.lookup(IpRestrictor.class.getName());
  -        mUserHandler = (UserHandler) 
compManager.lookup(UserHandler.class.getName());
           mFtpStatistics = (FtpStatistics) 
compManager.lookup(FtpStatistics.class.getName());
       }
   
  @@ -138,6 +143,8 @@
        * Initialize server socket.
        */
       public void initialize() throws Exception {
  +
  +        mUserHandler = mFtpHub.getUserHandler();
   
           mAddr = InetAddress.getByName(mAddrStr);
   
  
  
  
  1.2       +2 -2      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/config/DefaultConfig.xinfo
  
  Index: DefaultConfig.xinfo
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/config/DefaultConfig.xinfo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultConfig.xinfo       14 Dec 2001 01:22:02 -0000      1.1
  +++ DefaultConfig.xinfo       7 Jan 2002 22:49:37 -0000       1.2
  @@ -14,8 +14,8 @@
   
     <dependencies>
       <dependency>
  -      <service name="org.apache.avalon.ftpserver.interfaces.UserHandler" 
version="1.0"/>
  -    </dependency>
  +      <service name="org.apache.avalon.ftpserver.services.FtpHub" 
version="1.0"/>
  +    </dependency>  
       <dependency>
         <service name="org.apache.avalon.ftpserver.interfaces.IpRestrictor" 
version="1.0"/>
       </dependency>
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/hub/DefaultHub.java
  
  Index: DefaultHub.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.ftpserver.blocks.hub;
  
  
  
  import org.apache.avalon.framework.logger.AbstractLogEnabled;
  import org.apache.avalon.framework.activity.Initializable;
  import org.apache.avalon.phoenix.Block;
  import org.apache.avalon.ftpserver.services.FtpHub;
  import org.apache.avalon.ftpserver.services.FtpConfigService;
  import org.apache.avalon.ftpserver.interfaces.UserHandler;
  
  
  /**
   * Class DefaultHub
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultHub extends AbstractLogEnabled implements Block, FtpHub, 
Initializable {
  
      private FtpConfigService mFtpConfig;
      private UserHandler mUserHandler;
  
      /**
       * Method getFtpConfig
       *
       *
       * @return
       *
       */
      public FtpConfigService getFtpConfig() {
          return mFtpConfig;
      }
  
      /**
       * Initialialize the component. Initialization includes
       * allocating any resources required throughout the
       * components lifecycle.
       *
       * @exception Exception if an error occurs
       */
      public void initialize() throws Exception {}
  
      /**
       * Method setFtpConfig
       *
       *
       * @param ftpConfig
       *
       */
      public void setFtpConfig(FtpConfigService ftpConfig) {
          mFtpConfig = ftpConfig;
      }
  
      /**
       * Method setUserHandler
       *
       *
       * @param userHandler
       *
       */
      public void setUserHandler(UserHandler userHandler) {
          mUserHandler = userHandler;
      }
  
      /**
       * Method getUserHandler
       *
       *
       * @return
       *
       */
      public UserHandler getUserHandler() {
          return mUserHandler;
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/hub/DefaultHub.xinfo
  
  Index: DefaultHub.xinfo
  ===================================================================
  <?xml version="1.0"?>
  
  <blockinfo>
  
    <!-- section to describe block -->
    <block>
      <version>1.0</version>
    </block>
  
    <!-- services that are offered by this block -->
    <services>
      <service name="org.apache.avalon.ftpserver.services.FtpHub" version="1.0" 
/>
    </services>
  
    <dependencies>
    </dependencies>
  
  </blockinfo>
  
  
  
  1.2       +9 -4      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/iprestrictor/DefaultIpRestrictor.java
  
  Index: DefaultIpRestrictor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/iprestrictor/DefaultIpRestrictor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultIpRestrictor.java  14 Dec 2001 01:22:02 -0000      1.1
  +++ DefaultIpRestrictor.java  7 Jan 2002 22:49:37 -0000       1.2
  @@ -59,9 +59,6 @@
        */
       public DefaultIpRestrictor() {
   
  -        reload();
  -
  -        mRemoteIpRestrictorAdaptor = new RemoteIpRestrictorAdaptor(this);
       }
   
       /**
  @@ -105,6 +102,10 @@
   
           mObjectRepository = (ObjectRepository) mStore.select(mStoreConfig);
   
  +        reload();
  +
  +        mRemoteIpRestrictorAdaptor = new RemoteIpRestrictorAdaptor(this);
  +
           UnicastRemoteObject.exportObject(mRemoteIpRestrictorAdaptor);
       }
   
  @@ -121,7 +122,11 @@
        * Read the list from the file.
        */
       public synchronized void reload() {
  -        mIPs = (Vector) mObjectRepository.get("ip-restrictions");
  +        if (!mObjectRepository.containsKey("ip-restrictions")) {
  +            mIPs = new Vector();
  +        } else {
  +            mIPs = (Vector) mObjectRepository.get("ip-restrictions");
  +        }
       }
   
       /**
  
  
  
  1.2       +9 -3      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/stats/DefaultFtpStatistics.java
  
  Index: DefaultFtpStatistics.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/stats/DefaultFtpStatistics.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultFtpStatistics.java 14 Dec 2001 01:22:03 -0000      1.1
  +++ DefaultFtpStatistics.java 7 Jan 2002 22:49:37 -0000       1.2
  @@ -16,10 +16,12 @@
   
   import org.apache.avalon.ftpserver.interfaces.FtpStatisticsListener;
   import org.apache.avalon.ftpserver.interfaces.FtpStatistics;
  +import org.apache.avalon.ftpserver.interfaces.FtpConfig;
   import org.apache.avalon.ftpserver.blocks.config.DefaultConfig;
   import org.apache.avalon.ftpserver.blocks.server.RemoteAdminAdaptor;
   import org.apache.avalon.ftpserver.util.Message;
   import org.apache.avalon.ftpserver.services.FtpConfigService;
  +import org.apache.avalon.ftpserver.services.FtpHub;
   import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.framework.configuration.Configurable;
   import org.apache.avalon.framework.configuration.Configuration;
  @@ -45,7 +47,7 @@
   
       private FtpStatisticsListener mListener = null;
       private DefaultConfig mConfig = null;
  -    private FtpConfigService mFtpConfigService;
  +    private FtpConfig mFtpConfig;
       private DefaultFtpStatistics mSelf = null;
       private Date mStartTime = new Date();
       private int miNbrUpload = 0;
  @@ -61,6 +63,7 @@
       private long mlBytesDownload = 0L;
       private RemoteFtpStatisticsAdaptor mRemoteFtpStatisticsAdaptor;
       private BlockContext mBlockContext;
  +    private FtpHub mFtpHub;
   
       /**
         * Set application context
  @@ -80,14 +83,17 @@
        * Get all managers.
        */
       public void compose(ComponentManager compManager) throws 
ComponentException {
  -        mFtpConfigService =
  -            (FtpConfigService) 
compManager.lookup(FtpConfigService.class.getName());
  +
  +         mFtpHub = (FtpHub) compManager.lookup(FtpHub.class.getName());
  +
       }
   
       /**
        * Initialize server socket.
        */
       public void initialize() throws Exception {
  +
  +        mFtpConfig = mFtpHub.getFtpConfig();
   
           mRemoteFtpStatisticsAdaptor = new RemoteFtpStatisticsAdaptor(this);
   
  
  
  
  1.2       +1 -1      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/stats/DefaultFtpStatistics.xinfo
  
  Index: DefaultFtpStatistics.xinfo
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/stats/DefaultFtpStatistics.xinfo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultFtpStatistics.xinfo        14 Dec 2001 01:22:03 -0000      1.1
  +++ DefaultFtpStatistics.xinfo        7 Jan 2002 22:49:37 -0000       1.2
  @@ -14,7 +14,7 @@
   
     <dependencies>
       <dependency>
  -      <service name="org.apache.avalon.ftpserver.services.FtpConfigService" 
version="1.0"/>
  +      <service name="org.apache.avalon.ftpserver.services.FtpHub" 
version="1.0"/>
       </dependency>
     </dependencies>
   
  
  
  
  1.3       +11 -4     
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/AbstractUserManager.java
  
  Index: AbstractUserManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/AbstractUserManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractUserManager.java  17 Dec 2001 09:38:24 -0000      1.2
  +++ AbstractUserManager.java  7 Jan 2002 22:49:37 -0000       1.3
  @@ -12,6 +12,8 @@
   
   import org.apache.avalon.ftpserver.services.UserManager;
   import org.apache.avalon.ftpserver.services.FtpConfigService;
  +import org.apache.avalon.ftpserver.services.FtpHub;
  +import org.apache.avalon.ftpserver.interfaces.FtpConfig;
   import org.apache.avalon.phoenix.Block;
   import org.apache.avalon.phoenix.BlockContext;
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
  @@ -31,13 +33,14 @@
    *
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
   public abstract class AbstractUserManager extends AbstractLogEnabled
           implements Block, UserManager, Contextualizable, Composable, 
Configurable, Initializable {
   
       protected BlockContext mBlockContext;
       protected FtpConfigService mConfig;
  +    protected FtpHub mFtpHub;
   
       /**
           * Set application context
  @@ -51,19 +54,23 @@
        *
        * @param conf the XML configuration block
        */
  -    public void configure(Configuration conf) throws ConfigurationException 
{}
  +    public void configure(Configuration conf) throws ConfigurationException {
  +
  +    }
   
       /**
        * Get all managers.
        */
       public void compose(ComponentManager compManager) throws 
ComponentException {
  -        mConfig = (FtpConfigService) 
compManager.lookup(FtpConfigService.class.getName());
  +        mFtpHub = (FtpHub) compManager.lookup(FtpHub.class.getName());
       }
   
       /**
        * Initialize
        */
  -    public void initialize() throws Exception {}
  +    public void initialize() throws Exception {
  +        mConfig = mFtpHub.getFtpConfig();
  +    }
   
       protected RuntimeException processException(Exception e) {
           return new InternalUserManagerException("Some low-level problem 
during operation", e);
  
  
  
  1.2       +38 -20    
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/DefaultUserHandler.java
  
  Index: DefaultUserHandler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/DefaultUserHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultUserHandler.java   14 Dec 2001 01:22:03 -0000      1.1
  +++ DefaultUserHandler.java   7 Jan 2002 22:49:37 -0000       1.2
  @@ -30,6 +30,7 @@
   import org.apache.avalon.ftpserver.interfaces.FtpConfig;
   import org.apache.avalon.ftpserver.services.UserManager;
   import org.apache.avalon.ftpserver.services.FtpConfigService;
  +import org.apache.avalon.ftpserver.services.FtpHub;
   import org.apache.avalon.ftpserver.blocks.config.DefaultConfig;
   import org.apache.avalon.ftpserver.FtpUser;
   import org.apache.avalon.ftpserver.FtpException;
  @@ -46,6 +47,7 @@
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.activity.Initializable;
  +import org.apache.avalon.framework.activity.Startable;
   import org.apache.avalon.phoenix.Block;
   
   
  @@ -61,17 +63,14 @@
    */
   public class DefaultUserHandler extends AbstractLogEnabled
           implements Block, UserHandler, Contextualizable, Composable, 
Configurable, Initializable,
  -                   Target {
  +                   Target, Startable {
   
       /**
        * Observer to monitor ftp connections.
        */
       private FtpConnectionObserver mObserver = null;
   
  -    /**
  -     * Self reference
  -     */
  -    private DefaultUserHandler mSelf = null;
  +    private FtpHub mFtpHub;
   
       /**
        * User manager
  @@ -94,17 +93,7 @@
       /**
        * Default constructor. Starts the user cleaner thread.
        */
  -    public DefaultUserHandler(DefaultConfig cfg) throws Exception {
  -
  -        mSelf = this;
  -        mConfig = cfg;
  -        mUserHandlerAdaptor = new RemoteUserHandlerAdaptor(this);
  -
  -        createDefaultUsers();
  -        UnicastRemoteObject.exportObject(mUserHandlerAdaptor);
  -        mScheduler.addTrigger(getClass().getName(),
  -                              new PeriodicTimeTrigger(0, 
mConfig.getSchedulerInterval() * 1000),
  -                              this);
  +    public DefaultUserHandler() {
       }
   
       /**
  @@ -123,6 +112,9 @@
        * Get all managers.
        */
       public void compose(ComponentManager compManager) throws 
ComponentException {
  +        mFtpHub = (FtpHub) compManager.lookup(FtpHub.class.getName());
  +        mFtpHub.setUserHandler(this);
  +
           mUserManager = (UserManager) 
compManager.lookup(UserManager.class.getName());
           mScheduler = (TimeScheduler) 
compManager.lookup(TimeScheduler.class.getName());
       }
  @@ -130,7 +122,33 @@
       /**
        * Initialize
        */
  -    public void initialize() throws Exception {}
  +    public void initialize() throws Exception {
  +        mUserHandlerAdaptor = new RemoteUserHandlerAdaptor(this);
  +    }
  +
  +    /**
  +     * Starts the component.
  +     *
  +     * @exception Exception if Component can not be started
  +     */
  +    public void start()
  +            throws Exception {
  +        mConfig = mFtpHub.getFtpConfig();
  +        createDefaultUsers();
  +        UnicastRemoteObject.exportObject(mUserHandlerAdaptor);
  +        mScheduler.addTrigger(getClass().getName(),
  +                              new PeriodicTimeTrigger(0, 
mConfig.getSchedulerInterval() * 1000),
  +                              this);
  +    }
  +
  +    /**
  +     * Stops the component.
  +     *
  +     * @exception Exception if the Component can not be Stopped.
  +     */
  +    public void stop()
  +            throws Exception {
  +    }
   
       /**
        * It returns a list of all the currently connected user objects.
  @@ -235,7 +253,7 @@
                       try {
                           mObserver.updateConnection(sessId);
                       } catch (Exception ex) {
  -                        mSelf.setObserver(null);
  +                        DefaultUserHandler.this.setObserver(null);
                       }
                   }
               });
  @@ -320,7 +338,7 @@
                       try {
                           mObserver.newConnection(newUser.getSessionId());
                       } catch (Exception ex) {
  -                        mSelf.setObserver(null);
  +                        DefaultUserHandler.this.setObserver(null);
                       }
                   }
               });
  @@ -362,7 +380,7 @@
                       try {
                           mObserver.closeConnection(sessId);
                       } catch (Exception ex) {
  -                        mSelf.setObserver(null);
  +                        DefaultUserHandler.this.setObserver(null);
                       }
                   }
               });
  
  
  
  1.2       +3 -0      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/DefaultUserHandler.xinfo
  
  Index: DefaultUserHandler.xinfo
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/DefaultUserHandler.xinfo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultUserHandler.xinfo  14 Dec 2001 01:22:03 -0000      1.1
  +++ DefaultUserHandler.xinfo  7 Jan 2002 22:49:37 -0000       1.2
  @@ -14,6 +14,9 @@
   
     <dependencies>
       <dependency>
  +      <service name="org.apache.avalon.ftpserver.services.FtpHub" 
version="1.0"/>
  +    </dependency>  
  +    <dependency>
         <service 
name="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler" 
version="1.0"/>
       </dependency>
       <dependency>
  
  
  
  1.2       +1 -1      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/db/DbUserManager.xinfo
  
  Index: DbUserManager.xinfo
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/db/DbUserManager.xinfo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DbUserManager.xinfo       14 Dec 2001 01:22:03 -0000      1.1
  +++ DbUserManager.xinfo       7 Jan 2002 22:49:37 -0000       1.2
  @@ -14,7 +14,7 @@
   
     <dependencies>
       <dependency>
  -      <service name="org.apache.avalon.ftpserver.services.FtpConfigService" 
version="1.0"/>
  +      <service name="org.apache.avalon.ftpserver.services.FtpHub" 
version="1.0"/>
       </dependency>         
     </dependencies>  
   
  
  
  
  1.2       +1 -1      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/ldap/LdapUserManager.xinfo
  
  Index: LdapUserManager.xinfo
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/ldap/LdapUserManager.xinfo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LdapUserManager.xinfo     14 Dec 2001 01:22:03 -0000      1.1
  +++ LdapUserManager.xinfo     7 Jan 2002 22:49:37 -0000       1.2
  @@ -14,7 +14,7 @@
   
     <dependencies>
       <dependency>
  -      <service name="org.apache.avalon.ftpserver.services.FtpConfigService" 
version="1.0"/>
  +      <service name="org.apache.avalon.ftpserver.services.FtpHub" 
version="1.0"/>
       </dependency>         
     </dependencies>  
   
  
  
  
  1.2       +1 -1      
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/props/PropertiesUserManager.xinfo
  
  Index: PropertiesUserManager.xinfo
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/blocks/usermanager/props/PropertiesUserManager.xinfo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PropertiesUserManager.xinfo       14 Dec 2001 01:22:03 -0000      1.1
  +++ PropertiesUserManager.xinfo       7 Jan 2002 22:49:38 -0000       1.2
  @@ -14,7 +14,7 @@
   
     <dependencies>
       <dependency>
  -      <service name="org.apache.avalon.ftpserver.services.FtpConfigService" 
version="1.0"/>
  +      <service name="org.apache.avalon.ftpserver.services.FtpHub" 
version="1.0"/>
       </dependency> 
       <dependency>
         <service name="org.apache.avalon.cornerstone.services.store.Store" 
version="1.0"/>
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/ftpserver/src/java/org/apache/avalon/ftpserver/services/FtpHub.java
  
  Index: FtpHub.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.ftpserver.services;
  
  
  
  import org.apache.avalon.ftpserver.interfaces.FtpConfig;
  import org.apache.avalon.ftpserver.interfaces.UserHandler;
  
  
  /**
   * Interface FtpHub
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version * $Revision: 1.1 $
   */
  public interface FtpHub {
  
      /**
       * Method getFtpConfig
       *
       *
       * @return
       *
       */
      FtpConfigService getFtpConfig();
  
      /**
       * Method setFtpConfig
       *
       *
       * @param ftpConfig
       *
       */
      void setFtpConfig(FtpConfigService ftpConfig);
  
      /**
       * Method setUserHandler
       *
       *
       * @param userHandler
       *
       */
      void setUserHandler(UserHandler userHandler);
  
      /**
       * Method getUserHandler
       *
       *
       * @return
       *
       */
      UserHandler getUserHandler();
  }
  
  
  

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

Reply via email to