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

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

Introduction

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

Prototype

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:egovframework.rte.fdl.filehandling.FilehandlingServiceTest.java

/**
 * ? ? , ?  ??  ?? ?//w  w w . j av  a 2s . c  o m
 * ?  ? ? ? .
 * @throws Exception
 */
@Test
public void testCaching() throws Exception {
    String testFolder = "d:/workspace/java/e-gov/eGovFramework/RTE/DEV/trunk/Foundation/egovframework.rte.fdl.filehandling/testfolder";
    FileSystemManager manager = VFS.getManager();

    FileObject scratchFolder = manager.resolveFile(testFolder);

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

    // ? 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);
    log.debug("## scratchFolder.getName().getPath() : " + 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"));

}

From source file:egovframework.rte.fdl.filehandling.FilehandlingServiceTest.java

@Test
public void testCaching1() throws Exception {
    String testFolder = "d:/workspace/java/e-gov/eGovFramework/RTE/DEV/trunk/Foundation/egovframework.rte.fdl.filehandling/test";

    FileSystemManager manager = VFS.getManager();

    EgovFileUtil.writeFile(testFolder + "/file1.txt", text, "UTF-8");

    /*// ww w . j  a v a  2 s . com
     * ? Manager ?
     * CacheStrategy.MANUAL      : Deal with cached data manually. Call FileObject.refresh() to refresh the object data.
     * CacheStrategy.ON_RESOLVE : Refresh the data every time you request a file from FileSystemManager.resolveFile
     * CacheStrategy.ON_CALL   : Refresh the data every time you call a method on the fileObject. You'll use this only if you really need the latest info as this setting is a major performance loss. 
     */
    DefaultFileSystemManager fs = new DefaultFileSystemManager();
    fs.setFilesCache(manager.getFilesCache());

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

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

    // ? ? ?
    //FileObject foBase2 = fs.resolveFile(testFolder);
    log.debug("####1");
    FileObject cachedFile = fs.toFileObject(new File(testFolder + "/file1.txt"));
    log.debug("####2");

    FilesCache filesCache = fs.getFilesCache();
    log.debug("####3");
    filesCache.putFile(cachedFile);
    FileObject obj = filesCache.getFile(cachedFile.getFileSystem(), cachedFile.getName());

    //FileObject baseFile = fs.getBaseFile();
    //        log.debug("### cachedFile.getContent().getSize() is " + cachedFile.getContent().getSize());

    //        long fileSize = cachedFile.getContent().getSize();
    //        log.debug("#########size is " + fileSize);
    //FileObject cachedFile1 = cachedFile.resolveFile("file2.txt");

    //       FileObject scratchFolder = manager.resolveFile(testFolder);
    //       scratchFolder.delete(Selectors.EXCLUDE_SELF);

    EgovFileUtil.delete(new File(testFolder + "/file1.txt"));

    //       obj.createFile();

    //        log.debug("#########obj is " + obj.toString());
    //        log.debug("#########size is " + obj.getContent().getSize());
    log.debug("#########file is " + obj.exists());

    fs.close();
}

From source file:org.pentaho.platform.plugin.action.olap.impl.OlapServiceImpl.java

/**
 * Constructor for testing purposes. Takes a repository as a parameter.
 */// w w w .j  a v a2 s .c om
public OlapServiceImpl(IUnifiedRepository repo, final MondrianServer server) {
    this.repository = repo;
    this.filters = new CopyOnWriteArrayList<IOlapConnectionFilter>();
    this.server = server;

    try {
        DefaultFileSystemManager dfsm = (DefaultFileSystemManager) VFS.getManager();
        if (dfsm.hasProvider("mondrian") == false) {
            dfsm.addProvider("mondrian", new MondrianVfs());
        }
    } catch (FileSystemException e) {
        throw new RuntimeException(e);
    }
}

From source file:org.pentaho.platform.web.servlet.PentahoXmlaServlet.java

public PentahoXmlaServlet() {
    super();// ww w. j  a v a  2  s.  c o  m
    if (!cacheMgr.cacheEnabled(CACHE_REGION)) {
        cacheMgr.addCacheRegion(CACHE_REGION);
    }
    repo = PentahoSystem.get(IUnifiedRepository.class);
    mondrianCatalogService = (MondrianCatalogHelper) PentahoSystem.get(IMondrianCatalogService.class);
    try {
        DefaultFileSystemManager dfsm = (DefaultFileSystemManager) VFS.getManager();
        if (!dfsm.hasProvider("mondrian")) {
            dfsm.addProvider("mondrian", new MondrianVfs());
        }
    } catch (FileSystemException e) {
        logger.error(e.getMessage());
    }
}

From source file:pt.webdetails.di.baserver.utils.repositoryPlugin.RepositoryPlugin.java

public RepositoryPlugin(DefaultFileSystemManager fileSystemManager) {
    this.forceLibPensolPropertiesLoad();

    // if no file system manager is specified used the one from Kettle VFS
    if (fileSystemManager == null) {
        fileSystemManager = this.getKettleVFSFileSystemManager();
    }//ww  w  .  j av  a2 s.  c o m

    this.setFileSystemManager(fileSystemManager);

    String vfsScheme = this.getConstants().getVfsScheme();
    if (fileSystemManager != null && !fileSystemManager.hasProvider(vfsScheme)) {
        try {
            fileSystemManager.addProvider(vfsScheme, new PentahoSolutionFileProvider());
        } catch (FileSystemException e) {
            this.getLogger().error("Error trying to add Pentaho Solution File provider.", e);
        }
    }

    this.registerJCRFileChooserDialog();

    this.setToolbarController(new ToolbarController());
    final RepositoryPlugin repositoryPlugin = this;
    this.lifecycleListener = new SpoonLifecycleListener() {
        @Override
        public void onEvent(SpoonLifeCycleEvent evt) {
            repositoryPlugin.getToolbarController().getSpoonLifeCycleListener().onEvent(evt);
        }
    };

}