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 40669e66 Applied Arturo Bernal PR for UTF-8 40669e66 is described below commit 40669e6685629a86e3cd13cd399a4be34fe1a0a2 Author: emmanuel lecharny <elecha...@apache.org> AuthorDate: Tue Apr 5 07:26:47 2022 +0200 Applied Arturo Bernal PR for UTF-8 --- .../org/apache/ftpserver/impl/IODataConnection.java | 5 +++-- .../ftpserver/listener/nio/FtpResponseEncoder.java | 4 ++-- .../listener/nio/FtpServerProtocolCodecFactory.java | 5 ++--- .../ftpserver/clienttests/ActiveModeReplyTest.java | 3 ++- .../ftpserver/clienttests/ClientTestTemplate.java | 20 +++++++------------- .../apache/ftpserver/clienttests/DecoderTest.java | 4 ++-- .../org/apache/ftpserver/clienttests/FtpMd5Test.java | 5 +++-- .../org/apache/ftpserver/clienttests/ListTest.java | 3 ++- .../org/apache/ftpserver/clienttests/NLSTTest.java | 3 ++- .../apache/ftpserver/clienttests/RetrieveTest.java | 3 ++- .../org/apache/ftpserver/clienttests/StoreTest.java | 12 ++++++------ 11 files changed, 33 insertions(+), 34 deletions(-) diff --git a/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java b/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java index 6296cedf..20cf7c0a 100644 --- a/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java +++ b/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java @@ -27,6 +27,7 @@ import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.Socket; +import java.nio.charset.StandardCharsets; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; @@ -176,13 +177,13 @@ public class IODataConnection implements DataConnection { OutputStream out = getDataOutputStream(); Writer writer = null; try { - writer = new OutputStreamWriter(out, "UTF-8"); + writer = new OutputStreamWriter(out, StandardCharsets.UTF_8); writer.write(str); // update session if (session instanceof DefaultFtpSession) { ((DefaultFtpSession) session).increaseWrittenDataBytes(str - .getBytes("UTF-8").length); + .getBytes(StandardCharsets.UTF_8).length); } } finally { if (writer != null) { diff --git a/core/src/main/java/org/apache/ftpserver/listener/nio/FtpResponseEncoder.java b/core/src/main/java/org/apache/ftpserver/listener/nio/FtpResponseEncoder.java index b7b20578..07b44779 100644 --- a/core/src/main/java/org/apache/ftpserver/listener/nio/FtpResponseEncoder.java +++ b/core/src/main/java/org/apache/ftpserver/listener/nio/FtpResponseEncoder.java @@ -19,8 +19,8 @@ */ package org.apache.ftpserver.listener.nio; -import java.nio.charset.Charset; import java.nio.charset.CharsetEncoder; +import java.nio.charset.StandardCharsets; import org.apache.ftpserver.ftplet.FtpReply; import org.apache.mina.core.buffer.IoBuffer; @@ -40,7 +40,7 @@ public class FtpResponseEncoder extends ProtocolEncoderAdapter { private static final ThreadLocal<CharsetEncoder> ENCODER = new ThreadLocal<CharsetEncoder>() { @Override protected CharsetEncoder initialValue() { - return Charset.forName("UTF-8").newEncoder(); + return StandardCharsets.UTF_8.newEncoder(); } }; diff --git a/core/src/main/java/org/apache/ftpserver/listener/nio/FtpServerProtocolCodecFactory.java b/core/src/main/java/org/apache/ftpserver/listener/nio/FtpServerProtocolCodecFactory.java index 63b7baf6..ea897189 100644 --- a/core/src/main/java/org/apache/ftpserver/listener/nio/FtpServerProtocolCodecFactory.java +++ b/core/src/main/java/org/apache/ftpserver/listener/nio/FtpServerProtocolCodecFactory.java @@ -19,7 +19,7 @@ */ package org.apache.ftpserver.listener.nio; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.ProtocolCodecFactory; @@ -35,8 +35,7 @@ import org.apache.mina.filter.codec.textline.TextLineDecoder; * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ public class FtpServerProtocolCodecFactory implements ProtocolCodecFactory { - private final ProtocolDecoder decoder = new TextLineDecoder(Charset - .forName("UTF-8")); + private final ProtocolDecoder decoder = new TextLineDecoder(StandardCharsets.UTF_8); private final ProtocolEncoder encoder = new FtpResponseEncoder(); diff --git a/core/src/test/java/org/apache/ftpserver/clienttests/ActiveModeReplyTest.java b/core/src/test/java/org/apache/ftpserver/clienttests/ActiveModeReplyTest.java index ed021741..073ca55a 100644 --- a/core/src/test/java/org/apache/ftpserver/clienttests/ActiveModeReplyTest.java +++ b/core/src/test/java/org/apache/ftpserver/clienttests/ActiveModeReplyTest.java @@ -21,6 +21,7 @@ package org.apache.ftpserver.clienttests; import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPClientConfig; @@ -47,7 +48,7 @@ public class ActiveModeReplyTest extends ClientTestTemplate { TEST_FILE1.createNewFile(); assertTrue(TEST_FILE1.exists()); - testData = ("TESTDATA").getBytes("UTF-8"); + testData = ("TESTDATA").getBytes(StandardCharsets.UTF_8); TestUtil.writeDataToFile(TEST_FILE, testData); assertTrue(TEST_FILE.exists()); diff --git a/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java b/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java index 568cd6be..0608a378 100644 --- a/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java +++ b/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java @@ -22,8 +22,6 @@ package org.apache.ftpserver.clienttests; import java.io.File; import java.io.IOException; -import junit.framework.TestCase; - import org.apache.commons.net.ProtocolCommandEvent; import org.apache.commons.net.ProtocolCommandListener; import org.apache.commons.net.ftp.FTPClient; @@ -41,15 +39,15 @@ import org.apache.ftpserver.util.IoUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import junit.framework.TestCase; + /** * * @author <a href="http://mina.apache.org">Apache MINA Project</a> * */ public abstract class ClientTestTemplate extends TestCase { - - private final Logger LOG = LoggerFactory - .getLogger(ClientTestTemplate.class); + private final Logger LOG = LoggerFactory.getLogger(ClientTestTemplate.class); protected static final String ADMIN_PASSWORD = "admin"; @@ -77,13 +75,11 @@ public abstract class ClientTestTemplate extends TestCase { protected static final File ROOT_DIR = new File(TEST_TMP_DIR, "ftproot"); protected FtpServerFactory createServer() throws Exception { - assertTrue(USERS_FILE.getAbsolutePath() + " must exist", USERS_FILE - .exists()); + assertTrue(USERS_FILE.getAbsolutePath() + " must exist", USERS_FILE.exists()); FtpServerFactory serverFactory = new FtpServerFactory(); - serverFactory.setConnectionConfig(createConnectionConfigFactory() - .createConnectionConfig()); + serverFactory.setConnectionConfig(createConnectionConfigFactory().createConnectionConfig()); ListenerFactory listenerFactory = new ListenerFactory(); @@ -161,6 +157,7 @@ public abstract class ClientTestTemplate extends TestCase { protected FTPClient createFTPClient() throws Exception { FTPClient client = new FTPClient(); client.setDefaultTimeout(10000); + return client; } @@ -170,7 +167,6 @@ public abstract class ClientTestTemplate extends TestCase { protected void connectClient() throws Exception { client = createFTPClient(); client.addProtocolCommandListener(new ProtocolCommandListener() { - public void protocolCommandSent(ProtocolCommandEvent event) { LOG.debug("> " + event.getMessage().trim()); @@ -207,8 +203,7 @@ public abstract class ClientTestTemplate extends TestCase { } protected FtpIoSession getActiveSession() { - return server.getListener("default").getActiveSessions().iterator() - .next(); + return server.getListener("default").getActiveSessions().iterator().next(); } /* @@ -237,5 +232,4 @@ public abstract class ClientTestTemplate extends TestCase { cleanTmpDirs(); } - } diff --git a/core/src/test/java/org/apache/ftpserver/clienttests/DecoderTest.java b/core/src/test/java/org/apache/ftpserver/clienttests/DecoderTest.java index 616c52c9..018c0a94 100644 --- a/core/src/test/java/org/apache/ftpserver/clienttests/DecoderTest.java +++ b/core/src/test/java/org/apache/ftpserver/clienttests/DecoderTest.java @@ -23,9 +23,9 @@ import java.io.IOException; import java.io.OutputStream; import java.nio.ByteBuffer; import java.nio.charset.CharacterCodingException; -import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.nio.charset.MalformedInputException; +import java.nio.charset.StandardCharsets; import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.binary.Hex; @@ -46,7 +46,7 @@ public class DecoderTest extends ClientTestTemplate { } public void testDecodeError() throws CharacterCodingException { - CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder(); + CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder(); ByteBuffer buffer = ByteBuffer.wrap(b); try { diff --git a/core/src/test/java/org/apache/ftpserver/clienttests/FtpMd5Test.java b/core/src/test/java/org/apache/ftpserver/clienttests/FtpMd5Test.java index 2221dd15..8fcfb874 100644 --- a/core/src/test/java/org/apache/ftpserver/clienttests/FtpMd5Test.java +++ b/core/src/test/java/org/apache/ftpserver/clienttests/FtpMd5Test.java @@ -20,6 +20,7 @@ package org.apache.ftpserver.clienttests; import java.io.File; +import java.nio.charset.StandardCharsets; import java.security.Security; import java.util.HashMap; import java.util.Map; @@ -66,8 +67,8 @@ public class FtpMd5Test extends ClientTestTemplate { protected void setUp() throws Exception { super.setUp(); - testData = "TESTDATA".getBytes("UTF-8"); - testData2 = "Hello world".getBytes("UTF-8"); + testData = "TESTDATA".getBytes(StandardCharsets.UTF_8); + testData2 = "Hello world".getBytes(StandardCharsets.UTF_8); testDataHash = DigestUtils.md5Hex(testData).toUpperCase(); testData2Hash = DigestUtils.md5Hex(testData2).toUpperCase(); diff --git a/core/src/test/java/org/apache/ftpserver/clienttests/ListTest.java b/core/src/test/java/org/apache/ftpserver/clienttests/ListTest.java index 4ed347b1..4729fcb1 100644 --- a/core/src/test/java/org/apache/ftpserver/clienttests/ListTest.java +++ b/core/src/test/java/org/apache/ftpserver/clienttests/ListTest.java @@ -20,6 +20,7 @@ package org.apache.ftpserver.clienttests; import java.io.File; +import java.nio.charset.StandardCharsets; import java.util.Calendar; import org.apache.commons.net.ftp.FTPClientConfig; @@ -58,7 +59,7 @@ public class ListTest extends ClientTestTemplate { protected void setUp() throws Exception { super.setUp(); - testData = "TESDATA".getBytes("UTF-8"); + testData = "TESDATA".getBytes(StandardCharsets.UTF_8); FTPClientConfig config = new FTPClientConfig("UNIX"); client.configure(config); diff --git a/core/src/test/java/org/apache/ftpserver/clienttests/NLSTTest.java b/core/src/test/java/org/apache/ftpserver/clienttests/NLSTTest.java index 79408abf..cbcbf4a0 100644 --- a/core/src/test/java/org/apache/ftpserver/clienttests/NLSTTest.java +++ b/core/src/test/java/org/apache/ftpserver/clienttests/NLSTTest.java @@ -20,6 +20,7 @@ package org.apache.ftpserver.clienttests; import java.io.File; +import java.nio.charset.StandardCharsets; import org.apache.commons.net.ftp.FTPClientConfig; import org.apache.ftpserver.test.TestUtil; @@ -54,7 +55,7 @@ public class NLSTTest extends ClientTestTemplate { protected void setUp() throws Exception { super.setUp(); - testData = "TESDATA".getBytes("UTF-8"); + testData = "TESDATA".getBytes(StandardCharsets.UTF_8); FTPClientConfig config = new FTPClientConfig("UNIX"); client.configure(config); diff --git a/core/src/test/java/org/apache/ftpserver/clienttests/RetrieveTest.java b/core/src/test/java/org/apache/ftpserver/clienttests/RetrieveTest.java index 14d50653..8f06cb0f 100644 --- a/core/src/test/java/org/apache/ftpserver/clienttests/RetrieveTest.java +++ b/core/src/test/java/org/apache/ftpserver/clienttests/RetrieveTest.java @@ -21,6 +21,7 @@ package org.apache.ftpserver.clienttests; import java.io.ByteArrayOutputStream; import java.io.File; +import java.nio.charset.StandardCharsets; import org.apache.ftpserver.test.TestUtil; @@ -52,7 +53,7 @@ public class RetrieveTest extends ClientTestTemplate { protected void setUp() throws Exception { super.setUp(); - testData = ("TESTDATA" + EOL).getBytes("UTF-8"); + testData = ("TESTDATA" + EOL).getBytes(StandardCharsets.UTF_8); client.login(ADMIN_USERNAME, ADMIN_PASSWORD); } diff --git a/core/src/test/java/org/apache/ftpserver/clienttests/StoreTest.java b/core/src/test/java/org/apache/ftpserver/clienttests/StoreTest.java index a9b02614..b100cee1 100644 --- a/core/src/test/java/org/apache/ftpserver/clienttests/StoreTest.java +++ b/core/src/test/java/org/apache/ftpserver/clienttests/StoreTest.java @@ -20,6 +20,7 @@ package org.apache.ftpserver.clienttests; import java.io.ByteArrayInputStream; import java.io.File; +import java.nio.charset.StandardCharsets; import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; @@ -39,7 +40,6 @@ public class StoreTest extends ClientTestTemplate { private static final String TESTDATA = "TESTDATA" + EOL + "line2" + EOL; private static final String TESTDATA_CRLF = "TESTDATA" + CRLF + "line2" + CRLF; private static final String TESTDATA_LF = "TESTDATA" + LF + "line2" + LF; - private static final String ENCODING = "UTF-8"; private static final String TEST_FILENAME = "test.txt"; private static final String TEST_FILENAME_WITH_LEADING_SPACE = " leading.txt"; private static final int SKIP_LEN = 4; @@ -59,11 +59,11 @@ public class StoreTest extends ClientTestTemplate { protected void setUp() throws Exception { super.setUp(); - testData = TESTDATA.getBytes(ENCODING); - testDataCrLf = TESTDATA_CRLF.getBytes(ENCODING); - testDataLf = TESTDATA_LF.getBytes(ENCODING); - doubleTestData = (TESTDATA + TESTDATA).getBytes(ENCODING); - oneAndAHalfTestData = ("TEST" + TESTDATA).getBytes(ENCODING); + testData = TESTDATA.getBytes(StandardCharsets.UTF_8); + testDataCrLf = TESTDATA_CRLF.getBytes(StandardCharsets.UTF_8); + testDataLf = TESTDATA_LF.getBytes(StandardCharsets.UTF_8); + doubleTestData = (TESTDATA + TESTDATA).getBytes(StandardCharsets.UTF_8); + oneAndAHalfTestData = ("TEST" + TESTDATA).getBytes(StandardCharsets.UTF_8); client.login(ADMIN_USERNAME, ADMIN_PASSWORD); }