Example usage for org.apache.commons.vfs2.impl DefaultFileSystemManager hasProvider

List of usage examples for org.apache.commons.vfs2.impl DefaultFileSystemManager hasProvider

Introduction

In this page you can find the example usage for org.apache.commons.vfs2.impl DefaultFileSystemManager hasProvider.

Prototype

@Override
public boolean hasProvider(final String scheme) 

Source Link

Document

Returns true if this manager has a provider for a particular scheme.

Usage

From source file:com.seer.datacruncher.spring.ConnectionsFileDownloadController.java

private String getFileContent(long connId, ConnectionsEntity connectionEntity) {
    String content = "";
    DefaultFileSystemManager fsManager = null;
    FileObject fileObject = null;
    try {// w  ww.  j  a  v a2 s .  c  om

        fsManager = (DefaultFileSystemManager) VFS.getManager();
        int serviceId = connectionEntity.getService();

        String hostName = connectionEntity.getHost();
        String port = connectionEntity.getPort();
        String userName = connectionEntity.getUserName();
        String password = connectionEntity.getPassword();
        String inputDirectory = connectionEntity.getDirectory();
        String fileName = connectionEntity.getFileName();

        log.info("Trying to Server polling at server [" + hostName + ":" + port + "] with user[" + userName
                + "].");

        String url = "";
        if (serviceId == Servers.SAMBA.getDbCode()) {
            if (!fsManager.hasProvider("smb")) {
                fsManager.addProvider("smb", new SmbFileProvider());
            }
            url = "smb://" + userName + ":" + password + "@" + hostName + ":" + port + "/" + inputDirectory
                    + "/" + fileName;
        } else if (serviceId == Servers.HTTP.getDbCode()) {
            if (!fsManager.hasProvider("http")) {
                fsManager.addProvider("http", new HttpFileProvider());
            }
            url = "http://" + hostName + ":" + port + "/" + inputDirectory + "/" + fileName;
        } else if (serviceId == Servers.FTP.getDbCode()) {
            if (!fsManager.hasProvider("ftp")) {
                fsManager.addProvider("ftp", new SmbFileProvider());
            }
            url = "ftp://" + userName + ":" + password + "@" + hostName + ":" + port + "/" + inputDirectory
                    + "/" + fileName;
        }

        fileObject = fsManager.resolveFile(url);

        if (fileObject == null || !fileObject.exists() || fileObject.getType().equals(FileType.IMAGINARY)) {
            return null;
        }

        BufferedReader fileReader = new BufferedReader(
                new InputStreamReader(fileObject.getContent().getInputStream()));
        StringBuilder sb = new StringBuilder();

        String line;
        while ((line = fileReader.readLine()) != null) {
            sb.append(line);
        }

        content = sb.toString();

    } catch (Exception ex) {

    } finally {
        try {
            if (fileObject != null) {
                fileObject.close();
            }
            if (fsManager != null) {
                fsManager.freeUnusedResources();
                fsManager.close();
                fsManager = null;
            }
        } catch (Exception ex) {

        } finally {
            fileObject = null;
            fsManager = null;
        }
    }
    return content;

}

From source file:com.seer.datacruncher.services.scheduler.PlannerSetStatusJob.java

private boolean checkServiceRunning(ConnectionsEntity conn) {

    boolean success = true;
    String url = "";
    DefaultFileSystemManager fsManager = null;
    String userName = "";
    String password = "";
    String hostName = "";
    String port = "";
    String inputDirectory = "";
    String fileName = "";

    if (conn != null) {
        userName = conn.getUserName();/*from   w  w w . j av a 2 s . c o  m*/
        password = conn.getPassword();
        hostName = conn.getHost();
        port = conn.getPort();
        inputDirectory = conn.getDirectory();
        fileName = conn.getFileName();
    }

    if (conn.getIdConnType() == GenericType.DownloadTypeConn) {
        if (fileName == null || fileName.trim().length() == 0) {
            return false;
        }
        inputDirectory = inputDirectory + "/" + fileName;
    }
    try {
        fsManager = (DefaultFileSystemManager) VFS.getManager();
        if (conn.getService() == Servers.SAMBA.getDbCode()) {
            if (!fsManager.hasProvider("smb")) {
                fsManager.addProvider("smb", new SmbFileProvider());
            }
            url = "smb://" + userName + ":" + password + "@" + hostName + ":" + port + "/" + inputDirectory;
        } else if (conn.getService() == Servers.HTTP.getDbCode()) {
            if (!fsManager.hasProvider("http")) {
                fsManager.addProvider("http", new HttpFileProvider());
            }
            url = "http://" + hostName + ":" + port + "/" + inputDirectory;
        } else if (conn.getService() == Servers.FTP.getDbCode()) {
            if (!fsManager.hasProvider("ftp")) {
                fsManager.addProvider("ftp", new FtpFileProvider());
            }
            url = "ftp://" + userName + ":" + password + "@" + hostName + ":" + port + "/" + inputDirectory;
        }

        final FileObject fileObject = fsManager.resolveFile(url);

        if (fileObject == null || !fileObject.exists()) {
            success = false;
        }

    } catch (Exception ex) {
        success = false;
    } finally {
        if (fsManager != null)
            fsManager.close();
    }
    return success;
}

From source file:com.seer.datacruncher.spring.IsSuccessfulConnectionController.java

private String checkServiceRunning(int service, String connID) {

    String success = "true";
    String url = "";
    ConnectionsEntity conn = connectionsDao.find(Long.parseLong(connID));
    DefaultFileSystemManager fsManager = null;
    FileObject fileObject = null;
    String userName = "";
    String password = "";
    String hostName = "";
    String port = "";
    String inputDirectory = "";
    String fileName = "";
    int connType = 1;

    if (conn != null) {
        userName = conn.getUserName();/*  w  ww  . j  a v  a2 s  .  c om*/
        password = conn.getPassword();
        hostName = conn.getHost();
        port = conn.getPort();
        inputDirectory = conn.getDirectory();
        fileName = conn.getFileName();
        connType = conn.getIdConnType();

    }

    if (connType == GenericType.DownloadTypeConn) {
        if (fileName == null || fileName.trim().length() == 0) {
            return "false";
        } else {
            fileName = "/" + fileName;
        }
    } else {
        fileName = "";
    }

    try {
        fsManager = (DefaultFileSystemManager) VFS.getManager();
        if (service == Servers.SAMBA.getDbCode()) {
            if (!fsManager.hasProvider("smb")) {
                fsManager.addProvider("smb", new SmbFileProvider());
            }
            url = "smb://" + userName + ":" + password + "@" + hostName + ":" + port + "/" + inputDirectory
                    + fileName;
        } else if (service == Servers.HTTP.getDbCode()) {
            if (!fsManager.hasProvider("http")) {
                fsManager.addProvider("http", new HttpFileProvider());
            }
            url = "http://" + hostName + ":" + port + "/" + inputDirectory + fileName;
        } else if (service == Servers.FTP.getDbCode()) {
            if (!fsManager.hasProvider("ftp")) {
                fsManager.addProvider("ftp", new FtpFileProvider());
            }
            url = "ftp://" + userName + ":" + password + "@" + hostName + ":" + port + "/" + inputDirectory
                    + fileName;
        }

        fileObject = fsManager.resolveFile(url);

        if (fileObject == null || !fileObject.exists()) {
            success = "false";
        }

        if (connType == GenericType.DownloadTypeConn) {
            if (fileObject.getType().equals(FileType.IMAGINARY)) {
                success = "false";
            }
            byte data[] = new byte[(int) fileObject.getContent().getSize()];
            fileObject.getContent().getInputStream().read(data);
        }

    } catch (Exception ex) {
        success = "false";
    } finally {
        try {
            if (fileObject != null) {
                fileObject.close();
            }
            if (fsManager != null) {
                fsManager.freeUnusedResources();
                fsManager.close();
                fsManager = null;
            }
        } catch (Exception ex) {

        } finally {
            fileObject = null;
            fsManager = null;
        }
    }

    return success;
}

From source file:tain.kr.test.vfs.v01.TestVfs2FilehandleService.java

@Test
public void testCaching() throws Exception {

    String path = TestVfs2FilehandleService.class.getResource("").getPath();
    if (flag)//  w w  w .  ja v  a2s . c o  m
        System.out.printf("[%s]\n", path);

    String testFolder = path + "/testfolder";
    FileSystemManager manager = VFS.getManager();

    FileObject scratchFolder = manager.resolveFile(testFolder);

    // testfolder    
    scratchFolder.delete(Selectors.EXCLUDE_SELF);

    FileObject file = manager.resolveFile(path + "/testfolder/dummy.txt");
    file.createFile();

    //  Manager 
    DefaultFileSystemManager fs = new DefaultFileSystemManager();
    fs.setFilesCache(manager.getFilesCache());

    // zip, jar, tgz, tar, tbz2, file
    if (!fs.hasProvider("file")) {
        fs.addProvider("file", new DefaultLocalFileProvider());
    }

    fs.setCacheStrategy(CacheStrategy.ON_RESOLVE);
    fs.init();

    //   
    FileObject foBase2 = fs.resolveFile(testFolder);
    if (flag)
        System.out.printf("## scratchFolder.getName().getPath() : %s\n", scratchFolder.getName().getPath());

    FileObject cachedFolder = foBase2.resolveFile(scratchFolder.getName().getPath());

    //   
    FileObject[] fos = cachedFolder.getChildren();
    assertFalse(contains(fos, "file1.txt"));

    // 
    scratchFolder.resolveFile("file1.txt").createFile();

    //  
    // BUT cachedFolder    
    fos = cachedFolder.getChildren();
    assertFalse(contains(fos, "file1.txt"));

    // 
    cachedFolder.refresh();
    //  
    fos = cachedFolder.getChildren();
    assertTrue(contains(fos, "file1.txt"));
}