diff --git a/build.gradle b/build.gradle index 348f93b..4eef8ff 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,5 @@ plugins { - id "checkstyle" - id "pmd" id 'maven-publish' id 'signing' id "io.github.gradle-nexus.publish-plugin" version "2.0.0-rc-1" @@ -12,7 +10,7 @@ plugins { wrapper { gradleVersion = libs.versions.gradle.get() - distributionType = Wrapper.DistributionType.ALL + distributionType = Wrapper.DistributionType.BIN } ext { @@ -31,14 +29,10 @@ ext { } subprojects { - //apply from: rootProject.file('gradle/ide/idea.gradle') apply from: rootProject.file('gradle/repositories/maven.gradle') apply from: rootProject.file('gradle/compile/java.gradle') apply from: rootProject.file('gradle/test/junit5.gradle') apply from: rootProject.file('gradle/publish/maven.gradle') - apply from: rootProject.file('gradle/quality/checkstyle.gradle') - apply from: rootProject.file('gradle/quality/pmd.gradle') - //apply from: rootProject.file('gradle/quality/spotbugs.gradle') } apply from: rootProject.file('gradle/publish/sonatype.gradle') apply from: rootProject.file('gradle/publish/forgejo.gradle') diff --git a/files-ftp-fs/NOTICE.txt b/files-ftp-fs/NOTICE.txt index 5745338..78f322b 100644 --- a/files-ftp-fs/NOTICE.txt +++ b/files-ftp-fs/NOTICE.txt @@ -3,4 +3,4 @@ The ftp-fs is derived from https://github.com/robtimus/ftp-fs/ Copyright by Rob Spoor -Licensed under the Apache Software License 2.0 \ No newline at end of file +Licensed under the Apache Software License 2.0 diff --git a/files-ftp-fs/build.gradle b/files-ftp-fs/build.gradle index 4eab3ea..0b8a33c 100644 --- a/files-ftp-fs/build.gradle +++ b/files-ftp-fs/build.gradle @@ -1,8 +1,8 @@ dependencies { api project(':files-api') api project(':files-ftp') - testImplementation libs.mockftpserver - testImplementation libs.junit.jupiter.params - testImplementation libs.mockito.core - testImplementation libs.mockito.junit.jupiter + testImplementation testLibs.mockftpserver + testImplementation testLibs.junit.jupiter.params + testImplementation testLibs.mockito.core + testImplementation testLibs.mockito.junit.jupiter } diff --git a/files-ftp-fs/src/main/java/module-info.java b/files-ftp-fs/src/main/java/module-info.java index eef23ea..5c8e419 100644 --- a/files-ftp-fs/src/main/java/module-info.java +++ b/files-ftp-fs/src/main/java/module-info.java @@ -6,6 +6,8 @@ import org.xbib.io.ftp.fs.spi.FTPFilesProvider; module org.xbib.files.ftp.fs { requires org.xbib.files; requires org.xbib.files.ftp; + exports org.xbib.io.ftp.fs; + exports org.xbib.io.ftp.fs.spi; provides FileSystemProvider with FTPFileSystemProvider; provides FileServiceProvider with FTPFilesProvider; } diff --git a/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/DefaultFileSystemExceptionFactory.java b/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/DefaultFileSystemExceptionFactory.java index 1f43b65..f4500ac 100644 --- a/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/DefaultFileSystemExceptionFactory.java +++ b/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/DefaultFileSystemExceptionFactory.java @@ -12,7 +12,7 @@ import java.util.Collection; */ public class DefaultFileSystemExceptionFactory implements FileSystemExceptionFactory { - static final DefaultFileSystemExceptionFactory INSTANCE = new DefaultFileSystemExceptionFactory(); + public static final DefaultFileSystemExceptionFactory INSTANCE = new DefaultFileSystemExceptionFactory(); @Override public FileSystemException createGetFileException(String file, int replyCode, String replyString) { diff --git a/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPFileSystem.java b/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPFileSystem.java index c9028cf..0133f54 100644 --- a/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPFileSystem.java +++ b/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPFileSystem.java @@ -48,7 +48,7 @@ import java.util.regex.Pattern; /** * An FTP file system. */ -class FTPFileSystem extends FileSystem { +public class FTPFileSystem extends FileSystem { static final String CURRENT_DIR = "."; static final String PARENT_DIR = ".."; @@ -74,7 +74,7 @@ class FTPFileSystem extends FileSystem { private final FTPFileStrategy ftpFileStrategy; private final AtomicBoolean open = new AtomicBoolean(true); - FTPFileSystem(FTPFileSystemProvider provider, URI uri, FTPEnvironment env) throws IOException { + public FTPFileSystem(FTPFileSystemProvider provider, URI uri, FTPEnvironment env) throws IOException { this.provider = Objects.requireNonNull(provider); this.rootDirectories = Collections.singleton(new FTPPath(this, "/")); this.fileStore = new FTPFileStore(this); @@ -90,7 +90,7 @@ class FTPFileSystem extends FileSystem { } } - static String getFileName(FTPFile ftpFile) { + public static String getFileName(FTPFile ftpFile) { String fileName = ftpFile.getName(); if (fileName == null) { return null; @@ -172,27 +172,27 @@ class FTPFileSystem extends FileSystem { throw Messages.unsupportedOperation(FileSystem.class, "newWatchService"); } - void keepAlive() throws IOException { + public void keepAlive() throws IOException { clientPool.keepAlive(); } - URI toUri(FTPPath path) { + public URI toUri(FTPPath path) { FTPPath absPath = toAbsolutePath(path).normalize(); return toUri(absPath.path()); } - URI toUri(String path) { + public URI toUri(String path) { return URISupport.create(uri.getScheme(), uri.getUserInfo(), uri.getHost(), uri.getPort(), path, null, null); } - FTPPath toAbsolutePath(FTPPath path) { + public FTPPath toAbsolutePath(FTPPath path) { if (path.isAbsolute()) { return path; } return new FTPPath(this, defaultDirectory + "/" + path.path()); } - FTPPath toRealPath(FTPPath path, LinkOption... options) throws IOException { + public FTPPath toRealPath(FTPPath path, LinkOption... options) throws IOException { boolean followLinks = LinkOptionSupport.followLinks(options); try (FTPClientPool.Client client = clientPool.get()) { return toRealPath(client, path, followLinks).ftpPath; @@ -221,7 +221,7 @@ class FTPFileSystem extends FileSystem { return path.path(); } - InputStream newInputStream(FTPPath path, OpenOption... options) throws IOException { + public InputStream newInputStream(FTPPath path, OpenOption... options) throws IOException { OpenOptions openOptions = OpenOptions.forNewInputStream(options); try (FTPClientPool.Client client = clientPool.get()) { @@ -235,7 +235,7 @@ class FTPFileSystem extends FileSystem { return client.newInputStream(path.path(), options); } - OutputStream newOutputStream(FTPPath path, OpenOption... options) throws IOException { + public OutputStream newOutputStream(FTPPath path, OpenOption... options) throws IOException { OpenOptions openOptions = OpenOptions.forNewOutputStream(options); try (FTPClientPool.Client client = clientPool.get()) { @@ -268,7 +268,7 @@ class FTPFileSystem extends FileSystem { return new FTPFileAndOutputStreamPair(ftpFile, out); } - SeekableByteChannel newByteChannel(FTPPath path, Set options, FileAttribute... attrs) throws IOException { + public SeekableByteChannel newByteChannel(FTPPath path, Set options, FileAttribute... attrs) throws IOException { if (attrs.length > 0) { throw Messages.fileSystemProvider().unsupportedCreateFileAttribute(attrs[0].name()); } @@ -292,7 +292,7 @@ class FTPFileSystem extends FileSystem { } } - DirectoryStream newDirectoryStream(final FTPPath path, Filter filter) throws IOException { + public DirectoryStream newDirectoryStream(final FTPPath path, Filter filter) throws IOException { List children; try (FTPClientPool.Client client = clientPool.get()) { children = ftpFileStrategy.getChildren(client, path); @@ -300,7 +300,7 @@ class FTPFileSystem extends FileSystem { return new FTPPathDirectoryStream(path, children, filter); } - void createDirectory(FTPPath path, FileAttribute... attrs) throws IOException { + public void createDirectory(FTPPath path, FileAttribute... attrs) throws IOException { if (attrs.length > 0) { throw Messages.fileSystemProvider().unsupportedCreateFileAttribute(attrs[0].name()); } @@ -309,7 +309,7 @@ class FTPFileSystem extends FileSystem { } } - void delete(FTPPath path) throws IOException { + public void delete(FTPPath path) throws IOException { try (FTPClientPool.Client client = clientPool.get()) { FTPFile ftpFile = getFTPFile(client, path); boolean isDirectory = ftpFile.isDirectory(); @@ -317,7 +317,7 @@ class FTPFileSystem extends FileSystem { } } - FTPPath readSymbolicLink(FTPPath path) throws IOException { + public FTPPath readSymbolicLink(FTPPath path) throws IOException { try (FTPClientPool.Client client = clientPool.get()) { FTPFile ftpFile = getFTPFile(client, path); FTPFile link = getLink(client, ftpFile, path); @@ -328,7 +328,7 @@ class FTPFileSystem extends FileSystem { } } - void copy(FTPPath source, FTPPath target, CopyOption... options) throws IOException { + public void copy(FTPPath source, FTPPath target, CopyOption... options) throws IOException { boolean sameFileSystem = source.getFileSystem() == target.getFileSystem(); CopyOptions copyOptions = CopyOptions.forCopy(options); @@ -403,7 +403,7 @@ class FTPFileSystem extends FileSystem { } } - void move(FTPPath source, FTPPath target, CopyOption... options) throws IOException { + public void move(FTPPath source, FTPPath target, CopyOption... options) throws IOException { boolean sameFileSystem = source.getFileSystem() == target.getFileSystem(); CopyOptions copyOptions = CopyOptions.forMove(sameFileSystem, options); @@ -444,7 +444,7 @@ class FTPFileSystem extends FileSystem { } } - boolean isSameFile(FTPPath path, FTPPath path2) throws IOException { + public boolean isSameFile(FTPPath path, FTPPath path2) throws IOException { if (path.getFileSystem() != path2.getFileSystem()) { return false; } @@ -463,7 +463,7 @@ class FTPFileSystem extends FileSystem { return toRealPath(client, path, true).ftpPath.path().equals(toRealPath(client, path2, true).ftpPath.path()); } - boolean isHidden(FTPPath path) throws IOException { + public boolean isHidden(FTPPath path) throws IOException { // call getFTPFile to check for existence try (FTPClientPool.Client client = clientPool.get()) { getFTPFile(client, path); @@ -472,7 +472,7 @@ class FTPFileSystem extends FileSystem { return !CURRENT_DIR.equals(fileName) && !PARENT_DIR.equals(fileName) && fileName.startsWith("."); } - FileStore getFileStore(FTPPath path) throws IOException { + public FileStore getFileStore(FTPPath path) throws IOException { // call getFTPFile to check existence of the path try (FTPClientPool.Client client = clientPool.get()) { getFTPFile(client, path); @@ -480,7 +480,7 @@ class FTPFileSystem extends FileSystem { return fileStore; } - void checkAccess(FTPPath path, AccessMode... modes) throws IOException { + public void checkAccess(FTPPath path, AccessMode... modes) throws IOException { try (FTPClientPool.Client client = clientPool.get()) { FTPFile ftpFile = getFTPFile(client, path); for (AccessMode mode : modes) { @@ -504,7 +504,7 @@ class FTPFileSystem extends FileSystem { } } - PosixFileAttributes readAttributes(FTPPath path, LinkOption... options) throws IOException { + public PosixFileAttributes readAttributes(FTPPath path, LinkOption... options) throws IOException { boolean followLinks = LinkOptionSupport.followLinks(options); try (FTPClientPool.Client client = clientPool.get()) { FTPPathAndFilePair pair = toRealPath(client, path, followLinks); @@ -515,7 +515,7 @@ class FTPFileSystem extends FileSystem { } } - Map readAttributes(FTPPath path, String attributes, LinkOption... options) throws IOException { + public Map readAttributes(FTPPath path, String attributes, LinkOption... options) throws IOException { String view; int pos = attributes.indexOf(':'); if (pos == -1) { @@ -622,7 +622,7 @@ class FTPFileSystem extends FileSystem { return result; } - FTPFile getFTPFile(FTPPath path) throws IOException { + public FTPFile getFTPFile(FTPPath path) throws IOException { try (FTPClientPool.Client client = clientPool.get()) { return getFTPFile(client, path); } diff --git a/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPMessages.java b/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPMessages.java index 24d10ca..f724001 100644 --- a/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPMessages.java +++ b/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPMessages.java @@ -6,11 +6,10 @@ import java.util.ResourceBundle; /** * A utility class for providing translated messages and exceptions. */ -final class FTPMessages { +public final class FTPMessages { - private static final String BUNDLE_NAME = "org.xbib.ftp.fs.messages"; - - private static final ResourceBundle BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, Locale.ROOT, UTF8Control.INSTANCE); + private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("org.xbib.ftp.fs.messages", + Locale.ROOT, UTF8Control.INSTANCE); private FTPMessages() { throw new Error("cannot create instances of " + getClass().getName()); diff --git a/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPPath.java b/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPPath.java index 97cdfb3..957b11a 100644 --- a/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPPath.java +++ b/files-ftp-fs/src/main/java/org/xbib/io/ftp/fs/FTPPath.java @@ -26,11 +26,11 @@ import java.util.Set; /** * A path for FTP file systems. */ -class FTPPath extends SimpleAbstractPath { +public class FTPPath extends SimpleAbstractPath { private final FTPFileSystem fs; - FTPPath(FTPFileSystem fs, String path) { + public FTPPath(FTPFileSystem fs, String path) { super(path); this.fs = Objects.requireNonNull(fs); } diff --git a/files-ftp-fs/src/test/java/module-info.java b/files-ftp-fs/src/test/java/module-info.java new file mode 100644 index 0000000..331d9e2 --- /dev/null +++ b/files-ftp-fs/src/test/java/module-info.java @@ -0,0 +1,13 @@ +module org.xbib.files.ftp.fs.test { + requires MockFtpServer; + requires org.hamcrest; + requires org.junit.jupiter.api; + requires org.junit.jupiter.params; + requires org.mockito; + requires org.xbib.files.ftp; + requires org.xbib.files.ftp.fs; + exports org.xbib.io.ftp.fs.test; + exports org.xbib.io.ftp.fs.test.server; + opens org.xbib.io.ftp.fs.test to org.junit.platform.commons; + opens org.xbib.io.ftp.fs.test.server to org.junit.platform.commons; +} diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/AbstractFTPFileSystemTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/AbstractFTPFileSystemTest.java similarity index 94% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/AbstractFTPFileSystemTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/AbstractFTPFileSystemTest.java index 758bba4..2cbf811 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/AbstractFTPFileSystemTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/AbstractFTPFileSystemTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; @@ -12,10 +12,16 @@ import org.mockftpserver.fake.filesystem.FileSystem; import org.mockftpserver.fake.filesystem.FileSystemEntry; import org.mockftpserver.fake.filesystem.UnixFakeFileSystem; import org.mockito.Mockito; -import org.xbib.io.ftp.fs.server.ExtendedUnixFakeFileSystem; -import org.xbib.io.ftp.fs.server.ListHiddenFilesCommandHandler; -import org.xbib.io.ftp.fs.server.MDTMCommandHandler; -import org.xbib.io.ftp.fs.server.SymbolicLinkEntry; +import org.xbib.io.ftp.fs.DefaultFileSystemExceptionFactory; +import org.xbib.io.ftp.fs.FTPEnvironment; +import org.xbib.io.ftp.fs.FTPFileSystem; +import org.xbib.io.ftp.fs.FTPFileSystemProvider; +import org.xbib.io.ftp.fs.FTPPath; +import org.xbib.io.ftp.fs.FileSystemExceptionFactory; +import org.xbib.io.ftp.fs.test.server.ExtendedUnixFakeFileSystem; +import org.xbib.io.ftp.fs.test.server.ListHiddenFilesCommandHandler; +import org.xbib.io.ftp.fs.test.server.MDTMCommandHandler; +import org.xbib.io.ftp.fs.test.server.SymbolicLinkEntry; import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPEnvironmentSetterTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPEnvironmentSetterTest.java similarity index 96% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPEnvironmentSetterTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPEnvironmentSetterTest.java index 3cb811a..1c96fd2 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPEnvironmentSetterTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPEnvironmentSetterTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.params.ParameterizedTest; @@ -16,6 +16,9 @@ import java.net.Proxy; import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.stream.Stream; +import org.xbib.io.ftp.fs.ConnectionMode; +import org.xbib.io.ftp.fs.DefaultFileSystemExceptionFactory; +import org.xbib.io.ftp.fs.FTPEnvironment; public class FTPEnvironmentSetterTest { diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPEnvironmentTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPEnvironmentTest.java similarity index 97% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPEnvironmentTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPEnvironmentTest.java index 7e726fd..ea2f945 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPEnvironmentTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPEnvironmentTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; @@ -8,6 +8,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.UUID; +import org.xbib.io.ftp.fs.FTPEnvironment; public class FTPEnvironmentTest { diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemDirectoryStreamTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemDirectoryStreamTest.java similarity index 99% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemDirectoryStreamTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemDirectoryStreamTest.java index 2ee76c8..59368ae 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemDirectoryStreamTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemDirectoryStreamTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import org.hamcrest.Description; import org.hamcrest.Matcher; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemInputStreamTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemInputStreamTest.java similarity index 99% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemInputStreamTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemInputStreamTest.java index 107ed6c..1bc15c5 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemInputStreamTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemInputStreamTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemOutputStreamTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemOutputStreamTest.java similarity index 96% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemOutputStreamTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemOutputStreamTest.java index 9dd0210..d3eaa37 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemOutputStreamTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemOutputStreamTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemProviderTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemProviderTest.java similarity index 96% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemProviderTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemProviderTest.java index e30d63b..5a07c6a 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemProviderTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemProviderTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -18,6 +18,11 @@ import java.nio.file.attribute.PosixFileAttributeView; import java.util.HashMap; import java.util.Map; import java.util.Random; +import org.xbib.io.ftp.fs.FTPFileSystem; +import org.xbib.io.ftp.fs.FTPFileSystemProvider; +import org.xbib.io.ftp.fs.FTPPath; +import org.xbib.io.ftp.fs.FileType; +import org.xbib.io.ftp.fs.URISupport; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.instanceOf; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemTest.java similarity index 99% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemTest.java index 2351cc3..9b1d2b1 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPFileSystemTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPFileSystemTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -7,7 +7,12 @@ import org.mockftpserver.fake.filesystem.FileEntry; import org.mockftpserver.fake.filesystem.FileSystemEntry; import org.mockito.verification.VerificationMode; import org.xbib.io.ftp.client.FTPFile; -import org.xbib.io.ftp.fs.server.SymbolicLinkEntry; +import org.xbib.io.ftp.fs.FTPFileSystem; +import org.xbib.io.ftp.fs.FTPFileSystemException; +import org.xbib.io.ftp.fs.FTPPath; +import org.xbib.io.ftp.fs.SimpleGroupPrincipal; +import org.xbib.io.ftp.fs.SimpleUserPrincipal; +import org.xbib.io.ftp.fs.test.server.SymbolicLinkEntry; import java.io.IOException; import java.io.InputStream; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPMessagesTest.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPMessagesTest.java similarity index 98% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPMessagesTest.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPMessagesTest.java index 276c675..c6ddc20 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/FTPMessagesTest.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/FTPMessagesTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs; +package org.xbib.io.ftp.fs.test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -19,6 +19,7 @@ import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.stream.Stream; +import org.xbib.io.ftp.fs.FTPMessages; public class FTPMessagesTest { diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ExtendedUnixDirectoryListingFormatter.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ExtendedUnixDirectoryListingFormatter.java similarity index 94% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ExtendedUnixDirectoryListingFormatter.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ExtendedUnixDirectoryListingFormatter.java index fe3fbd2..92aaabb 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ExtendedUnixDirectoryListingFormatter.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ExtendedUnixDirectoryListingFormatter.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs.server; +package org.xbib.io.ftp.fs.test.server; import org.mockftpserver.fake.filesystem.FileSystemEntry; import org.mockftpserver.fake.filesystem.UnixDirectoryListingFormatter; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ExtendedUnixFakeFileSystem.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ExtendedUnixFakeFileSystem.java similarity index 95% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ExtendedUnixFakeFileSystem.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ExtendedUnixFakeFileSystem.java index 7fd76df..138faf7 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ExtendedUnixFakeFileSystem.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ExtendedUnixFakeFileSystem.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs.server; +package org.xbib.io.ftp.fs.test.server; import org.mockftpserver.fake.filesystem.FileSystemEntry; import org.mockftpserver.fake.filesystem.UnixFakeFileSystem; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ListHiddenFilesCommandHandler.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ListHiddenFilesCommandHandler.java similarity index 98% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ListHiddenFilesCommandHandler.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ListHiddenFilesCommandHandler.java index b1723d2..6ff1f79 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/ListHiddenFilesCommandHandler.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/ListHiddenFilesCommandHandler.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs.server; +package org.xbib.io.ftp.fs.test.server; import org.mockftpserver.core.command.Command; import org.mockftpserver.core.command.ReplyCodes; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/MDTMCommandHandler.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/MDTMCommandHandler.java similarity index 96% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/MDTMCommandHandler.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/MDTMCommandHandler.java index 6b62958..fec9801 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/MDTMCommandHandler.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/MDTMCommandHandler.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs.server; +package org.xbib.io.ftp.fs.test.server; import org.mockftpserver.core.command.Command; import org.mockftpserver.core.command.ReplyCodes; diff --git a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/SymbolicLinkEntry.java b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/SymbolicLinkEntry.java similarity index 98% rename from files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/SymbolicLinkEntry.java rename to files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/SymbolicLinkEntry.java index b8fd279..64741d8 100644 --- a/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/server/SymbolicLinkEntry.java +++ b/files-ftp-fs/src/test/java/org/xbib/io/ftp/fs/test/server/SymbolicLinkEntry.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.fs.server; +package org.xbib.io.ftp.fs.test.server; import org.mockftpserver.fake.filesystem.FileSystemEntry; import org.mockftpserver.fake.filesystem.Permissions; diff --git a/files-ftp-fs/src/test/resources/textfile.txt b/files-ftp-fs/src/test/resources/org/xbib/io/ftp/fs/test/textfile.txt similarity index 100% rename from files-ftp-fs/src/test/resources/textfile.txt rename to files-ftp-fs/src/test/resources/org/xbib/io/ftp/fs/test/textfile.txt diff --git a/files-ftp/build.gradle b/files-ftp/build.gradle deleted file mode 100644 index e69de29..0000000 diff --git a/files-ftp/src/main/java/org/xbib/io/ftp/client/FTPClient.java b/files-ftp/src/main/java/org/xbib/io/ftp/client/FTPClient.java index 06b8e29..a1ddc2f 100644 --- a/files-ftp/src/main/java/org/xbib/io/ftp/client/FTPClient.java +++ b/files-ftp/src/main/java/org/xbib/io/ftp/client/FTPClient.java @@ -427,8 +427,7 @@ public class FTPClient extends FTP implements Configurable { * or the full string after the reply code and space if the syntax is invalid * (i.e. enclosing quotes are missing or embedded quotes are not doubled) */ - // package protected for access by test cases - static String __parsePathname(String reply) { + public static String __parsePathname(String reply) { String param = reply.substring(REPLY_CODE_LEN + 1); if (param.startsWith("\"")) { StringBuilder sb = new StringBuilder(); @@ -479,7 +478,7 @@ public class FTPClient extends FTP implements Configurable { * @param reply the reply to parse * @throws MalformedServerReplyException if the server reply does not match (n,n,n,n),(n),(n) */ - protected void _parsePassiveModeReply(String reply) + public void _parsePassiveModeReply(String reply) throws MalformedServerReplyException { java.util.regex.Matcher m = __PARMS_PAT.matcher(reply); if (!m.find()) { @@ -2951,7 +2950,7 @@ public class FTPClient extends FTP implements Configurable { return initiateListParsing(fileEntryParser, pathname); } - void createParser(String parserKey) throws IOException { + public void createParser(String parserKey) throws IOException { // We cache the value to avoid creation of a new object every // time a file listing is generated. // Note: we don't check against a null parserKey (NET-544) @@ -2996,7 +2995,7 @@ public class FTPClient extends FTP implements Configurable { } } - FTPFileEntryParser getFileEntryParser() { + public FTPFileEntryParser getFileEntryParser() { return fileEntryParser; } diff --git a/files-ftp/src/main/java/org/xbib/io/ftp/client/FTPListParseEngine.java b/files-ftp/src/main/java/org/xbib/io/ftp/client/FTPListParseEngine.java index 62d9ce8..a5e4067 100644 --- a/files-ftp/src/main/java/org/xbib/io/ftp/client/FTPListParseEngine.java +++ b/files-ftp/src/main/java/org/xbib/io/ftp/client/FTPListParseEngine.java @@ -70,7 +70,7 @@ public class FTPListParseEngine { * Intended for use by FTPClient only * */ - FTPListParseEngine(FTPFileEntryParser parser, FTPClientConfig configuration) { + public FTPListParseEngine(FTPFileEntryParser parser, FTPClientConfig configuration) { this.parser = parser; if (configuration != null) { this.saveUnparseableEntries = configuration.getUnparseableEntries(); diff --git a/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/FTPTimestampParserImpl.java b/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/FTPTimestampParserImpl.java index 63af003..4c74b07 100644 --- a/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/FTPTimestampParserImpl.java +++ b/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/FTPTimestampParserImpl.java @@ -367,14 +367,14 @@ public class FTPTimestampParserImpl implements Configurable { /** * @return Returns the lenientFutureDates. */ - boolean isLenientFutureDates() { + public boolean isLenientFutureDates() { return lenientFutureDates; } /** * @param lenientFutureDates The lenientFutureDates to set. */ - void setLenientFutureDates(boolean lenientFutureDates) { + public void setLenientFutureDates(boolean lenientFutureDates) { this.lenientFutureDates = lenientFutureDates; } } diff --git a/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/MVSFTPEntryParser.java b/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/MVSFTPEntryParser.java index dba71eb..259be4f 100644 --- a/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/MVSFTPEntryParser.java +++ b/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/MVSFTPEntryParser.java @@ -15,17 +15,17 @@ import java.util.List; */ public class MVSFTPEntryParser extends ConfigurableFTPFileEntryParserImpl { - static final int UNKNOWN_LIST_TYPE = -1; - static final int FILE_LIST_TYPE = 0; - static final int MEMBER_LIST_TYPE = 1; - static final int UNIX_LIST_TYPE = 2; - static final int JES_LEVEL_1_LIST_TYPE = 3; - static final int JES_LEVEL_2_LIST_TYPE = 4; + public static final int UNKNOWN_LIST_TYPE = -1; + public static final int FILE_LIST_TYPE = 0; + public static final int MEMBER_LIST_TYPE = 1; + public static final int UNIX_LIST_TYPE = 2; + public static final int JES_LEVEL_1_LIST_TYPE = 3; + public static final int JES_LEVEL_2_LIST_TYPE = 4; /** * Dates are ignored for file lists, but are used for member lists where * possible */ - static final String DEFAULT_DATE_FORMAT = "yyyy/MM/dd HH:mm"; // 2001/09/18 + public static final String DEFAULT_DATE_FORMAT = "yyyy/MM/dd HH:mm"; // 2001/09/18 /** * Matches these entries: *
@@ -33,7 +33,7 @@ public class MVSFTPEntryParser extends ConfigurableFTPFileEntryParserImpl {
      *  B10142 3390   2006/03/20  2   31  F       80    80  PS   MDI.OKL.WORK
      * 
*/ - static final String FILE_LIST_REGEX = "\\S+\\s+" + // volume + public static final String FILE_LIST_REGEX = "\\S+\\s+" + // volume // ignored "\\S+\\s+" + // unit - ignored "\\S+\\s+" + // access date - ignored @@ -53,7 +53,7 @@ public class MVSFTPEntryParser extends ConfigurableFTPFileEntryParserImpl { * TBSHELF 01.03 2002/09/12 2002/10/11 09:37 11 11 0 KIL001 * */ - static final String MEMBER_LIST_REGEX = "(\\S+)\\s+" + // name + public static final String MEMBER_LIST_REGEX = "(\\S+)\\s+" + // name "\\S+\\s+" + // version, modification (ignored) "\\S+\\s+" + // create date (ignored) "(\\S+)\\s+" + // modification date @@ -71,7 +71,7 @@ public class MVSFTPEntryParser extends ConfigurableFTPFileEntryParserImpl { * 1 2 3 4 * */ - static final String JES_LEVEL_1_LIST_REGEX = + public static final String JES_LEVEL_1_LIST_REGEX = "(\\S+)\\s+" + // job name ignored "(\\S+)\\s+" + // job number "(\\S+)\\s+" + // job status (OUTPUT,INPUT,ACTIVE) @@ -113,7 +113,7 @@ public class MVSFTPEntryParser extends ConfigurableFTPFileEntryParserImpl { * */ - static final String JES_LEVEL_2_LIST_REGEX = + public static final String JES_LEVEL_2_LIST_REGEX = "(\\S+)\\s+" + // job name ignored "(\\S+)\\s+" + // job number "(\\S+)\\s+" + // owner ignored @@ -472,7 +472,7 @@ public class MVSFTPEntryParser extends ConfigurableFTPFileEntryParserImpl { * * @param type The listing type. */ - void setType(int type) { + public void setType(int type) { isType = type; } diff --git a/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/UnixFTPEntryParser.java b/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/UnixFTPEntryParser.java index a6ef383..0108967 100644 --- a/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/UnixFTPEntryParser.java +++ b/files-ftp/src/main/java/org/xbib/io/ftp/client/parser/UnixFTPEntryParser.java @@ -122,7 +122,7 @@ public class UnixFTPEntryParser extends ConfigurableFTPFileEntryParserImpl { // if true, leading spaces are trimmed from file names // this was the case for the original implementation - final boolean trimLeadingSpaces; // package protected for access from test code + public final boolean trimLeadingSpaces; // package protected for access from test code /** * The default constructor for a UnixFTPEntryParser object. diff --git a/files-ftp/src/test/java/module-info.java b/files-ftp/src/test/java/module-info.java new file mode 100644 index 0000000..76bed9f --- /dev/null +++ b/files-ftp/src/test/java/module-info.java @@ -0,0 +1,7 @@ +module org.xbib.files.ftp.test { + requires org.junit.jupiter.api; + requires org.xbib.files.ftp; + exports org.xbib.io.ftp.client.test; + opens org.xbib.io.ftp.client.test to org.junit.platform.commons; + opens org.xbib.io.ftp.client.test.parser to org.junit.platform.commons; +} diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientConfigFunctionalTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientConfigFunctionalTest.java similarity index 95% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientConfigFunctionalTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientConfigFunctionalTest.java index 794dfb4..00a9d98 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientConfigFunctionalTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientConfigFunctionalTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client; +package org.xbib.io.ftp.client.test; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; @@ -9,6 +9,9 @@ import java.time.ZonedDateTime; import java.util.Comparator; import java.util.Set; import java.util.TreeSet; +import org.xbib.io.ftp.client.FTPClient; +import org.xbib.io.ftp.client.FTPClientConfig; +import org.xbib.io.ftp.client.FTPFile; /* * This test was contributed in a different form by W. McDonald Buck diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientConfigTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientConfigTest.java similarity index 98% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientConfigTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientConfigTest.java index 1bee82d..b5f5853 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientConfigTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientConfigTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client; +package org.xbib.io.ftp.client.test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; @@ -9,6 +9,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; +import org.xbib.io.ftp.client.FTPClientConfig; public class FTPClientConfigTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientTest.java similarity index 94% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientTest.java index cc5e502..875b6b0 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/FTPClientTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/FTPClientTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client; +package org.xbib.io.ftp.client.test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -10,7 +10,13 @@ import java.io.ByteArrayOutputStream; import java.net.InetAddress; import java.net.UnknownHostException; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import org.xbib.io.ftp.client.FTPClient; +import org.xbib.io.ftp.client.FTPClientConfig; +import org.xbib.io.ftp.client.FTPFile; +import org.xbib.io.ftp.client.FTPFileEntryParser; +import org.xbib.io.ftp.client.FTPListParseEngine; import org.xbib.io.ftp.client.parser.UnixFTPEntryParser; public class FTPClientTest { @@ -44,7 +50,7 @@ public class FTPClientTest { @Test public void testParseClient() { for(int i = 0; i < TESTS.length; i += 2) { - assertEquals(TESTS[i+1], FTPClient.__parsePathname(TESTS[i]), "Failed to parse"); + Assertions.assertEquals(TESTS[i+1], FTPClient.__parsePathname(TESTS[i]), "Failed to parse"); } } diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/ListingFunctionalTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/ListingFunctionalTest.java similarity index 95% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/ListingFunctionalTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/ListingFunctionalTest.java index 108a98d..5d8ddc5 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/ListingFunctionalTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/ListingFunctionalTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client; +package org.xbib.io.ftp.client.test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -11,6 +11,10 @@ import java.io.IOException; import java.util.Arrays; import java.util.Iterator; import java.util.List; +import org.xbib.io.ftp.client.FTPClient; +import org.xbib.io.ftp.client.FTPClientConfig; +import org.xbib.io.ftp.client.FTPFile; +import org.xbib.io.ftp.client.FTPListParseEngine; /** * A functional test suite for checking that site listings work. diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/TestConnectTimeout.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/TestConnectTimeout.java similarity index 91% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/TestConnectTimeout.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/TestConnectTimeout.java index 41db75b..d413a50 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/TestConnectTimeout.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/TestConnectTimeout.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client; +package org.xbib.io.ftp.client.test; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; @@ -8,6 +8,7 @@ import java.net.ConnectException; import java.net.SocketException; import java.net.SocketTimeoutException; import java.net.UnknownHostException; +import org.xbib.io.ftp.client.FTPClient; public class TestConnectTimeout { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/DefaultFTPFileEntryParserFactoryTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/DefaultFTPFileEntryParserFactoryTest.java similarity index 89% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/DefaultFTPFileEntryParserFactoryTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/DefaultFTPFileEntryParserFactoryTest.java index 5348e0c..2bab913 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/DefaultFTPFileEntryParserFactoryTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/DefaultFTPFileEntryParserFactoryTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -8,6 +8,18 @@ import static org.junit.jupiter.api.Assertions.fail; import org.junit.jupiter.api.Test; import org.xbib.io.ftp.client.FTPClientConfig; import org.xbib.io.ftp.client.FTPFileEntryParser; +import org.xbib.io.ftp.client.parser.CompositeFileEntryParser; +import org.xbib.io.ftp.client.parser.DefaultFTPFileEntryParserFactory; +import org.xbib.io.ftp.client.parser.FTPFileEntryParserFactory; +import org.xbib.io.ftp.client.parser.MVSFTPEntryParser; +import org.xbib.io.ftp.client.parser.MacOsPeterFTPEntryParser; +import org.xbib.io.ftp.client.parser.NTFTPEntryParser; +import org.xbib.io.ftp.client.parser.NetwareFTPEntryParser; +import org.xbib.io.ftp.client.parser.OS2FTPEntryParser; +import org.xbib.io.ftp.client.parser.OS400FTPEntryParser; +import org.xbib.io.ftp.client.parser.ParserInitializationException; +import org.xbib.io.ftp.client.parser.UnixFTPEntryParser; +import org.xbib.io.ftp.client.parser.VMSFTPEntryParser; public class DefaultFTPFileEntryParserFactoryTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/EnterpriseUnixFTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/EnterpriseUnixFTPEntryParserTest.java similarity index 98% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/EnterpriseUnixFTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/EnterpriseUnixFTPEntryParserTest.java index bef5243..300a995 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/EnterpriseUnixFTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/EnterpriseUnixFTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -13,6 +13,7 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.EnumSet; +import org.xbib.io.ftp.client.parser.EnterpriseUnixFTPEntryParser; /** * Tests the EnterpriseUnixFTPEntryParser diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/FTPConfigEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/FTPConfigEntryParserTest.java similarity index 98% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/FTPConfigEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/FTPConfigEntryParserTest.java index 808d9d2..bebf258 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/FTPConfigEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/FTPConfigEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -10,6 +10,7 @@ import org.xbib.io.ftp.client.FTPFile; import java.time.Year; import java.time.ZoneId; import java.time.ZonedDateTime; +import org.xbib.io.ftp.client.parser.UnixFTPEntryParser; /** * This is a simple TestCase that tests entry parsing using the new FTPClientConfig diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/FTPTimestampParserImplTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/FTPTimestampParserImplTest.java similarity index 99% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/FTPTimestampParserImplTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/FTPTimestampParserImplTest.java index 2b38a67..e670467 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/FTPTimestampParserImplTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/FTPTimestampParserImplTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.fail; @@ -13,6 +13,8 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; +import org.xbib.io.ftp.client.parser.FTPTimestampParser; +import org.xbib.io.ftp.client.parser.FTPTimestampParserImpl; /** * Test the FTPTimestampParser class. diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MLSDComparison.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MLSDComparison.java similarity index 96% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MLSDComparison.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MLSDComparison.java index f4819e2..3d45f7f 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MLSDComparison.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MLSDComparison.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import org.junit.jupiter.api.Test; import org.xbib.io.ftp.client.FTP; @@ -13,6 +13,8 @@ import java.io.InputStream; import java.time.ZonedDateTime; import java.util.Arrays; import java.util.Comparator; +import org.xbib.io.ftp.client.parser.MLSxEntryParser; +import org.xbib.io.ftp.client.parser.UnixFTPEntryParser; /** * Attempt comparison of LIST and MLSD listings diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MLSxEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MLSxEntryParserTest.java similarity index 97% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MLSxEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MLSxEntryParserTest.java index 43da7ba..907dd6d 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MLSxEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MLSxEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; @@ -9,6 +9,7 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.EnumSet; +import org.xbib.io.ftp.client.parser.MLSxEntryParser; public class MLSxEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MVSFTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MVSFTPEntryParserTest.java similarity index 99% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MVSFTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MVSFTPEntryParserTest.java index 9fa4874..91ff73f 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MVSFTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MVSFTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -10,6 +10,7 @@ import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import org.xbib.io.ftp.client.parser.MVSFTPEntryParser; public class MVSFTPEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MacOsPeterFTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MacOsPeterFTPEntryParserTest.java similarity index 98% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MacOsPeterFTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MacOsPeterFTPEntryParserTest.java index 5fa17af..33ff028 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/MacOsPeterFTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/MacOsPeterFTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -14,6 +14,7 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.EnumSet; +import org.xbib.io.ftp.client.parser.MacOsPeterFTPEntryParser; public class MacOsPeterFTPEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/NTFTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/NTFTPEntryParserTest.java similarity index 98% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/NTFTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/NTFTPEntryParserTest.java index 495db3b..40172aa 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/NTFTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/NTFTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -17,6 +17,9 @@ import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.EnumSet; import java.util.Locale; +import org.xbib.io.ftp.client.parser.CompositeFileEntryParser; +import org.xbib.io.ftp.client.parser.NTFTPEntryParser; +import org.xbib.io.ftp.client.parser.UnixFTPEntryParser; @Disabled public class NTFTPEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/NetwareFTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/NetwareFTPEntryParserTest.java similarity index 97% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/NetwareFTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/NetwareFTPEntryParserTest.java index d35050b..d91d693 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/NetwareFTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/NetwareFTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -14,6 +14,7 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.EnumSet; +import org.xbib.io.ftp.client.parser.NetwareFTPEntryParser; public class NetwareFTPEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS2FTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS2FTPEntryParserTest.java similarity index 96% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS2FTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS2FTPEntryParserTest.java index b930440..343bc5f 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS2FTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS2FTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -13,6 +13,8 @@ import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.EnumSet; import java.util.Locale; +import org.xbib.io.ftp.client.parser.ConfigurableFTPFileEntryParserImpl; +import org.xbib.io.ftp.client.parser.OS2FTPEntryParser; public class OS2FTPEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS400FTPEntryParserAdditionalTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS400FTPEntryParserAdditionalTest.java similarity index 95% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS400FTPEntryParserAdditionalTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS400FTPEntryParserAdditionalTest.java index d7ffb09..1ec7407 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS400FTPEntryParserAdditionalTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS400FTPEntryParserAdditionalTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -12,6 +12,9 @@ import java.time.Month; import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; +import org.xbib.io.ftp.client.parser.CompositeFileEntryParser; +import org.xbib.io.ftp.client.parser.OS400FTPEntryParser; +import org.xbib.io.ftp.client.parser.UnixFTPEntryParser; public class OS400FTPEntryParserAdditionalTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS400FTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS400FTPEntryParserTest.java similarity index 97% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS400FTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS400FTPEntryParserTest.java index 6812154..cd71bf5 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/OS400FTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/OS400FTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -16,6 +16,9 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.EnumSet; +import org.xbib.io.ftp.client.parser.CompositeFileEntryParser; +import org.xbib.io.ftp.client.parser.OS400FTPEntryParser; +import org.xbib.io.ftp.client.parser.UnixFTPEntryParser; public class OS400FTPEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/UnixFTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/UnixFTPEntryParserTest.java similarity index 99% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/UnixFTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/UnixFTPEntryParserTest.java index d8b74ea..a09f53b 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/UnixFTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/UnixFTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -13,6 +13,7 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.EnumSet; +import org.xbib.io.ftp.client.parser.UnixFTPEntryParser; public class UnixFTPEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/VMSFTPEntryParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/VMSFTPEntryParserTest.java similarity index 98% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/VMSFTPEntryParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/VMSFTPEntryParserTest.java index 46afab2..65548b0 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/VMSFTPEntryParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/VMSFTPEntryParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -14,6 +14,9 @@ import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.Locale; +import org.xbib.io.ftp.client.parser.ConfigurableFTPFileEntryParserImpl; +import org.xbib.io.ftp.client.parser.VMSFTPEntryParser; +import org.xbib.io.ftp.client.parser.VMSVersioningFTPEntryParser; public class VMSFTPEntryParserTest { diff --git a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/ZonedDateTimeParserTest.java b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/ZonedDateTimeParserTest.java similarity index 97% rename from files-ftp/src/test/java/org/xbib/io/ftp/client/parser/ZonedDateTimeParserTest.java rename to files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/ZonedDateTimeParserTest.java index 9a0564e..43df9d1 100644 --- a/files-ftp/src/test/java/org/xbib/io/ftp/client/parser/ZonedDateTimeParserTest.java +++ b/files-ftp/src/test/java/org/xbib/io/ftp/client/test/parser/ZonedDateTimeParserTest.java @@ -1,4 +1,4 @@ -package org.xbib.io.ftp.client.parser; +package org.xbib.io.ftp.client.test.parser; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; diff --git a/files-sftp-fs/NOTICE.txt b/files-sftp-fs/NOTICE.txt new file mode 100644 index 0000000..024ce93 --- /dev/null +++ b/files-sftp-fs/NOTICE.txt @@ -0,0 +1,7 @@ +This work is build upon Apache MINA SSHD + +as forked of 29 Nov 2021 (Version 2.6.0) + +License: Apache License 2.0 + +https://github.com/apache/mina-sshd diff --git a/files-sftp-fs/src/main/java/module-info.java b/files-sftp-fs/src/main/java/module-info.java index 3fdcbf1..f103d7d 100644 --- a/files-sftp-fs/src/main/java/module-info.java +++ b/files-sftp-fs/src/main/java/module-info.java @@ -1,5 +1,5 @@ -import org.apache.sshd.fs.SftpFileSystemProvider; import java.nio.file.spi.FileSystemProvider; +import org.apache.sshd.fs.SftpFileSystemProvider; import org.xbib.files.FileServiceProvider; import org.apache.sshd.fs.spi.SFTPFileServiceProvider; diff --git a/files-sftp-fs/src/test/java/module-info.java b/files-sftp-fs/src/test/java/module-info.java new file mode 100644 index 0000000..6a88284 --- /dev/null +++ b/files-sftp-fs/src/test/java/module-info.java @@ -0,0 +1,10 @@ +module org.xbib.files.sftp.fs.test { + requires java.logging; + requires org.junit.jupiter.api; + requires org.xbib.files; + requires org.xbib.files.sftp; + requires org.xbib.files.sftp.fs; + requires org.xbib.net.security; + exports org.apache.sshd.fs.test; + opens org.apache.sshd.fs.test to org.junit.platform.commons; +} diff --git a/files-sftp-fs/src/test/resources/testFileWrite.txt b/files-sftp-fs/src/test/resources/org/apache/sshd/fs/test/testFileWrite.txt similarity index 100% rename from files-sftp-fs/src/test/resources/testFileWrite.txt rename to files-sftp-fs/src/test/resources/org/apache/sshd/fs/test/testFileWrite.txt diff --git a/files-sftp/NOTICE.txt b/files-sftp/NOTICE.txt new file mode 100644 index 0000000..024ce93 --- /dev/null +++ b/files-sftp/NOTICE.txt @@ -0,0 +1,7 @@ +This work is build upon Apache MINA SSHD + +as forked of 29 Nov 2021 (Version 2.6.0) + +License: Apache License 2.0 + +https://github.com/apache/mina-sshd diff --git a/files-sftp/src/main/java/module-info.java b/files-sftp/src/main/java/module-info.java index f1e2e16..1f8a7ca 100644 --- a/files-sftp/src/main/java/module-info.java +++ b/files-sftp/src/main/java/module-info.java @@ -81,4 +81,5 @@ module org.xbib.files.sftp { exports org.apache.sshd.common.util.threads; requires org.xbib.net.security; requires java.logging; + uses org.apache.sshd.common.io.IoServiceFactoryFactory; } \ No newline at end of file diff --git a/files-sftp/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java b/files-sftp/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java index b51dab5..77d9960 100644 --- a/files-sftp/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java +++ b/files-sftp/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java @@ -62,7 +62,6 @@ public class DefaultIoServiceFactoryFactory extends AbstractIoServiceFactoryFact factory = newInstance(IoServiceFactoryFactory.class); if (factory == null) { factory = BuiltinIoServiceFactoryFactories.NIO2.create(); - } else { } Factory executorServiceFactory = getExecutorServiceFactory(); diff --git a/gradle.properties b/gradle.properties index 771ba40..c48e4a0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,3 @@ group = org.xbib name = files -version = 4.2.1 - -org.gradle.warning.mode = ALL +version = 4.3.0 diff --git a/gradle/compile/java.gradle b/gradle/compile/java.gradle index f6a043d..6998a1d 100644 --- a/gradle/compile/java.gradle +++ b/gradle/compile/java.gradle @@ -1,4 +1,3 @@ - apply plugin: 'java-library' java { @@ -14,16 +13,33 @@ jar { manifest { attributes('Implementation-Version': project.version) } + duplicatesStrategy = DuplicatesStrategy.INCLUDE +} + +tasks.withType(JavaCompile).configureEach { + doFirst { + options.fork = true + options.forkOptions.jvmArgs += ['-Duser.language=en', '-Duser.country=US'] + options.encoding = 'UTF-8' + options.compilerArgs.add('-Xlint:all') + // enforce presence of module-info.java + options.compilerArgs.add("--module-path") + options.compilerArgs.add(classpath.asPath) + classpath = files() + } } -tasks.withType(JavaCompile) { - options.fork = true - options.forkOptions.jvmArgs += ['-Duser.language=en','-Duser.country=US'] - options.compilerArgs.add('-Xlint:all') - options.encoding = 'UTF-8' +tasks.withType(Javadoc).configureEach { + doFirst { + options.addStringOption('Xdoclint:none', '-quiet') + options.encoding = 'UTF-8' + } } -tasks.withType(Javadoc) { - options.addStringOption('Xdoclint:none', '-quiet') - options.encoding = 'UTF-8' +tasks.withType(JavaExec).configureEach { + doFirst { + jvmArguments.add("--module-path") + jvmArguments.add(classpath.asPath) + classpath = files() + } } diff --git a/gradle/test/junit5.gradle b/gradle/test/junit5.gradle index 514af77..383e798 100644 --- a/gradle/test/junit5.gradle +++ b/gradle/test/junit5.gradle @@ -1,8 +1,8 @@ dependencies { - testImplementation libs.junit.jupiter.api - testImplementation libs.junit.jupiter.params - testImplementation libs.hamcrest - testRuntimeOnly libs.junit.jupiter.engine + testImplementation testLibs.junit.jupiter.api + testImplementation testLibs.hamcrest + testRuntimeOnly testLibs.junit.jupiter.engine + testRuntimeOnly testLibs.junit.jupiter.platform.launcher } test { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7f93135..e644113 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8838ba9..b82aa23 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew.bat b/gradlew.bat index 93e3f59..25da30d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail diff --git a/settings.gradle b/settings.gradle index 9b8d76d..c069e19 100644 --- a/settings.gradle +++ b/settings.gradle @@ -15,17 +15,19 @@ pluginManagement { dependencyResolutionManagement { versionCatalogs { libs { - version('gradle', '8.4') - version('groovy', '4.0.12') - version('junit', '5.10.0') - version('net', '4.0.0') + version('gradle', '8.7') + version('net', '4.3.1') + library('net-security', 'org.xbib', 'net-security').versionRef('net') + } + testLibs { + version('junit', '5.10.2') library('junit-jupiter-api', 'org.junit.jupiter', 'junit-jupiter-api').versionRef('junit') library('junit-jupiter-params', 'org.junit.jupiter', 'junit-jupiter-params').versionRef('junit') library('junit-jupiter-engine', 'org.junit.jupiter', 'junit-jupiter-engine').versionRef('junit') library('junit-vintage-engine', 'org.junit.vintage', 'junit-vintage-engine').versionRef('junit') + library('junit-jupiter-platform-launcher', 'org.junit.platform', 'junit-platform-launcher').version('1.10.1') library('hamcrest', 'org.hamcrest', 'hamcrest-library').version('2.2') library('junit4', 'junit', 'junit').version('4.13.2') - library('net-security', 'org.xbib', 'net-security').versionRef('net') library('mockftpserver', 'org.mockftpserver', 'MockFtpServer').version('2.7.1') library('mockito-core', 'org.mockito', 'mockito-core').version('5.6.0') library('mockito-junit-jupiter', 'org.mockito', 'mockito-junit-jupiter').version('5.6.0') @@ -34,7 +36,6 @@ dependencyResolutionManagement { } include 'files-api' -include 'files-zlib' include 'files-ftp' include 'files-ftp-fs' include 'files-sftp'