This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-net.git
The following commit(s) were added to refs/heads/master by this push:
new b7039ebd Camel case name
b7039ebd is described below
commit b7039ebd9e7ce05439a321b00d83cf6d315b11c8
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Feb 24 12:53:22 2024 -0500
Camel case name
Refactor
---
.../org/apache/commons/net/ftp/DeflateSocket.java | 212 +--------------------
.../{DeflateSocket.java => DelegateSocket.java} | 13 +-
.../java/org/apache/commons/net/ftp/FTPClient.java | 2 +-
.../commons/net/ftp/FTPClientDeflateTest.java | 31 ++-
4 files changed, 22 insertions(+), 236 deletions(-)
diff --git a/src/main/java/org/apache/commons/net/ftp/DeflateSocket.java
b/src/main/java/org/apache/commons/net/ftp/DeflateSocket.java
index 62f9cd47..ca7164ca 100644
--- a/src/main/java/org/apache/commons/net/ftp/DeflateSocket.java
+++ b/src/main/java/org/apache/commons/net/ftp/DeflateSocket.java
@@ -20,12 +20,7 @@ package org.apache.commons.net.ftp;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.net.InetAddress;
import java.net.Socket;
-import java.net.SocketAddress;
-import java.net.SocketException;
-import java.nio.channels.SocketChannel;
-import java.util.Objects;
import java.util.zip.DeflaterOutputStream;
import java.util.zip.InflaterInputStream;
@@ -33,46 +28,10 @@ import java.util.zip.InflaterInputStream;
* Wrapper class for FTP data channel sockets when compressing data in the
"deflate" compression format. All methods except of {@link #getInputStream()}
and
* {@link #getOutputStream()} are calling the delegate methods directly.
*/
-class DeflateSocket extends Socket {
+final class DeflateSocket extends DelegateSocket {
- static Socket wrap(final Socket plain) {
- return new DeflateSocket(plain);
- }
-
- private final Socket delegate;
-
- private DeflateSocket(final Socket delegate) {
- this.delegate = Objects.requireNonNull(delegate, "delegate");
- }
-
- @Override
- public void bind(final SocketAddress bindpoint) throws IOException {
- delegate.bind(bindpoint);
- }
-
- @Override
- public synchronized void close() throws IOException {
- delegate.close();
- }
-
- @Override
- public void connect(final SocketAddress endpoint) throws IOException {
- delegate.connect(endpoint);
- }
-
- @Override
- public void connect(final SocketAddress endpoint, final int timeout)
throws IOException {
- delegate.connect(endpoint, timeout);
- }
-
- @Override
- public SocketChannel getChannel() {
- return delegate.getChannel();
- }
-
- @Override
- public InetAddress getInetAddress() {
- return delegate.getInetAddress();
+ DeflateSocket(final Socket delegate) {
+ super(delegate);
}
@Override
@@ -80,173 +39,8 @@ class DeflateSocket extends Socket {
return new InflaterInputStream(delegate.getInputStream());
}
- @Override
- public boolean getKeepAlive() throws SocketException {
- return delegate.getKeepAlive();
- }
-
- @Override
- public InetAddress getLocalAddress() {
- return delegate.getLocalAddress();
- }
-
- @Override
- public int getLocalPort() {
- return delegate.getLocalPort();
- }
-
- @Override
- public SocketAddress getLocalSocketAddress() {
- return delegate.getLocalSocketAddress();
- }
-
- @Override
- public boolean getOOBInline() throws SocketException {
- return delegate.getOOBInline();
- }
-
@Override
public OutputStream getOutputStream() throws IOException {
return new DeflaterOutputStream(delegate.getOutputStream());
}
-
- @Override
- public int getPort() {
- return delegate.getPort();
- }
-
- @Override
- public synchronized int getReceiveBufferSize() throws SocketException {
- return delegate.getReceiveBufferSize();
- }
-
- @Override
- public SocketAddress getRemoteSocketAddress() {
- return delegate.getRemoteSocketAddress();
- }
-
- @Override
- public boolean getReuseAddress() throws SocketException {
- return delegate.getReuseAddress();
- }
-
- @Override
- public synchronized int getSendBufferSize() throws SocketException {
- return delegate.getSendBufferSize();
- }
-
- @Override
- public int getSoLinger() throws SocketException {
- return delegate.getSoLinger();
- }
-
- @Override
- public synchronized int getSoTimeout() throws SocketException {
- return delegate.getSoTimeout();
- }
-
- @Override
- public boolean getTcpNoDelay() throws SocketException {
- return delegate.getTcpNoDelay();
- }
-
- @Override
- public int getTrafficClass() throws SocketException {
- return delegate.getTrafficClass();
- }
-
- @Override
- public boolean isBound() {
- return delegate.isBound();
- }
-
- @Override
- public boolean isClosed() {
- return delegate.isClosed();
- }
-
- @Override
- public boolean isConnected() {
- return delegate.isConnected();
- }
-
- @Override
- public boolean isInputShutdown() {
- return delegate.isInputShutdown();
- }
-
- @Override
- public boolean isOutputShutdown() {
- return delegate.isOutputShutdown();
- }
-
- @Override
- public void sendUrgentData(final int data) throws IOException {
- delegate.sendUrgentData(data);
- }
-
- @Override
- public void setKeepAlive(final boolean on) throws SocketException {
- delegate.setKeepAlive(on);
- }
-
- @Override
- public void setOOBInline(final boolean on) throws SocketException {
- delegate.setOOBInline(on);
- }
-
- @Override
- public void setPerformancePreferences(final int connectionTime, final int
latency, final int bandwidth) {
- delegate.setPerformancePreferences(connectionTime, latency, bandwidth);
- }
-
- @Override
- public synchronized void setReceiveBufferSize(final int size) throws
SocketException {
- delegate.setReceiveBufferSize(size);
- }
-
- @Override
- public void setReuseAddress(final boolean on) throws SocketException {
- delegate.setReuseAddress(on);
- }
-
- @Override
- public synchronized void setSendBufferSize(final int size) throws
SocketException {
- delegate.setSendBufferSize(size);
- }
-
- @Override
- public void setSoLinger(final boolean on, final int linger) throws
SocketException {
- delegate.setSoLinger(on, linger);
- }
-
- @Override
- public synchronized void setSoTimeout(final int timeout) throws
SocketException {
- delegate.setSoTimeout(timeout);
- }
-
- @Override
- public void setTcpNoDelay(final boolean on) throws SocketException {
- delegate.setTcpNoDelay(on);
- }
-
- @Override
- public void setTrafficClass(final int tc) throws SocketException {
- delegate.setTrafficClass(tc);
- }
-
- @Override
- public void shutdownInput() throws IOException {
- delegate.shutdownInput();
- }
-
- @Override
- public void shutdownOutput() throws IOException {
- delegate.shutdownOutput();
- }
-
- @Override
- public String toString() {
- return delegate.toString();
- }
}
diff --git a/src/main/java/org/apache/commons/net/ftp/DeflateSocket.java
b/src/main/java/org/apache/commons/net/ftp/DelegateSocket.java
similarity index 93%
copy from src/main/java/org/apache/commons/net/ftp/DeflateSocket.java
copy to src/main/java/org/apache/commons/net/ftp/DelegateSocket.java
index 62f9cd47..94472254 100644
--- a/src/main/java/org/apache/commons/net/ftp/DeflateSocket.java
+++ b/src/main/java/org/apache/commons/net/ftp/DelegateSocket.java
@@ -30,18 +30,13 @@ import java.util.zip.DeflaterOutputStream;
import java.util.zip.InflaterInputStream;
/**
- * Wrapper class for FTP data channel sockets when compressing data in the
"deflate" compression format. All methods except of {@link #getInputStream()}
and
- * {@link #getOutputStream()} are calling the delegate methods directly.
+ * Wrapper class for FTP data channel sockets.
*/
-class DeflateSocket extends Socket {
+abstract class DelegateSocket extends Socket {
- static Socket wrap(final Socket plain) {
- return new DeflateSocket(plain);
- }
-
- private final Socket delegate;
+ protected final Socket delegate;
- private DeflateSocket(final Socket delegate) {
+ DelegateSocket(final Socket delegate) {
this.delegate = Objects.requireNonNull(delegate, "delegate");
}
diff --git a/src/main/java/org/apache/commons/net/ftp/FTPClient.java
b/src/main/java/org/apache/commons/net/ftp/FTPClient.java
index 62d33d20..9d192c83 100644
--- a/src/main/java/org/apache/commons/net/ftp/FTPClient.java
+++ b/src/main/java/org/apache/commons/net/ftp/FTPClient.java
@@ -3421,6 +3421,6 @@ public class FTPClient extends FTP implements
Configurable {
@SuppressWarnings("resource")
private Socket wrapOnDeflate(final Socket plainSocket) {
- return fileTransferMode == DEFLATE_TRANSFER_MODE ?
DeflateSocket.wrap(plainSocket) : plainSocket;
+ return fileTransferMode == DEFLATE_TRANSFER_MODE ? new
DeflateSocket(plainSocket) : plainSocket;
}
}
diff --git a/src/test/java/org/apache/commons/net/ftp/FTPClientDeflateTest.java
b/src/test/java/org/apache/commons/net/ftp/FTPClientDeflateTest.java
index e5b0031a..d1c7bb2b 100644
--- a/src/test/java/org/apache/commons/net/ftp/FTPClientDeflateTest.java
+++ b/src/test/java/org/apache/commons/net/ftp/FTPClientDeflateTest.java
@@ -17,15 +17,11 @@
package org.apache.commons.net.ftp;
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static java.nio.file.Files.readAllBytes;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
-import static org.apache.commons.net.ftp.FTP.DEFLATE_TRANSFER_MODE;
-
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -33,6 +29,9 @@ import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
+import junit.framework.TestCase;
+
+import org.apache.commons.io.FileUtils;
import org.apache.ftpserver.FtpServer;
import org.apache.ftpserver.FtpServerFactory;
import org.apache.ftpserver.ftplet.Authority;
@@ -44,8 +43,6 @@ import
org.apache.ftpserver.usermanager.PropertiesUserManagerFactory;
import org.apache.ftpserver.usermanager.impl.BaseUser;
import org.apache.ftpserver.usermanager.impl.WritePermission;
-import junit.framework.TestCase;
-
public class FTPClientDeflateTest extends TestCase {
private static final class FtpServerAndPort {
@@ -119,12 +116,12 @@ public class FTPClientDeflateTest extends TestCase {
@Override
protected void setUp() throws IOException {
- deleteDirectory(new File(DEFAULT_HOME));
+ FileUtils.deleteDirectory(new File(DEFAULT_HOME));
}
@Override
protected void tearDown() throws Exception {
- deleteDirectory(new File(DEFAULT_HOME));
+ FileUtils.deleteDirectory(new File(DEFAULT_HOME));
}
public void testRetrievingFiles() throws Exception {
@@ -132,21 +129,21 @@ public class FTPClientDeflateTest extends TestCase {
new File(DEFAULT_HOME).mkdirs();
final String filename = "test_download.txt";
final String fileContent = "Created at " + Instant.now();
- Files.write(Paths.get(DEFAULT_HOME).resolve(filename),
fileContent.getBytes(UTF_8));
+ Files.write(Paths.get(DEFAULT_HOME).resolve(filename),
fileContent.getBytes(StandardCharsets.UTF_8));
runWithFTPserver((port, user, password) -> {
final FTPClient client = new FTPClient();
try {
client.connect("localhost", port);
client.login(user, password);
- assertTrue("Mode Z successfully activated",
client.setFileTransferMode(DEFLATE_TRANSFER_MODE));
+ assertTrue("Mode Z successfully activated",
client.setFileTransferMode(FTP.DEFLATE_TRANSFER_MODE));
final FTPFile[] files = client.listFiles();
assertEquals("Only single file in home directory", 1,
files.length);
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
assertTrue("File successfully transferred",
client.retrieveFile(files[0].getName(), bos));
- assertEquals("File content is not corrupted", fileContent, new
String(bos.toByteArray(), UTF_8));
+ assertEquals("File content is not corrupted", fileContent, new
String(bos.toByteArray(), StandardCharsets.UTF_8));
} finally {
client.logout();
}
@@ -160,20 +157,20 @@ public class FTPClientDeflateTest extends TestCase {
try {
client.connect("localhost", port);
client.login(user, password);
- assertTrue("Mode Z successfully activated",
client.setFileTransferMode(DEFLATE_TRANSFER_MODE));
+ assertTrue("Mode Z successfully activated",
client.setFileTransferMode(FTP.DEFLATE_TRANSFER_MODE));
final FTPFile[] filesBeforeUpload = client.listFiles();
assertEquals("No files in home directory before upload", 0,
filesBeforeUpload.length);
- final String filename = "test_upload.txt";
+ final String fileName = "test_upload.txt";
final String fileContent = "Created at " + Instant.now();
- assertTrue("File successfully transferred",
client.storeFile(filename, new
ByteArrayInputStream(fileContent.getBytes(UTF_8))));
+ assertTrue("File successfully transferred",
client.storeFile(fileName, new
ByteArrayInputStream(fileContent.getBytes(StandardCharsets.UTF_8))));
final FTPFile[] filesAfterUpload = client.listFiles();
assertEquals("Single file in home directory after upload", 1,
filesAfterUpload.length);
- final Path p = Paths.get(DEFAULT_HOME, filename);
- assertEquals("File content is not corrupted", fileContent, new
String(readAllBytes(p), UTF_8));
+ final Path p = Paths.get(DEFAULT_HOME, fileName);
+ assertEquals("File content is not corrupted", fileContent, new
String(Files.readAllBytes(p), StandardCharsets.UTF_8));
} finally {
client.logout();
}