This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch 1.2.X
in repository https://gitbox.apache.org/repos/asf/mina-ftpserver.git


The following commit(s) were added to refs/heads/1.2.X by this push:
     new 0ab659cd Removed the '+' in logs; Added some empty lines to clarify 
the code; Declared a constant for anonymous
0ab659cd is described below

commit 0ab659cd79027baf17970219af8cf4e9287d650d
Author: emmanuel lecharny <[email protected]>
AuthorDate: Sun Jan 5 07:19:50 2025 +0100

    Removed the '+' in logs; Added some empty lines to clarify the code; 
Declared a constant for anonymous
---
 .../org/apache/ftpserver/command/impl/DELE.java    |  2 +-
 .../org/apache/ftpserver/command/impl/EPRT.java    |  6 ++--
 .../org/apache/ftpserver/command/impl/MD5.java     |  2 +-
 .../org/apache/ftpserver/command/impl/MFMT.java    |  2 +-
 .../org/apache/ftpserver/command/impl/PASS.java    |  3 +-
 .../org/apache/ftpserver/command/impl/PORT.java    |  2 +-
 .../org/apache/ftpserver/command/impl/REST.java    |  2 +-
 .../org/apache/ftpserver/command/impl/TYPE.java    |  2 +-
 .../filesystem/nativefs/impl/NativeFtpFile.java    |  4 +--
 .../apache/ftpserver/impl/DefaultFtpServer.java    |  5 ++++
 .../ftpserver/impl/DefaultFtpServerContext.java    | 34 +++++++++++++++-------
 .../apache/ftpserver/impl/FtpServerContext.java    | 16 ++++++++++
 .../apache/ftpserver/listener/ListenerFactory.java | 30 +++++++++----------
 .../apache/ftpserver/listener/nio/NioListener.java |  1 +
 .../usermanager/impl/PropertiesUserManager.java    |  6 ++--
 .../org/apache/ftpserver/ftplet/UserManager.java   |  2 ++
 16 files changed, 76 insertions(+), 43 deletions(-)

diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/DELE.java 
b/core/src/main/java/org/apache/ftpserver/command/impl/DELE.java
index d3d39c40..a4588e11 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/DELE.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/DELE.java
@@ -74,7 +74,7 @@ public class DELE extends AbstractCommand {
         try {
             file = session.getFileSystemView().getFile(fileName);
         } catch (Exception ex) {
-            LOG.debug("Could not get file " + fileName, ex);
+            LOG.debug("Could not get file {}", fileName, ex);
         }
         if (file == null) {
             session.write(LocalizedFileActionFtpReply.translate(session, 
request, context,
diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/EPRT.java 
b/core/src/main/java/org/apache/ftpserver/command/impl/EPRT.java
index c49cf3a7..60f1adb4 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/EPRT.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/EPRT.java
@@ -88,7 +88,7 @@ public class EPRT extends AbstractCommand {
             host = arg.substring(3, lastDelimIdx);
             port = arg.substring(lastDelimIdx + 1, arg.length() - 1);
         } catch (Exception ex) {
-            LOG.debug("Exception parsing host and port: " + arg, ex);
+            LOG.debug("Exception parsing host and port: {}", arg, ex);
             session.write(LocalizedFtpReply.translate(session, request, 
context,
                     
FtpReply.REPLY_501_SYNTAX_ERROR_IN_PARAMETERS_OR_ARGUMENTS, "EPRT", null));
             return;
@@ -99,7 +99,7 @@ public class EPRT extends AbstractCommand {
         try {
             dataAddr = InetAddress.getByName(host);
         } catch (UnknownHostException ex) {
-            LOG.debug("Unknown host: " + host, ex);
+            LOG.debug("Unknown host: {}", host, ex);
             session
                     .write(LocalizedFtpReply
                             .translate(
@@ -129,7 +129,7 @@ public class EPRT extends AbstractCommand {
         try {
             dataPort = Integer.parseInt(port);
         } catch (NumberFormatException ex) {
-            LOG.debug("Invalid port: " + port, ex);
+            LOG.debug("Invalid port: {}", port, ex);
             session
                     .write(LocalizedFtpReply
                             .translate(
diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/MD5.java 
b/core/src/main/java/org/apache/ftpserver/command/impl/MD5.java
index 87114df6..e775e5ad 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/MD5.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/MD5.java
@@ -102,7 +102,7 @@ public class MD5 extends AbstractCommand {
             try {
                 file = session.getFileSystemView().getFile(fileName);
             } catch (Exception ex) {
-                LOG.debug("Exception getting the file object: " + fileName, 
ex);
+                LOG.debug("Exception getting the file object: {}", fileName, 
ex);
             }
 
             if (file == null) {
diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/MFMT.java 
b/core/src/main/java/org/apache/ftpserver/command/impl/MFMT.java
index 4fac83ad..d90c7a9e 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/MFMT.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/MFMT.java
@@ -101,7 +101,7 @@ public class MFMT extends AbstractCommand {
             try {
                 file = session.getFileSystemView().getFile(fileName);
             } catch (Exception ex) {
-                LOG.debug("Exception getting the file object: " + fileName, 
ex);
+                LOG.debug("Exception getting the file object: {}", fileName, 
ex);
             }
 
             if (file == null || !file.doesExist()) {
diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java 
b/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java
index 8851537c..a2ca32fd 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/PASS.java
@@ -258,8 +258,7 @@ public class PASS extends AbstractCommand {
     private void delayAfterLoginFailure(final int loginFailureDelay) {
 
         if (loginFailureDelay > 0) {
-            LOG.debug("Waiting for " + loginFailureDelay
-                    + " milliseconds due to login failure");
+            LOG.debug("Waiting for {} milliseconds due to login failure", 
loginFailureDelay);
 
             try {
                 Thread.sleep(loginFailureDelay);
diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/PORT.java 
b/core/src/main/java/org/apache/ftpserver/command/impl/PORT.java
index 4818ded8..fb05c1be 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/PORT.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/PORT.java
@@ -103,7 +103,7 @@ public class PORT extends AbstractCommand {
                     
FtpReply.REPLY_501_SYNTAX_ERROR_IN_PARAMETERS_OR_ARGUMENTS, "PORT", null));
             return;
         } catch (IllegalPortException e) {
-            LOG.debug("Invalid data port: " + request.getArgument(), e);
+            LOG.debug("Invalid data port: {}", request.getArgument(), e);
             session
                     .write(LocalizedFtpReply
                             .translate(
diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/REST.java 
b/core/src/main/java/org/apache/ftpserver/command/impl/REST.java
index c82ac9bc..fd458490 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/REST.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/REST.java
@@ -93,7 +93,7 @@ public class REST extends AbstractCommand {
                                         "REST", null));
             }
         } catch (NumberFormatException ex) {
-            LOG.debug("Invalid restart position: " + argument, ex);
+            LOG.debug("Invalid restart position: {}", argument, ex);
             session.write(LocalizedFtpReply.translate(session, request, 
context,
                     FtpReply.REPLY_501_SYNTAX_ERROR_IN_PARAMETERS_OR_ARGUMENTS,
                     "REST.invalid", null));
diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/TYPE.java 
b/core/src/main/java/org/apache/ftpserver/command/impl/TYPE.java
index 8513ae39..f5b936d5 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/TYPE.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/TYPE.java
@@ -79,7 +79,7 @@ public class TYPE extends AbstractCommand {
             session.write(LocalizedFtpReply.translate(session, request, 
context,
                     FtpReply.REPLY_200_COMMAND_OKAY, "TYPE", null));
         } catch (IllegalArgumentException e) {
-            LOG.debug("Illegal type argument: " + request.getArgument(), e);
+            LOG.debug("Illegal type argument: {}", request.getArgument(), e);
             session
                     .write(LocalizedFtpReply
                             .translate(
diff --git 
a/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java
 
b/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java
index 9ef41c7d..2237ab52 100644
--- 
a/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java
+++ 
b/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java
@@ -203,7 +203,7 @@ public class NativeFtpFile implements FtpFile {
      * {@inheritDoc}
      */
     public boolean isWritable() {
-        LOG.debug("Checking authorization for " + getAbsolutePath());
+        LOG.debug("Checking authorization for {}", getAbsolutePath());
         if (user.authorize(new WriteRequest(getAbsolutePath())) == null) {
             LOG.debug("Not authorized");
             return false;
@@ -211,7 +211,7 @@ public class NativeFtpFile implements FtpFile {
 
         LOG.debug("Checking if file exists");
         if (file.exists()) {
-            LOG.debug("Checking can write: " + file.canWrite());
+            LOG.debug("Checking can write: {}", file.canWrite());
             return file.canWrite();
         }
 
diff --git a/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java 
b/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java
index da7ba2da..0bbb6b55 100644
--- a/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java
+++ b/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java
@@ -117,6 +117,7 @@ public class DefaultFtpServer implements FtpServer {
 
         // stop all listeners
         Map<String, Listener> listeners = serverContext.getListeners();
+
         for (Listener listener : listeners.values()) {
             listener.stop();
         }
@@ -151,8 +152,10 @@ public class DefaultFtpServer implements FtpServer {
         }
 
         LOG.debug("Suspending server");
+
         // stop all listeners
         Map<String, Listener> listeners = serverContext.getListeners();
+
         for (Listener listener : listeners.values()) {
             listener.suspend();
         }
@@ -170,7 +173,9 @@ public class DefaultFtpServer implements FtpServer {
         }
 
         LOG.debug("Resuming server");
+
         Map<String, Listener> listeners = serverContext.getListeners();
+
         for (Listener listener : listeners.values()) {
             listener.resume();
         }
diff --git 
a/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java 
b/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java
index e75cb96f..38326c6c 100644
--- a/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java
+++ b/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java
@@ -59,9 +59,8 @@ import org.slf4j.LoggerFactory;
  * @author <a href="http://mina.apache.org";>Apache MINA Project</a>
  */
 public class DefaultFtpServerContext implements FtpServerContext {
-
-    private final Logger LOG = LoggerFactory
-            .getLogger(DefaultFtpServerContext.class);
+    /** Defines the logger for this class */
+    private final Logger LOG = 
LoggerFactory.getLogger(DefaultFtpServerContext.class);
 
     /** The FTP messages per language */
     private MessageResource messageResource = new 
MessageResourceFactory().createMessageResource();
@@ -76,8 +75,10 @@ public class DefaultFtpServerContext implements 
FtpServerContext {
 
     private CommandFactory commandFactory = new 
CommandFactoryFactory().createCommandFactory();
 
+    /** The connection configuration */
     private ConnectionConfig connectionConfig = new 
ConnectionConfigFactory().createConnectionConfig();
 
+    /** The declared listeners for this context */
     private Map<String, Listener> listeners = new HashMap<>();
 
     private static final List<Authority> ADMIN_AUTHORITIES = new ArrayList<>();
@@ -90,7 +91,6 @@ public class DefaultFtpServerContext implements 
FtpServerContext {
 
     static {
         ADMIN_AUTHORITIES.add(new WritePermission());
-
         ANON_AUTHORITIES.add(new ConcurrentLoginPermission(20, 2));
         ANON_AUTHORITIES.add(new TransferRatePermission(4800, 4800));
     }
@@ -113,25 +113,24 @@ public class DefaultFtpServerContext implements 
FtpServerContext {
 
         // create admin user
         String adminName = userManager.getAdminName();
+
         if (!userManager.doesExist(adminName)) {
-            LOG.info("Creating user : " + adminName);
+            LOG.info("Creating user : {}", adminName);
             BaseUser adminUser = new BaseUser();
             adminUser.setName(adminName);
             adminUser.setPassword(adminName);
             adminUser.setEnabled(true);
-
             adminUser.setAuthorities(ADMIN_AUTHORITIES);
-
             adminUser.setHomeDirectory("./res/home");
             adminUser.setMaxIdleTime(0);
             userManager.save(adminUser);
         }
 
         // create anonymous user
-        if (!userManager.doesExist("anonymous")) {
-            LOG.info("Creating user : anonymous");
+        if (!userManager.doesExist(UserManager.ANONYMOUS)) {
+            LOG.info("Creating user : {}", UserManager.ANONYMOUS);
             BaseUser anonUser = new BaseUser();
-            anonUser.setName("anonymous");
+            anonUser.setName(UserManager.ANONYMOUS);
             anonUser.setPassword("");
 
             anonUser.setAuthorities(ANON_AUTHORITIES);
@@ -211,9 +210,11 @@ public class DefaultFtpServerContext implements 
FtpServerContext {
     public void dispose() {
         listeners.clear();
         ftpletContainer.getFtplets().clear();
+
         if (threadPoolExecutor != null) {
             LOG.debug("Shutting down the thread pool executor");
             threadPoolExecutor.shutdown();
+
             try {
                 threadPoolExecutor.awaitTermination(5000, 
TimeUnit.MILLISECONDS);
             } catch (InterruptedException e) {
@@ -223,6 +224,9 @@ public class DefaultFtpServerContext implements 
FtpServerContext {
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public Listener getListener(String name) {
         return listeners.get(name);
     }
@@ -231,6 +235,9 @@ public class DefaultFtpServerContext implements 
FtpServerContext {
         listeners.put(name, listener);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public Map<String, Listener> getListeners() {
         return listeners;
     }
@@ -267,6 +274,9 @@ public class DefaultFtpServerContext implements 
FtpServerContext {
         this.userManager = userManager;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public ConnectionConfig getConnectionConfig() {
         return connectionConfig;
     }
@@ -278,17 +288,21 @@ public class DefaultFtpServerContext implements 
FtpServerContext {
     public synchronized ThreadPoolExecutor getThreadPoolExecutor() {
         if (threadPoolExecutor == null) {
             int maxThreads = connectionConfig.getMaxThreads();
+
             if (maxThreads < 1) {
                 int maxLogins = connectionConfig.getMaxLogins();
+
                 if (maxLogins > 0) {
                     maxThreads = maxLogins;
                 } else {
                     maxThreads = 16;
                 }
             }
+
             LOG.debug("Intializing shared thread pool executor with max 
threads of {}", maxThreads);
             threadPoolExecutor = new OrderedThreadPoolExecutor(maxThreads);
         }
+
         return threadPoolExecutor;
     }
 }
diff --git a/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java 
b/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java
index 83a5870a..0fa72d9e 100644
--- a/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java
+++ b/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java
@@ -39,6 +39,11 @@ import org.apache.ftpserver.message.MessageResource;
  */
 public interface FtpServerContext extends FtpletContext {
 
+    /**
+     * Get the connection configuration
+     *
+     * @return the connection configuration
+     */
     ConnectionConfig getConnectionConfig();
 
     /**
@@ -55,8 +60,19 @@ public interface FtpServerContext extends FtpletContext {
      */
     FtpletContainer getFtpletContainer();
 
+    /**
+     * Get a specific listener
+     *
+     * @param name The listener to fetch
+     * @return The found listener
+     */
     Listener getListener(String name);
 
+    /**
+     * Get all the listeners
+     *
+     * @return The list of existing listeners
+     */
     Map<String, Listener> getListeners();
 
     /**
diff --git 
a/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java 
b/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java
index 7db9c382..1a292d30 100644
--- a/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java
+++ b/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java
@@ -38,9 +38,10 @@ import org.apache.mina.filter.firewall.Subnet;
  * @author <a href="http://mina.apache.org";>Apache MINA Project</a>
  */
 public class ListenerFactory {
-
+    /** The server address */
     private String serverAddress;
 
+    /** The port. Default to 21 */
     private int port = 21;
 
     private SslConfiguration ssl;
@@ -96,6 +97,7 @@ public class ListenerFactory {
         } catch (UnknownHostException e) {
             throw new FtpServerConfigurationException("Unknown host", e);
         }
+
         // Deal with the old style black list and new session Filter here.
         if (sessionFilter != null) {
             if (blockedAddresses != null || blockedSubnets != null) {
@@ -103,6 +105,7 @@ public class ListenerFactory {
                         "Usage of SessionFilter in combination with 
blockedAddesses/subnets is not supported. ");
             }
         }
+
         if (blockedAddresses != null || blockedSubnets != null) {
             return new NioListener(serverAddress, port, implicitSsl, ssl,
                     dataConnectionConfig, idleTimeout, blockedAddresses,
@@ -117,8 +120,7 @@ public class ListenerFactory {
      * 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
+     * @return true is listeners created by this factory is automatically in 
SSL mode, false otherwise
      */
     public boolean isImplicitSsl() {
         return implicitSsl;
@@ -128,9 +130,8 @@ public class ListenerFactory {
      * 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
+     * @param implicitSsl <code>true</code> is listeners created by this 
factory should automatically be in SSL mode,
+     *            <code>false</code> otherwise
      */
     public void setImplicitSsl(boolean implicitSsl) {
         this.implicitSsl = implicitSsl;
@@ -149,8 +150,7 @@ public class ListenerFactory {
      * 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.
+     * @param port The port to use.
      */
     public void setPort(int port) {
         this.port = port;
@@ -170,8 +170,7 @@ public class ListenerFactory {
      * 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}
+     * @param serverAddress The local socket {@link InetAddress}
      */
     public void setServerAddress(String serverAddress) {
         this.serverAddress = serverAddress;
@@ -188,6 +187,7 @@ public class ListenerFactory {
 
     /**
      * Set the {@link SslConfiguration} to use by listeners created by this 
factory
+     *
      * @param ssl The {@link SslConfiguration}
      */
     public void setSslConfiguration(SslConfiguration ssl) {
@@ -206,8 +206,7 @@ public class ListenerFactory {
     /**
      * Set configuration for data connections made within listeners created by 
this factory
      *
-     * @param dataConnectionConfig
-     *            The data connection configuration
+     * @param dataConnectionConfig The data connection configuration
      */
     public void setDataConnectionConfiguration(
             DataConnectionConfiguration dataConnectionConfig) {
@@ -217,6 +216,7 @@ public class ListenerFactory {
     /**
      * 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() {
@@ -250,8 +250,7 @@ public class ListenerFactory {
      * Sets the {@link InetAddress} that listeners created by this factory 
will block from
      * connecting
      *
-     * @param blockedAddresses
-     *            The list of {@link InetAddress}es
+     * @param blockedAddresses The list of {@link InetAddress}es
      */
     @Deprecated
     public void setBlockedAddresses(List<InetAddress> blockedAddresses) {
@@ -294,8 +293,7 @@ public class ListenerFactory {
     /**
      * Sets the session filter to the given filter.
      *
-     * @param sessionFilter
-     *            the session filter.
+     * @param sessionFilter the session filter.
      */
     public void setSessionFilter(SessionFilter sessionFilter) {
         this.sessionFilter = sessionFilter;
diff --git 
a/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java 
b/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java
index e4f387c4..63f5fd8e 100644
--- a/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java
+++ b/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java
@@ -136,6 +136,7 @@ public class NioListener extends AbstractListener {
             acceptor.setReuseAddress(true);
             acceptor.getSessionConfig().setReadBufferSize(2048);
             acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 
getIdleTimeout());
+
             // Decrease the default receiver buffer size
             acceptor.getSessionConfig().setReceiveBufferSize(512);
 
diff --git 
a/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java
 
b/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java
index 6b31ce88..ef0cc8d8 100644
--- 
a/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java
+++ 
b/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java
@@ -215,14 +215,12 @@ public class PropertiesUserManager extends 
AbstractUserManager {
     public void refresh() {
         synchronized (userDataProp) {
             if (userDataFile != null) {
-                LOG.debug("Refreshing user manager using file: "
-                        + userDataFile.getAbsolutePath());
+                LOG.debug("Refreshing user manager using file: {}", 
userDataFile.getAbsolutePath());
                 loadFromFile(userDataFile);
 
             } else {
                 //file is null, must have been created using URL
-                LOG.debug("Refreshing user manager using URL: "
-                        + userUrl.toString());
+                LOG.debug("Refreshing user manager using URL: {}", 
userUrl.toString());
                 loadFromUrl(userUrl);
             }
         }
diff --git 
a/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/UserManager.java 
b/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/UserManager.java
index 62b148f7..94d3e115 100644
--- a/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/UserManager.java
+++ b/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/UserManager.java
@@ -25,6 +25,8 @@ package org.apache.ftpserver.ftplet;
  * @author <a href="http://mina.apache.org";>Apache MINA Project</a>
  */
 public interface UserManager {
+    /** The anonymous user */
+    String ANONYMOUS = "anonymous";
 
     /**
      * Get user by name.

Reply via email to