Hello,

parser of spring xml configuration file doesn't cover all configuration
possibilities (and relevant unit test and testing xml file even more).
Attached file is a patch for one such a hole.

Jiří Kuhn.
Index: core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java
===================================================================
--- core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java	(revision 727999)
+++ core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java	(working copy)
@@ -67,6 +67,8 @@
         assertEquals(2222, ((NioListener) listener).getPort());
         assertEquals(InetAddress.getByName("1.2.3.4"), InetAddress.getByName(((NioListener) listener)
                 .getServerAddress()));
+        assertEquals(100, ((NioListener) listener)
+                .getDataConnectionConfiguration().getIdleTime());
         assertEquals(true, ((NioListener) listener)
                 .getDataConnectionConfiguration().isActiveEnabled());
         assertEquals(InetAddress.getByName("1.2.3.4"), InetAddress.getByName(((NioListener) listener)
Index: core/src/test/resources/spring-config/config-spring-1.xml
===================================================================
--- core/src/test/resources/spring-config/config-spring-1.xml	(revision 727999)
+++ core/src/test/resources/spring-config/config-spring-1.xml	(working copy)
@@ -38,7 +38,7 @@
                     <keystore file="src/test/resources/ftpserver.jks" password="password"/>
                 </ssl>
 
-				<data-connection>
+				<data-connection idle-timeout="100">
 					<active enabled="true" local-address="1.2.3.4"/>
 					<passive ports="123-125"/>
 				</data-connection>
Index: core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java
===================================================================
--- core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java	(revision 727999)
+++ core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java	(working copy)
@@ -254,9 +254,13 @@
             // data con config element available
             SslConfiguration ssl = parseSsl(element);
 
-            LOG.debug("SSL configuration found for the data connection");
-            dc.setSslConfiguration(ssl);
+            if (ssl != null) {
+                LOG.debug("SSL configuration found for the data connection");
+                dc.setSslConfiguration(ssl);
+            }
 
+            dc.setIdleTime(SpringUtil.parseInt(element, "idle-timeout", dc.getIdleTime()));
+
             Element activeElm = SpringUtil.getChildElement(element,
                     FtpServerNamespaceHandler.FTPSERVER_NS, "active");
             if (activeElm != null) {

Reply via email to