update to gradle 8.7, lift to module path
This commit is contained in:
parent
99406c1ca4
commit
b4dc1f5203
66 changed files with 266 additions and 140 deletions
|
@ -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')
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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.<Path>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<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException {
|
||||
public SeekableByteChannel newByteChannel(FTPPath path, Set<? extends OpenOption> 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<Path> newDirectoryStream(final FTPPath path, Filter<? super Path> filter) throws IOException {
|
||||
public DirectoryStream<Path> newDirectoryStream(final FTPPath path, Filter<? super Path> filter) throws IOException {
|
||||
List<FTPFile> 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<String, Object> readAttributes(FTPPath path, String attributes, LinkOption... options) throws IOException {
|
||||
public Map<String, Object> 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);
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
13
files-ftp-fs/src/test/java/module-info.java
Normal file
13
files-ftp-fs/src/test/java/module-info.java
Normal file
|
@ -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;
|
||||
}
|
|
@ -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;
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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 {
|
||||
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
* <pre>
|
||||
|
@ -33,7 +33,7 @@ public class MVSFTPEntryParser extends ConfigurableFTPFileEntryParserImpl {
|
|||
* B10142 3390 2006/03/20 2 31 F 80 80 PS MDI.OKL.WORK
|
||||
* </pre>
|
||||
*/
|
||||
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
|
||||
* </pre>
|
||||
*/
|
||||
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
|
||||
* </pre>
|
||||
*/
|
||||
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 {
|
|||
* </pre>
|
||||
*/
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
7
files-ftp/src/test/java/module-info.java
Normal file
7
files-ftp/src/test/java/module-info.java
Normal file
|
@ -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;
|
||||
}
|
|
@ -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
|
|
@ -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 {
|
||||
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
@ -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.
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
|
@ -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
|
|
@ -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
|
|
@ -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.
|
|
@ -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
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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;
|
7
files-sftp-fs/NOTICE.txt
Normal file
7
files-sftp-fs/NOTICE.txt
Normal file
|
@ -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
|
|
@ -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;
|
||||
|
||||
|
|
10
files-sftp-fs/src/test/java/module-info.java
Normal file
10
files-sftp-fs/src/test/java/module-info.java
Normal file
|
@ -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;
|
||||
}
|
7
files-sftp/NOTICE.txt
Normal file
7
files-sftp/NOTICE.txt
Normal file
|
@ -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
|
|
@ -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;
|
||||
}
|
|
@ -62,7 +62,6 @@ public class DefaultIoServiceFactoryFactory extends AbstractIoServiceFactoryFact
|
|||
factory = newInstance(IoServiceFactoryFactory.class);
|
||||
if (factory == null) {
|
||||
factory = BuiltinIoServiceFactoryFactories.NIO2.create();
|
||||
} else {
|
||||
}
|
||||
|
||||
Factory<CloseableExecutorService> executorServiceFactory = getExecutorServiceFactory();
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
group = org.xbib
|
||||
name = files
|
||||
version = 4.2.1
|
||||
|
||||
org.gradle.warning.mode = ALL
|
||||
version = 4.3.0
|
||||
|
|
|
@ -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) {
|
||||
options.fork = true
|
||||
options.forkOptions.jvmArgs += ['-Duser.language=en','-Duser.country=US']
|
||||
options.compilerArgs.add('-Xlint:all')
|
||||
options.encoding = 'UTF-8'
|
||||
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(Javadoc) {
|
||||
options.addStringOption('Xdoclint:none', '-quiet')
|
||||
options.encoding = 'UTF-8'
|
||||
tasks.withType(Javadoc).configureEach {
|
||||
doFirst {
|
||||
options.addStringOption('Xdoclint:none', '-quiet')
|
||||
options.encoding = 'UTF-8'
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType(JavaExec).configureEach {
|
||||
doFirst {
|
||||
jvmArguments.add("--module-path")
|
||||
jvmArguments.add(classpath.asPath)
|
||||
classpath = files()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -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
|
||||
|
|
20
gradlew.bat
vendored
20
gradlew.bat
vendored
|
@ -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
|
||||
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Reference in a new issue