private FileSystem createWebFileSystem( final LayeredFileName genericRootName, final FileSystemOptions fileSystemOptions ) throws FileSystemException { final GenericFileName outerName = (GenericFileName) genericRootName.getOuterName(); String scheme = outerName.getScheme(); String hostName = outerName.getHostName(); int port = outerName.getPort(); String userName = outerName.getUserName(); String password = outerName.getPassword(); HttpClientManager.HttpClientBuilderFacade clientBuilder = HttpClientManager.getInstance().createBuilder(); if ( !StringUtil.isEmpty( hostName ) ) { clientBuilder.setProxy( hostName, port, scheme ); } if ( !StringUtil.isEmpty( userName ) ) { clientBuilder.setCredentials( userName, password ); } final PentahoSolutionsFileSystemConfigBuilder configBuilder = new PentahoSolutionsFileSystemConfigBuilder(); final int timeOut = configBuilder.getTimeOut( fileSystemOptions ); clientBuilder.setSocketTimeout( Math.max( 0, timeOut ) ); return new WebSolutionFileSystem( genericRootName, fileSystemOptions, new LocalFileModel( outerName.getURI(), clientBuilder, userName, password, hostName, port ) ); }
private FileSystem createJCRFileSystem( final LayeredFileName genericRootName, final FileSystemOptions fileSystemOptions ) { UserAuthenticationData authData = null; try { authData = UserAuthenticatorUtils.authenticate( fileSystemOptions, AUTHENTICATOR_TYPES ); final GenericFileName outerName = (GenericFileName) genericRootName.getOuterName(); final String username = UserAuthenticatorUtils.toString( UserAuthenticatorUtils .getData( authData, UserAuthenticationData.USERNAME, UserAuthenticatorUtils.toChar( outerName.getUserName() ) ) ); final String password = UserAuthenticatorUtils.toString( UserAuthenticatorUtils .getData( authData, UserAuthenticationData.PASSWORD, UserAuthenticatorUtils.toChar( outerName.getPassword() ) ) ); final PentahoSolutionsFileSystemConfigBuilder configBuilder = new PentahoSolutionsFileSystemConfigBuilder(); final int timeOut = configBuilder.getTimeOut( fileSystemOptions ); final JCRSolutionFileModel model = new JCRSolutionFileModel( outerName.getURI(), username, password, timeOut ); return new JCRSolutionFileSystem( genericRootName, fileSystemOptions, model ); } finally { UserAuthenticatorUtils.cleanup( authData ); } }
assertEquals("/file", name.getPath()); assertEquals("ftp://hostname/", name.getRootURI()); assertEquals("ftp://hostname/file", name.getURI()); assertEquals("/file", name.getPath()); assertEquals("ftp://hostname:9090/", name.getRootURI()); assertEquals("ftp://hostname:9090/file", name.getURI()); assertEquals("/", name.getPath()); assertEquals("ftp://hostname/", name.getRootURI()); assertEquals("ftp://hostname/", name.getURI());
assertEquals("/file", name.getPath()); assertEquals("ftp://hostname/", name.getRootURI()); assertEquals("ftp://hostname/file", name.getURI()); assertEquals("/file", name.getPath()); assertEquals("ftp://hostname:9090/", name.getRootURI()); assertEquals("ftp://hostname:9090/file", name.getURI()); assertEquals("/", name.getPath()); assertEquals("ftp://hostname/", name.getRootURI()); assertEquals("ftp://hostname/", name.getURI()); assertEquals("/file", name.getPath()); assertEquals("ftp://user@hostname/", name.getRootURI()); assertEquals("ftp://user@hostname/file", name.getURI()); assertEquals("/file", name.getPath()); assertEquals("ftp://user:password@hostname/", name.getRootURI()); assertEquals("ftp://user:password@hostname/file", name.getURI()); assertEquals("/", name.getPath()); assertEquals("ftp://user%3a:%40@hostname/", name.getRootURI()); assertEquals("ftp://user%3a:%40@hostname/", name.getURI());
assertEquals("/file", name.getPath()); assertEquals("ftp://hostname/", name.getRootURI()); assertEquals("ftp://hostname/file", name.getURI()); assertEquals("/file", name.getPath()); assertEquals("ftp://hostname:9090/", name.getRootURI()); assertEquals("ftp://hostname:9090/file", name.getURI()); assertEquals("/", name.getPath()); assertEquals("ftp://hostname/", name.getRootURI()); assertEquals("ftp://hostname/", name.getURI()); assertEquals("/file", name.getPath()); assertEquals("ftp://user@hostname/", name.getRootURI()); assertEquals("ftp://user@hostname/file", name.getURI()); assertEquals("/file", name.getPath()); assertEquals("ftp://user:password@hostname/", name.getRootURI()); assertEquals("ftp://user:password@hostname/file", name.getURI()); assertEquals("/", name.getPath()); assertEquals("ftp://user%3a:%40@hostname/", name.getRootURI()); assertEquals("ftp://user%3a:%40@hostname/", name.getURI());