Example usage for org.apache.commons.vfs2 FileName getRoot

List of usage examples for org.apache.commons.vfs2 FileName getRoot

Introduction

In this page you can find the example usage for org.apache.commons.vfs2 FileName getRoot.

Prototype

FileName getRoot();

Source Link

Document

Finds the root of the file system.

Usage

From source file:org.pentaho.big.data.impl.vfs.hdfs.HDFSFileProvider.java

@Override
protected FileSystem doCreateFileSystem(final FileName name, final FileSystemOptions fileSystemOptions)
        throws FileSystemException {
    GenericFileName genericFileName = (GenericFileName) name.getRoot();
    String hostName = genericFileName.getHostName();
    int port = genericFileName.getPort();
    // TODO: load from metastore
    NamedCluster namedCluster = namedClusterService.getClusterTemplate();
    namedCluster.setHdfsHost(hostName);//w w  w  .  j  a  va2  s  .c  o  m
    if (port > 0) {
        namedCluster.setHdfsPort(String.valueOf(port));
    } else {
        namedCluster.setHdfsPort("");
    }
    namedCluster.setMapr(MAPRFS.equals(name.getScheme()));
    try {
        return new HDFSFileSystem(name, fileSystemOptions, hadoopFileSystemLocator
                .getHadoopFilesystem(namedCluster, URI.create(name.getURI() == null ? "" : name.getURI())));
    } catch (ClusterInitializationException e) {
        throw new FileSystemException(e);
    }
}

From source file:org.pentaho.big.data.impl.vfs.hdfs.HDFSFileProviderTest.java

@Test
public void testDoCreateFileSystemNoPort() throws FileSystemException, ClusterInitializationException {
    String testHostname = "testHostname";
    FileName fileName = mock(FileName.class);
    GenericFileName genericFileName = mock(GenericFileName.class);
    when(fileName.getURI()).thenReturn("");
    when(fileName.getRoot()).thenReturn(genericFileName);
    when(genericFileName.getHostName()).thenReturn(testHostname);
    when(genericFileName.getPort()).thenReturn(-1);
    assertTrue(hdfsFileProvider.doCreateFileSystem(fileName, null) instanceof HDFSFileSystem);
    verify(hadoopFileSystemLocator).getHadoopFilesystem(namedCluster, URI.create(""));
    verify(namedCluster).setHdfsHost(testHostname);
    verify(namedCluster).setHdfsPort("");
}

From source file:org.pentaho.big.data.impl.vfs.hdfs.HDFSFileProviderTest.java

@Test
public void testDoCreateFileSystemPort() throws FileSystemException, ClusterInitializationException {
    String testHostname = "testHostname";
    FileName fileName = mock(FileName.class);
    GenericFileName genericFileName = mock(GenericFileName.class);
    when(fileName.getURI()).thenReturn("");
    when(fileName.getRoot()).thenReturn(genericFileName);
    when(genericFileName.getHostName()).thenReturn(testHostname);
    when(genericFileName.getPort()).thenReturn(111);
    assertTrue(hdfsFileProvider.doCreateFileSystem(fileName, null) instanceof HDFSFileSystem);
    verify(hadoopFileSystemLocator).getHadoopFilesystem(namedCluster, URI.create(""));
    verify(namedCluster).setHdfsHost(testHostname);
    verify(namedCluster).setHdfsPort("111");
}

From source file:org.pentaho.big.data.impl.vfs.hdfs.nc.NamedClusterProvider.java

@Override
protected FileSystem doCreateFileSystem(FileName name, FileSystemOptions fileSystemOptions)
        throws FileSystemException {
    GenericFileName genericFileName = (GenericFileName) name.getRoot();
    String clusterName = genericFileName.getHostName();
    String path = genericFileName.getPath();
    NamedCluster namedCluster = getNamedClusterByName(clusterName, fileSystemOptions);
    try {//  w w w.  ja v  a 2s  .c  o m
        if (namedCluster == null) {
            namedCluster = namedClusterService.getClusterTemplate();
        }
        String generatedUrl = namedCluster.processURLsubstitution(path == null ? "" : path,
                getMetastore(clusterName, fileSystemOptions), new Variables());
        URI uri = URI.create(generatedUrl);

        return new NamedClusterFileSystem(name, uri, fileSystemOptions,
                hadoopFileSystemLocator.getHadoopFilesystem(namedCluster, uri));
    } catch (ClusterInitializationException e) {
        throw new FileSystemException(e);
    }
}