/** Creates a {@link FileSystem}. */ protected FileSystem doCreateFileSystem( final FileName name, final FileSystemOptions fileSystemOptions) throws FileSystemException { // Create the file system final GenericFileName rootName = (GenericFileName) name; FileSystemOptions fsOpts = (fileSystemOptions == null) ? new FileSystemOptions() : fileSystemOptions; UserAuthenticationData authData = null; HttpClient httpClient; try { authData = UserAuthenticatorUtils.authenticate(fsOpts, AUTHENTICATOR_TYPES); httpClient = HttpClientFactory.createConnection( WebdavFileSystemConfigBuilder.getInstance(), "http", rootName.getHostName(), rootName.getPort(), UserAuthenticatorUtils.toString( UserAuthenticatorUtils.getData( authData, UserAuthenticationData.USERNAME, UserAuthenticatorUtils.toChar(rootName.getUserName()))), UserAuthenticatorUtils.toString( UserAuthenticatorUtils.getData( authData, UserAuthenticationData.PASSWORD, UserAuthenticatorUtils.toChar(rootName.getPassword()))), fsOpts); } finally { UserAuthenticatorUtils.cleanup(authData); } return new WebdavFileSystem(rootName, httpClient, fsOpts); }
private FTPClient createClient() throws FileSystemException { final GenericFileName rootName = getRoot(); UserAuthenticationData authData = null; try { authData = UserAuthenticatorUtils.authenticate( fileSystemOptions, FtpFileProvider.AUTHENTICATOR_TYPES); return FtpClientFactory.createConnection( rootName.getHostName(), rootName.getPort(), UserAuthenticatorUtils.getData( authData, UserAuthenticationData.USERNAME, UserAuthenticatorUtils.toChar(rootName.getUserName())), UserAuthenticatorUtils.getData( authData, UserAuthenticationData.PASSWORD, UserAuthenticatorUtils.toChar(rootName.getPassword())), rootName.getPath(), getFileSystemOptions()); } finally { UserAuthenticatorUtils.cleanup(authData); } }
/** Tests parsing a URI into its parts. */ public void testParseUri() throws Exception { // Simple name GenericFileName name = GenericFileName.parseUri("ftp://hostname/file", 21); assertEquals("ftp", name.getScheme()); assertNull(name.getUserName()); assertNull(name.getPassword()); assertEquals("hostname", name.getHostName()); assertEquals(21, name.getPort()); assertEquals(name.getDefaultPort(), name.getPort()); assertEquals("/file", name.getPath()); assertEquals("ftp://hostname/", name.getRootURI()); assertEquals("ftp://hostname/file", name.getURI()); // Name with port name = GenericFileName.parseUri("ftp://*****:*****@hostname/file", 21); assertEquals("ftp", name.getScheme()); assertEquals("user", name.getUserName()); assertNull(name.getPassword()); assertEquals("hostname", name.getHostName()); assertEquals(21, name.getPort()); assertEquals("/file", name.getPath()); assertEquals("ftp://user@hostname/", name.getRootURI()); assertEquals("ftp://user@hostname/file", name.getURI()); // Name with username and password name = GenericFileName.parseUri("ftp://*****:*****@hostname/file", 21); assertEquals("ftp", name.getScheme()); assertEquals("user", name.getUserName()); assertEquals("password", name.getPassword()); assertEquals("hostname", name.getHostName()); assertEquals(21, name.getPort()); assertEquals("/file", name.getPath()); assertEquals("ftp://*****:*****@hostname/", name.getRootURI()); assertEquals("ftp://*****:*****@hostname/file", name.getURI()); // Encoded username and password name = GenericFileName.parseUri("ftp://%75ser%3A:%40@hostname", 21); assertEquals("ftp", name.getScheme()); assertEquals("user:"******"@", name.getPassword()); assertEquals("hostname", name.getHostName()); assertEquals(21, name.getPort()); assertEquals("/", name.getPath()); assertEquals("ftp://user%3a:%40@hostname/", name.getRootURI()); assertEquals("ftp://user%3a:%40@hostname/", name.getURI()); }