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

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

Introduction

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

Prototype

@Override
public String[] getSchemes() 

Source Link

Document

Get the schemes currently available.

Usage

From source file:org.kalypso.commons.io.VFSUtilities.java

/**
 * Configures a DefaultFileSystemManager with support for webdav and registered providers.
 *//* w  w w .j  ava2 s .  c om*/
private static void configureManager(final DefaultFileSystemManager fsManager) throws FileSystemException {
    final String[] schemes = fsManager.getSchemes();
    final List<String> schemeList = Arrays.asList(schemes);

    // maybe add webdav
    if (!schemeList.contains("webdav")) //$NON-NLS-1$
    {
        KalypsoCommonsDebug.DEBUG.printf("Adding webdav file provider ...%n"); //$NON-NLS-1$
        fsManager.addProvider("webdav", new WebdavFileProvider()); //$NON-NLS-1$
    }

    final Map<String, IConfigurationElement> providerLocations = readExtensions();
    for (final Map.Entry<String, IConfigurationElement> entry : providerLocations.entrySet()) {
        final IConfigurationElement element = entry.getValue();

        final String scheme = element.getAttribute("scheme"); //$NON-NLS-1$
        if (!schemeList.contains(scheme)) {
            try {
                final VFSProviderExtension provider = (VFSProviderExtension) element
                        .createExecutableExtension("class"); //$NON-NLS-1$
                fsManager.addProvider(scheme, provider.getProvider());
                provider.init(fsManager);
            } catch (final CoreException e) {
                throw new FileSystemException(
                        Messages.getString("org.kalypso.commons.io.VFSUtilities.0") + scheme, e); //$NON-NLS-1$
            }
        }
    }
}