You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2008/09/30 22:34:31 UTC
svn commit: r700572 - in /mina/ftpserver/trunk/core/src:
examples/java/org/apache/ftpserver/examples/ main/java/org/apache/ftpserver/
main/java/org/apache/ftpserver/config/spring/
main/java/org/apache/ftpserver/listener/ main/java/org/apache/ftpserver/...
Author: ngn
Date: Tue Sep 30 13:34:30 2008
New Revision: 700572
URL: http://svn.apache.org/viewvc?rev=700572&view=rev
Log:
Make listeners immutable (FTPSERVER-187)
Added:
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java (with props)
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java (contents, props changed)
- copied, changed from r693183, mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/AbstractListener.java
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java (with props)
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java (with props)
Removed:
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/AbstractListener.java
Modified:
mina/ftpserver/trunk/core/src/examples/java/org/apache/ftpserver/examples/EmbeddingFtpServer.java
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java
mina/ftpserver/trunk/core/src/test/resources/spring-config/config-property-placeholder.xml
mina/ftpserver/trunk/core/src/test/resources/spring-config/config-spring-1.xml
Modified: mina/ftpserver/trunk/core/src/examples/java/org/apache/ftpserver/examples/EmbeddingFtpServer.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/examples/java/org/apache/ftpserver/examples/EmbeddingFtpServer.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/examples/java/org/apache/ftpserver/examples/EmbeddingFtpServer.java (original)
+++ mina/ftpserver/trunk/core/src/examples/java/org/apache/ftpserver/examples/EmbeddingFtpServer.java Tue Sep 30 13:34:30 2008
@@ -22,14 +22,19 @@
import java.io.File;
import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.ssl.impl.DefaultSslConfiguration;
+import org.apache.ftpserver.usermanager.PropertiesUserManager;
public class EmbeddingFtpServer {
public static void main(String[] args) throws Exception {
FtpServer server = new FtpServer();
- // set the port of the default listener
- server.getListener("default").setPort(2221);
+
+ ListenerFactory factory = new ListenerFactory();
+
+ // set the port of the listener
+ factory.setPort(2221);
// define SSL configuration
DefaultSslConfiguration ssl = new DefaultSslConfiguration();
@@ -37,9 +42,17 @@
ssl.setKeystorePassword("password");
// set the SSL configuration for the listener
- server.getListener("default").setSslConfiguration(ssl);
- server.getListener("default").setImplicitSsl(true);
+ factory.setSslConfiguration(ssl);
+ factory.setImplicitSsl(true);
+ // replace the default listener
+ server.addListener("default", factory.createListener());
+
+ PropertiesUserManager userManager = new PropertiesUserManager();
+ userManager.setFile(new File("myusers.properties"));
+
+ server.setUserManager(userManager);
+
// start the server
server.start();
}
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java Tue Sep 30 13:34:30 2008
@@ -35,6 +35,7 @@
import org.apache.ftpserver.ftpletcontainer.impl.DefaultFtpletContainer;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.listener.Listener;
+import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.listener.nio.NioListener;
import org.apache.ftpserver.message.MessageResource;
import org.apache.ftpserver.message.impl.DefaultMessageResource;
@@ -81,7 +82,7 @@
public DefaultFtpServerContext() throws Exception {
// create the default listener
- listeners.put("default", new NioListener());
+ listeners.put("default", new ListenerFactory().createListener());
}
/**
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java Tue Sep 30 13:34:30 2008
@@ -28,12 +28,14 @@
import org.apache.ftpserver.DefaultDataConnectionConfiguration.Active;
import org.apache.ftpserver.DefaultDataConnectionConfiguration.Passive;
import org.apache.ftpserver.interfaces.DataConnectionConfiguration;
+import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.listener.nio.NioListener;
import org.apache.ftpserver.ssl.SslConfiguration;
import org.apache.ftpserver.ssl.impl.DefaultSslConfiguration;
import org.apache.mina.filter.firewall.Subnet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.config.BeanDefinitionHolder;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
@@ -56,8 +58,8 @@
* {@inheritDoc}
*/
@Override
- protected Class<NioListener> getBeanClass(final Element element) {
- return NioListener.class;
+ protected Class<?> getBeanClass(final Element element) {
+ return null;
}
/**
@@ -106,20 +108,36 @@
protected void doParse(final Element element,
final ParserContext parserContext,
final BeanDefinitionBuilder builder) {
+
+ BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(ListenerFactory.class);
+
if (StringUtils.hasText(element.getAttribute("port"))) {
- builder.addPropertyValue("port", Integer.parseInt(element
+ factoryBuilder.addPropertyValue("port", Integer.parseInt(element
.getAttribute("port")));
}
SslConfiguration ssl = parseSsl(element);
if (ssl != null) {
- builder.addPropertyValue("sslConfiguration", ssl);
+ factoryBuilder.addPropertyValue("sslConfiguration", ssl);
}
Element dataConElm = SpringUtil.getChildElement(element,
FtpServerNamespaceHandler.FTPSERVER_NS, "data-connection");
DataConnectionConfiguration dc = parseDataConnection(dataConElm, ssl);
- builder.addPropertyValue("dataConnectionConfiguration", dc);
+ factoryBuilder.addPropertyValue("dataConnectionConfiguration", dc);
+
+ if (StringUtils.hasText(element.getAttribute("idle-timeout"))) {
+ factoryBuilder.addPropertyValue("idleTimeout", SpringUtil.parseInt(
+ element, "idle-timeout", 300));
+ }
+
+ InetAddress localAddress = SpringUtil.parseInetAddress(element,
+ "local-address");
+ if (localAddress != null) {
+ factoryBuilder.addPropertyValue("serverAddress", localAddress);
+ }
+ factoryBuilder.addPropertyValue("implicitSsl", SpringUtil.parseBoolean(
+ element, "implicit-ssl", false));
Element blacklistElm = SpringUtil.getChildElement(element,
FtpServerNamespaceHandler.FTPSERVER_NS, "blacklist");
@@ -132,24 +150,16 @@
subnets.add(parseSubnet(block));
}
- builder.addPropertyValue("blockedSubnets", subnets);
+ factoryBuilder.addPropertyValue("blockedSubnets", subnets);
}
-
- if (StringUtils.hasText(element.getAttribute("idle-timeout"))) {
- builder.addPropertyValue("idleTimeout", SpringUtil.parseInt(
- element, "idle-timeout", 300));
- }
- if (StringUtils.hasText(element.getAttribute("port"))) {
- builder.addPropertyValue("port", SpringUtil.parseInt(element,
- "port", 21));
- }
- InetAddress localAddress = SpringUtil.parseInetAddress(element,
- "local-address");
- if (localAddress != null) {
- builder.addPropertyValue("serverAddress", localAddress);
- }
- builder.addPropertyValue("implicitSsl", SpringUtil.parseBoolean(
- element, "implicit-ssl", false));
+
+
+ BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryBuilder.getBeanDefinition(), "listener-factory");
+ registerBeanDefinition(factoryHolder, parserContext.getRegistry());
+
+ // set the factory on the listener bean
+ builder.getRawBeanDefinition().setFactoryBeanName("listener-factory");
+ builder.getRawBeanDefinition().setFactoryMethodName("createListener");
}
private SslConfiguration parseSsl(final Element parent) {
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java Tue Sep 30 13:34:30 2008
@@ -20,12 +20,14 @@
package org.apache.ftpserver.listener;
import java.net.InetAddress;
+import java.util.List;
import java.util.Set;
import org.apache.ftpserver.interfaces.DataConnectionConfiguration;
import org.apache.ftpserver.interfaces.FtpIoSession;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.ssl.SslConfiguration;
+import org.apache.mina.filter.firewall.Subnet;
/**
* Interface for the component responsible for waiting for incoming socket
@@ -98,16 +100,6 @@
boolean isImplicitSsl();
/**
- * Should this listener be in SSL mode automatically or must the client
- * explicitly request to use SSL
- *
- * @param implicitSsl
- * true is the listener should automatically be in SSL mode,
- * false otherwise
- */
- void setImplicitSsl(boolean implicitSsl);
-
- /**
* Get the {@link SslConfiguration} used for this listener
*
* @return The current {@link SslConfiguration}
@@ -115,14 +107,6 @@
SslConfiguration getSslConfiguration();
/**
- * Set the {@link SslConfiguration} used for this listener
- *
- * @param sslConfiguration
- * The {@link SslConfiguration}
- */
- void setSslConfiguration(SslConfiguration sslConfiguration);
-
- /**
* Get the port on which this listener is waiting for requests. For
* listeners where the port is automatically assigned, this will return the
* bound port.
@@ -132,15 +116,6 @@
int getPort();
/**
- * Set the port on which this listener will accept requests. Or set to 0
- * (zero) is the port should be automatically assigned
- *
- * @param port
- * The port to use.
- */
- void setPort(int port);
-
- /**
* Get the {@link InetAddress} used for binding the local socket. Defaults
* to null, that is, the server binds to all available network interfaces
*
@@ -149,27 +124,31 @@
InetAddress getServerAddress();
/**
- * Set the {@link InetAddress} used for binding the local socket. Defaults
- * to null, that is, the server binds to all available network interfaces
+ * Get configuration for data connections made within this listener
*
- * @param serverAddress
- * The local socket {@link InetAddress}
+ * @return The data connection configuration
*/
- void setServerAddress(InetAddress serverAddress);
+ DataConnectionConfiguration getDataConnectionConfiguration();
/**
- * Get configuration for data connections made within this listener
+ * Get the number of seconds during which no network activity
+ * is allowed before a session is closed due to inactivity.
+ * @return The idle time out
+ */
+ int getIdleTimeout();
+
+ /**
+ * Retrieves the {@link InetAddress} for which this listener blocks
+ * connections
*
- * @return The data connection configuration
+ * @return The list of {@link InetAddress}es
*/
- DataConnectionConfiguration getDataConnectionConfiguration();
+ List<InetAddress> getBlockedAddresses();
/**
- * Set configuration for data connections made within this listener
+ * Retrieves the {@link Subnet}s for this listener blocks connections
*
- * @param dataConnectionConfig
- * The data connection configuration
+ * @return The list of {@link Subnet}s
*/
- void setDataConnectionConfiguration(
- DataConnectionConfiguration dataConnectionConfig);
+ List<Subnet> getBlockedSubnets();
}
\ No newline at end of file
Added: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java?rev=700572&view=auto
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java (added)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java Tue Sep 30 13:34:30 2008
@@ -0,0 +1,250 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ftpserver.listener;
+
+import java.net.InetAddress;
+import java.util.List;
+
+import org.apache.ftpserver.DefaultDataConnectionConfiguration;
+import org.apache.ftpserver.interfaces.DataConnectionConfiguration;
+import org.apache.ftpserver.listener.Listener;
+import org.apache.ftpserver.listener.nio.NioListener;
+import org.apache.ftpserver.ssl.SslConfiguration;
+import org.apache.mina.filter.firewall.Subnet;
+
+/**
+ * Factory for listeners. Listeners themselves are immutable and must be
+ * created using this factory.
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ */
+public class ListenerFactory {
+
+ private InetAddress serverAddress;
+
+ private int port = 21;
+
+ private SslConfiguration ssl;
+
+ private boolean implicitSsl = false;
+
+ private DataConnectionConfiguration dataConnectionConfig = new DefaultDataConnectionConfiguration();
+
+ private int idleTimeout = 300;
+
+ private List<InetAddress> blockedAddresses;
+
+ private List<Subnet> blockedSubnets;
+
+ /**
+ * Default constructor
+ */
+ public ListenerFactory() {
+ // do nothing
+ }
+
+ /**
+ * Copy constructor, will copy properties from the provided listener.
+ * @param listener The listener which properties will be used for this factory
+ */
+ public ListenerFactory(Listener listener) {
+ serverAddress = listener.getServerAddress();
+ port = listener.getPort();
+ ssl = listener.getSslConfiguration();
+ implicitSsl = listener.isImplicitSsl();
+ dataConnectionConfig = listener.getDataConnectionConfiguration();
+ idleTimeout = listener.getIdleTimeout();
+ blockedAddresses = listener.getBlockedAddresses();
+ blockedSubnets = listener.getBlockedSubnets();
+ }
+
+
+ /**
+ * Create a listener based on the settings of this factory. The listener is immutable.
+ * @return The created listener
+ */
+ public Listener createListener() {
+ return new NioListener(serverAddress, port, implicitSsl, ssl,
+ dataConnectionConfig, idleTimeout, blockedAddresses, blockedSubnets);
+ }
+
+ /**
+ * Is listeners created by this factory in SSL mode automatically or must the client explicitly
+ * request to use SSL
+ *
+ * @return true is listeners created by this factory is automatically in SSL mode, false
+ * otherwise
+ */
+ public boolean isImplicitSsl() {
+ return implicitSsl;
+ }
+
+ /**
+ * Should listeners created by this factory be in SSL mode automatically or must the client
+ * explicitly request to use SSL
+ *
+ * @param implicitSsl
+ * true is listeners created by this factory should automatically be in SSL mode,
+ * false otherwise
+ */
+ public void setImplicitSsl(boolean implicitSsl) {
+ this.implicitSsl = implicitSsl;
+ }
+
+ /**
+ * Get the port on which listeners created by this factory is waiting for requests.
+ *
+ * @return The port
+ */
+ public int getPort() {
+ return port;
+ }
+
+ /**
+ * Set the port on which listeners created by this factory will accept requests. Or set to 0
+ * (zero) is the port should be automatically assigned
+ *
+ * @param port
+ * The port to use.
+ */
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ /**
+ * Get the {@link InetAddress} used for binding the local socket. Defaults
+ * to null, that is, the server binds to all available network interfaces
+ *
+ * @return The local socket {@link InetAddress}, if set
+ */
+ public InetAddress getServerAddress() {
+ return serverAddress;
+ }
+
+ /**
+ * Set the {@link InetAddress} used for binding the local socket. Defaults
+ * to null, that is, the server binds to all available network interfaces
+ *
+ * @param serverAddress
+ * The local socket {@link InetAddress}
+ */
+ public void setServerAddress(InetAddress serverAddress) {
+ this.serverAddress = serverAddress;
+ }
+
+ /**
+ * Get the {@link SslConfiguration} used for listeners created by this factory
+ *
+ * @return The {@link SslConfiguration}
+ */
+ public SslConfiguration getSslConfiguration() {
+ return ssl;
+ }
+
+ /**
+ * Set the {@link SslConfiguration} to use by listeners created by this factory
+ * @param ssl The {@link SslConfiguration}
+ */
+ public void setSslConfiguration(SslConfiguration ssl) {
+ this.ssl = ssl;
+ }
+
+ /**
+ * Get configuration for data connections made within listeners created by this factory
+ *
+ * @return The data connection configuration
+ */
+ public DataConnectionConfiguration getDataConnectionConfiguration() {
+ return dataConnectionConfig;
+ }
+
+ /**
+ * Set configuration for data connections made within listeners created by this factory
+ *
+ * @param dataConnectionConfig
+ * The data connection configuration
+ */
+ public void setDataConnectionConfiguration(
+ DataConnectionConfiguration dataConnectionConfig) {
+ this.dataConnectionConfig = dataConnectionConfig;
+ }
+
+ /**
+ * Get the number of seconds during which no network activity
+ * is allowed before a session is closed due to inactivity.
+ * @return The idle time out
+ */
+ public int getIdleTimeout() {
+ return idleTimeout;
+ }
+
+ /**
+ * Set the number of seconds during which no network activity
+ * is allowed before a session is closed due to inactivity.
+ *
+ * @param idleTimeout The idle timeout in seconds
+ */
+ public void setIdleTimeout(int idleTimeout) {
+ this.idleTimeout = idleTimeout;
+ }
+
+ /**
+ * Retrives the {@link InetAddress} for which listeners created by this factory blocks
+ * connections
+ *
+ * @return The list of {@link InetAddress}es
+ */
+ public List<InetAddress> getBlockedAddresses() {
+ return blockedAddresses;
+ }
+
+ /**
+ * Sets the {@link InetAddress} that listeners created by this factory will block from
+ * connecting
+ *
+ * @param blockedAddresses
+ * The list of {@link InetAddress}es
+ */
+ public void setBlockedAddresses(
+ List<InetAddress> blockedAddresses) {
+ this.blockedAddresses = blockedAddresses;
+ }
+
+ /**
+ * Retrives the {@link Subnet}s for which listeners created by this factory blocks connections
+ *
+ * @return The list of {@link Subnet}s
+ */
+ public List<Subnet> getBlockedSubnets() {
+ return blockedSubnets;
+ }
+
+ /**
+ * Sets the {@link Subnet}s that listeners created by this factory will block from connecting
+ *
+ * @param blockedAddresses
+ * The list of {@link Subnet}s
+ */
+ public void setBlockedSubnets(List<Subnet> blockedSubnets) {
+ this.blockedSubnets = blockedSubnets;
+ }
+
+}
Propchange: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java (from r693183, mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/AbstractListener.java)
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java?p2=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java&p1=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/AbstractListener.java&r1=693183&r2=700572&rev=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/AbstractListener.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java Tue Sep 30 13:34:30 2008
@@ -17,13 +17,17 @@
* under the License.
*/
-package org.apache.ftpserver.listener;
+package org.apache.ftpserver.listener.nio;
import java.net.InetAddress;
+import java.util.Collections;
+import java.util.List;
import org.apache.ftpserver.DefaultDataConnectionConfiguration;
import org.apache.ftpserver.interfaces.DataConnectionConfiguration;
+import org.apache.ftpserver.listener.Listener;
import org.apache.ftpserver.ssl.SslConfiguration;
+import org.apache.mina.filter.firewall.Subnet;
/**
* Common base class for listener implementations
@@ -40,9 +44,34 @@
private SslConfiguration ssl;
private boolean implicitSsl = false;
+
+ private int idleTimeout;
+
+ private List<InetAddress> blockedAddresses;
+
+ private List<Subnet> blockedSubnets;
private DataConnectionConfiguration dataConnectionConfig = new DefaultDataConnectionConfiguration();
+ public AbstractListener(InetAddress serverAddress, int port, boolean implicitSsl,
+ SslConfiguration sslConfiguration, DataConnectionConfiguration dataConnectionConfig,
+ int idleTimeout, List<InetAddress> blockedAddresses, List<Subnet> blockedSubnets) {
+ this.serverAddress = serverAddress;
+ this.port = port;
+ this.implicitSsl = implicitSsl;
+ this.dataConnectionConfig = dataConnectionConfig;
+ this.ssl = sslConfiguration;
+ this.idleTimeout = idleTimeout;
+
+ if(blockedAddresses != null) {
+ this.blockedAddresses = Collections.unmodifiableList(blockedAddresses);
+ }
+ if(blockedSubnets != null) {
+ this.blockedSubnets = Collections.unmodifiableList(blockedSubnets);
+ }
+
+ }
+
/**
* {@inheritDoc}
*/
@@ -53,24 +82,18 @@
/**
* {@inheritDoc}
*/
- public void setImplicitSsl(boolean implicitSsl) {
- this.implicitSsl = implicitSsl;
- }
-
- /**
- * {@inheritDoc}
- */
public int getPort() {
return port;
}
/**
- * {@inheritDoc}
+ * Used internally to update the port after binding
+ * @param port
*/
- public void setPort(int port) {
+ protected void setPort(int port) {
this.port = port;
}
-
+
/**
* {@inheritDoc}
*/
@@ -81,36 +104,42 @@
/**
* {@inheritDoc}
*/
- public void setServerAddress(InetAddress serverAddress) {
- this.serverAddress = serverAddress;
+ public SslConfiguration getSslConfiguration() {
+ return ssl;
}
/**
* {@inheritDoc}
*/
- public SslConfiguration getSslConfiguration() {
- return ssl;
+ public DataConnectionConfiguration getDataConnectionConfiguration() {
+ return dataConnectionConfig;
}
/**
- * {@inheritDoc}
+ * Get the number of seconds during which no network activity
+ * is allowed before a session is closed due to inactivity.
+ * @return The idle time out
*/
- public void setSslConfiguration(SslConfiguration ssl) {
- this.ssl = ssl;
+ public int getIdleTimeout() {
+ return idleTimeout;
}
/**
- * {@inheritDoc}
+ * Retrives the {@link InetAddress} for which this listener blocks
+ * connections
+ *
+ * @return The list of {@link InetAddress}es
*/
- public DataConnectionConfiguration getDataConnectionConfiguration() {
- return dataConnectionConfig;
+ public List<InetAddress> getBlockedAddresses() {
+ return blockedAddresses;
}
/**
- * {@inheritDoc}
+ * Retrieves the {@link Subnet}s for this listener blocks connections
+ *
+ * @return The list of {@link Subnet}s
*/
- public void setDataConnectionConfiguration(
- DataConnectionConfiguration dataConnectionConfig) {
- this.dataConnectionConfig = dataConnectionConfig;
+ public List<Subnet> getBlockedSubnets() {
+ return blockedSubnets;
}
}
Propchange: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java Tue Sep 30 13:34:30 2008
@@ -33,9 +33,9 @@
import org.apache.ftpserver.FtpHandler;
import org.apache.ftpserver.filter.FtpLoggingFilter;
import org.apache.ftpserver.impl.DefaultFtpHandler;
+import org.apache.ftpserver.interfaces.DataConnectionConfiguration;
import org.apache.ftpserver.interfaces.FtpIoSession;
import org.apache.ftpserver.interfaces.FtpServerContext;
-import org.apache.ftpserver.listener.AbstractListener;
import org.apache.ftpserver.listener.Listener;
import org.apache.ftpserver.ssl.ClientAuth;
import org.apache.ftpserver.ssl.SslConfiguration;
@@ -74,20 +74,17 @@
private FtpHandler handler = new DefaultFtpHandler();
- private int idleTimeout = 300;
-
- private List<InetAddress> blockedAddresses;
-
- private List<Subnet> blockedSubnets;
-
private FtpServerContext context;
- public int getIdleTimeout() {
- return idleTimeout;
- }
-
- public void setIdleTimeout(int idleTimeout) {
- this.idleTimeout = idleTimeout;
+ public NioListener(InetAddress serverAddress, int port,
+ boolean implicitSsl,
+ SslConfiguration sslConfiguration,
+ DataConnectionConfiguration dataConnectionConfig,
+ int idleTimeout, List<InetAddress> blockedAddresses, List<Subnet> blockedSubnets) {
+ super(serverAddress, port, implicitSsl, sslConfiguration, dataConnectionConfig,
+ idleTimeout, blockedAddresses, blockedSubnets);
+
+ updateBlacklistFilter();
}
private void updateBlacklistFilter() {
@@ -96,10 +93,10 @@
.getFilterChain().get("ipFilter");
if (filter != null) {
- if (blockedAddresses != null) {
- filter.setBlacklist(blockedAddresses);
- } else if (blockedSubnets != null) {
- filter.setSubnetBlacklist(blockedSubnets);
+ if (getBlockedAddresses() != null) {
+ filter.setBlacklist(getBlockedAddresses());
+ } else if (getBlockedSubnets() != null) {
+ filter.setSubnetBlacklist(getBlockedSubnets());
} else {
// an empty list clears the blocked addresses
filter.setSubnetBlacklist(new ArrayList<Subnet>());
@@ -127,7 +124,7 @@
acceptor.setReuseAddress(true);
acceptor.getSessionConfig().setReadBufferSize(2048);
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE,
- idleTimeout);
+ getIdleTimeout());
// Decrease the default receiver buffer size
((SocketSessionConfig) acceptor.getSessionConfig())
.setReceiveBufferSize(512);
@@ -231,82 +228,7 @@
acceptor.unbind(address);
}
}
-
- /**
- * Get the {@link ExecutorService} used for processing requests. The default
- * value is a cached thread pool.
- *
- * @return The {@link ExecutorService}
- */
- public ExecutorService getFilterExecutor() {
- return filterExecutor;
- }
-
- /**
- * Set the {@link ExecutorService} used for processing requests
- *
- * @param filterExecutor
- * The {@link ExecutorService}
- */
- public void setFilterExecutor(ExecutorService filterExecutor) {
- this.filterExecutor = filterExecutor;
- }
-
- public FtpHandler getHandler() {
- return handler;
- }
-
- public void setHandler(FtpHandler handler) {
- this.handler = handler;
-
- if (acceptor != null) {
- ((FtpHandlerAdapter) acceptor.getHandler()).setFtpHandler(handler);
- }
- }
-
- /**
- * Retrives the {@link InetAddress} for which this listener blocks
- * connections
- *
- * @return The list of {@link InetAddress}es
- */
- public synchronized List<InetAddress> getBlockedAddresses() {
- return blockedAddresses;
- }
-
- /**
- * Sets the {@link InetAddress} that this listener will block from
- * connecting
- *
- * @param blockedAddresses
- * The list of {@link InetAddress}es
- */
- public synchronized void setBlockedAddresses(
- List<InetAddress> blockedAddresses) {
- this.blockedAddresses = blockedAddresses;
- updateBlacklistFilter();
- }
-
- /**
- * Retrives the {@link Subnet}s for which this acceptor blocks connections
- *
- * @return The list of {@link Subnet}s
- */
- public synchronized List<Subnet> getBlockedSubnets() {
- return blockedSubnets;
- }
-
- /**
- * Sets the {@link Subnet}s that this listener will block from connecting
- *
- * @param blockedAddresses
- * The list of {@link Subnet}s
- */
- public synchronized void setBlockedSubnets(List<Subnet> blockedSubnets) {
- this.blockedSubnets = blockedSubnets;
- updateBlacklistFilter();
- }
-
+
/**
* @see Listener#getActiveSessions()
*/
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java Tue Sep 30 13:34:30 2008
@@ -30,6 +30,7 @@
import org.apache.commons.net.ftp.FTPConnectionClosedException;
import org.apache.ftpserver.DefaultFtpServerContext;
import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.listener.nio.NioListener;
import org.apache.ftpserver.test.TestUtil;
import org.apache.ftpserver.usermanager.ClearTextPasswordEncryptor;
@@ -82,9 +83,10 @@
DefaultFtpServerContext context = new DefaultFtpServerContext();
- NioListener listener = new NioListener();
- listener.setPort(port);
- context.setListener("default", listener);
+ ListenerFactory factory = new ListenerFactory();
+
+ factory.setPort(port);
+ context.setListener("default", factory.createListener());
PropertiesUserManager userManager = new PropertiesUserManager();
userManager.setAdminName("admin");
Added: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java?rev=700572&view=auto
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java (added)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java Tue Sep 30 13:34:30 2008
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ftpserver.clienttests;
+
+import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.listener.ListenerFactory;
+import org.apache.ftpserver.listener.nio.NioListener;
+
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
+public class ConnectPickPortTest extends ClientTestTemplate {
+
+ @Override
+ protected boolean isConnectClient() {
+ return false;
+ }
+
+ @Override
+ protected boolean isStartServer() {
+ return false;
+ }
+
+ @Override
+ protected FtpServer createServer() throws Exception {
+ FtpServer server = super.createServer();
+
+ ListenerFactory factory = new ListenerFactory();
+ factory.setPort(0);
+
+ server.addListener("default", factory.createListener());
+
+ return server;
+ }
+
+ public void testPortWithZeroPort() throws Exception {
+ assertEquals(0, ((NioListener) server.getServerContext().getListener(
+ "default")).getPort());
+
+ server.start();
+
+ assertTrue(((NioListener) server.getServerContext().getListener(
+ "default")).getPort() > 0);
+ }
+}
Propchange: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java Tue Sep 30 13:34:30 2008
@@ -39,18 +39,6 @@
return false;
}
- public void testPortWithZeroPort() throws Exception {
- ((NioListener) server.getServerContext().getListener("default"))
- .setPort(0);
- assertEquals(0, ((NioListener) server.getServerContext().getListener(
- "default")).getPort());
-
- server.start();
-
- assertTrue(((NioListener) server.getServerContext().getListener(
- "default")).getPort() > 0);
- }
-
public void testPort() throws Exception {
assertEquals(port, ((NioListener) server.getServerContext()
.getListener("default")).getPort());
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java Tue Sep 30 13:34:30 2008
@@ -25,7 +25,7 @@
import org.apache.commons.net.ftp.FTPConnectionClosedException;
import org.apache.ftpserver.FtpServer;
-import org.apache.ftpserver.listener.nio.NioListener;
+import org.apache.ftpserver.listener.ListenerFactory;
/**
*
@@ -37,14 +37,15 @@
protected FtpServer createServer() throws Exception {
FtpServer server = super.createServer();
- NioListener listener = (NioListener) server.getServerContext()
- .getListener("default");
+ ListenerFactory factory = new ListenerFactory(server.getListener("default"));
List<InetAddress> blockedAddresses = new ArrayList<InetAddress>();
blockedAddresses.add(InetAddress.getByName("localhost"));
- listener.setBlockedAddresses(blockedAddresses);
+ factory.setBlockedAddresses(blockedAddresses);
+ server.addListener("default", factory.createListener());
+
return server;
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java Tue Sep 30 13:34:30 2008
@@ -25,6 +25,7 @@
import org.apache.commons.net.ftp.FTPConnectionClosedException;
import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.listener.nio.NioListener;
import org.apache.mina.filter.firewall.Subnet;
@@ -38,14 +39,15 @@
protected FtpServer createServer() throws Exception {
FtpServer server = super.createServer();
- NioListener listener = (NioListener) server.getServerContext()
- .getListener("default");
+ ListenerFactory factory = new ListenerFactory(server.getListener("default"));
List<Subnet> blockedSubnets = new ArrayList<Subnet>();
blockedSubnets.add(new Subnet(InetAddress.getByName("localhost"), 32));
- listener.setBlockedSubnets(blockedSubnets);
+ factory.setBlockedSubnets(blockedSubnets);
+ server.addListener("default", factory.createListener());
+
return server;
}
Added: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java?rev=700572&view=auto
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java (added)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java Tue Sep 30 13:34:30 2008
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ftpserver.config.spring;
+
+import java.net.InetAddress;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.ftpserver.interfaces.DataConnectionConfiguration;
+import org.apache.ftpserver.interfaces.FtpIoSession;
+import org.apache.ftpserver.interfaces.FtpServerContext;
+import org.apache.ftpserver.listener.Listener;
+import org.apache.ftpserver.ssl.SslConfiguration;
+import org.apache.mina.filter.firewall.Subnet;
+
+/**
+ * Used for testing creation of custom listeners from Spring config
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ *
+ */
+public class MyCustomListener implements Listener {
+
+ private int port;
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ public Set<FtpIoSession> getActiveSessions() {
+ return null;
+ }
+
+ public DataConnectionConfiguration getDataConnectionConfiguration() {
+ return null;
+ }
+
+ public int getIdleTimeout() {
+ return 0;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public InetAddress getServerAddress() {
+ return null;
+ }
+
+ public SslConfiguration getSslConfiguration() {
+ return null;
+ }
+
+ public boolean isImplicitSsl() {
+ return false;
+ }
+
+ public boolean isStopped() {
+ return false;
+ }
+
+ public boolean isSuspended() {
+ return false;
+ }
+
+ public void resume() {
+
+ }
+
+ public void start(FtpServerContext serverContext) throws Exception {
+
+ }
+
+ public void stop() {
+
+ }
+
+ public void suspend() {
+
+ }
+
+ public List<InetAddress> getBlockedAddresses() {
+ return null;
+ }
+
+ public List<Subnet> getBlockedSubnets() {
+ return null;
+ }
+
+}
Propchange: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java Tue Sep 30 13:34:30 2008
@@ -98,13 +98,13 @@
listener = listeners.get("listener1");
assertNotNull(listener);
- assertTrue(listener instanceof NioListener);
- assertEquals(2223, ((NioListener) listener).getPort());
+ assertTrue(listener instanceof MyCustomListener);
+ assertEquals(2223, listener.getPort());
listener = listeners.get("listener2");
assertNotNull(listener);
- assertTrue(listener instanceof NioListener);
- assertEquals(2224, ((NioListener) listener).getPort());
+ assertTrue(listener instanceof MyCustomListener);
+ assertEquals(2224, listener.getPort());
DefaultCommandFactory cf = (DefaultCommandFactory) server
.getServerContext().getCommandFactory();
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java Tue Sep 30 13:34:30 2008
@@ -33,6 +33,7 @@
import org.apache.ftpserver.DefaultFtpServerContext;
import org.apache.ftpserver.FtpServer;
import org.apache.ftpserver.clienttests.ClientTestTemplate;
+import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.listener.nio.NioListener;
import org.apache.ftpserver.ssl.impl.DefaultSslConfiguration;
import org.apache.ftpserver.test.TestUtil;
@@ -60,9 +61,9 @@
FtpServer server = super.createServer();
DefaultFtpServerContext context = (DefaultFtpServerContext) server
.getServerContext();
- NioListener listener = (NioListener) context.getListener("default");
-
- listener.setImplicitSsl(useImplicit());
+ ListenerFactory factory = new ListenerFactory(context.getListener("default"));
+
+ factory.setImplicitSsl(useImplicit());
DefaultSslConfiguration sslConfig = new DefaultSslConfiguration();
sslConfig.setKeystoreFile(FTPSERVER_KEYSTORE);
@@ -71,7 +72,7 @@
sslConfig.setClientAuthentication(getClientAuth());
sslConfig.setKeyPassword(KEYSTORE_PASSWORD);
- listener.setSslConfiguration(sslConfig);
+ factory.setSslConfiguration(sslConfig);
DefaultSslConfiguration dataSslConfig = new DefaultSslConfiguration();
dataSslConfig.setKeystoreFile(FTPSERVER_KEYSTORE);
@@ -83,8 +84,10 @@
DefaultDataConnectionConfiguration dataConfig = new DefaultDataConnectionConfiguration();
dataConfig.setSslConfiguration(dataSslConfig);
- listener.setDataConnectionConfiguration(dataConfig);
+ factory.setDataConnectionConfiguration(dataConfig);
+ server.addListener("default", factory.createListener());
+
return server;
}
Modified: mina/ftpserver/trunk/core/src/test/resources/spring-config/config-property-placeholder.xml
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/resources/spring-config/config-property-placeholder.xml?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/resources/spring-config/config-property-placeholder.xml (original)
+++ mina/ftpserver/trunk/core/src/test/resources/spring-config/config-property-placeholder.xml Tue Sep 30 13:34:30 2008
@@ -31,12 +31,12 @@
<server id="server">
<listeners>
<listener name="listener0">
- <beans:bean class="org.apache.ftpserver.listener.nio.NioListener">
+ <beans:bean class="org.apache.ftpserver.config.spring.MyCustomListener">
<beans:property name="port" value="${port1}"/>
</beans:bean>
</listener>
<listener name="listener1">
- <beans:bean class="org.apache.ftpserver.listener.nio.NioListener">
+ <beans:bean class="org.apache.ftpserver.config.spring.MyCustomListener">
<beans:property name="port" value="${port2}"/>
</beans:bean>
</listener>
Modified: mina/ftpserver/trunk/core/src/test/resources/spring-config/config-spring-1.xml
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/resources/spring-config/config-spring-1.xml?rev=700572&r1=700571&r2=700572&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/resources/spring-config/config-spring-1.xml (original)
+++ mina/ftpserver/trunk/core/src/test/resources/spring-config/config-spring-1.xml Tue Sep 30 13:34:30 2008
@@ -45,13 +45,13 @@
<blacklist>1.2.3.0/16, 1.2.4.0/16, 1.2.3.4</blacklist>
</nio-listener>
<listener name="listener1">
- <beans:bean id="listener1" class="org.apache.ftpserver.listener.nio.NioListener">
+ <beans:bean id="listener1" class="org.apache.ftpserver.config.spring.MyCustomListener">
<beans:property name="port" value="2223"/>
</beans:bean>
</listener>
<listener name="listener2">
- <beans:bean class="org.apache.ftpserver.listener.nio.NioListener">
+ <beans:bean class="org.apache.ftpserver.config.spring.MyCustomListener">
<beans:property name="port" value="2224"/>
</beans:bean>
</listener>