public static FileObject resolveFile(String fileUri, UserAuthenticator userAuthenticator) throws FileSystemException { FileSystemOptions opts = null; if (VFS.getManager().getBaseFile() != null) { opts = VFS.getManager().getBaseFile().getFileSystem().getFileSystemOptions(); } if (opts == null) { opts = new FileSystemOptions(); } DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, userAuthenticator); FileObject file = resolveFile(fileUri, opts); return file; }
protected AbstractFileSystem( final FileName rootName, final FileObject parentLayer, final FileSystemOptions fileSystemOptions) { // this.parentLayer = parentLayer; this.parentLayer = parentLayer; this.rootName = rootName; this.fileSystemOptions = fileSystemOptions; FileSystemConfigBuilder builder = DefaultFileSystemConfigBuilder.getInstance(); String uri = builder.getRootURI(fileSystemOptions); if (uri == null) { uri = rootName.getURI(); } this.rootURI = uri; }
public FileObject connectAndChangeToWorkDir() throws FileSystemException { StaticUserAuthenticator auth = new StaticUserAuthenticator(null, ftpConfig.getUsername(), ftpConfig.getPassword()); FileSystemOptions opts = new FileSystemOptions(); switch (ftpConfig.getType()) { case FTP: FtpFileSystemConfigBuilder.getInstance().setSoTimeout(opts, SOCKET_TIMEOUT); FtpFileSystemConfigBuilder.getInstance().setDataTimeout(opts, DATA_TIMEOUT); FtpFileSystemConfigBuilder.getInstance().setConnectTimeout(opts, CONNET_TIMEOUT); break; case FTPS: FtpsFileSystemConfigBuilder.getInstance().setSoTimeout(opts, SOCKET_TIMEOUT); FtpsFileSystemConfigBuilder.getInstance().setDataTimeout(opts, DATA_TIMEOUT); FtpsFileSystemConfigBuilder.getInstance().setConnectTimeout(opts, CONNET_TIMEOUT); break; case SFTP: SftpFileSystemConfigBuilder.getInstance().setTimeout(opts, SOCKET_TIMEOUT); break; } DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth); FileObject fo = VFS.getManager().resolveFile(connectionString, opts); LOG.info("connected at {} #{}", connectionString, ftpConfig.getId()); return fo; }