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]>