001    package railo.runtime.functions.file;
002    
003    import railo.commons.io.res.ResourceProvider;
004    import railo.runtime.PageContext;
005    import railo.runtime.exp.PageException;
006    import railo.runtime.type.Struct;
007    import railo.runtime.type.StructImpl;
008    
009    public class GetVFSMetaData {
010            public static Struct call(PageContext pc, String scheme) throws PageException  {
011                    ResourceProvider[] providers = pc.getConfig().getResourceProviders();
012                    ResourceProvider provider;
013                    scheme=scheme.trim();
014                    Struct sct=new StructImpl();
015                    for(int i=0;i<providers.length;i++){
016                            provider=providers[i];
017                            if(provider.getScheme().equalsIgnoreCase(scheme)){
018                                    //MUST sct=provider.getMetaData();
019                                    sct.setEL("Scheme", provider.getScheme());
020                                    sct.setEL("Attributes", provider.isAttributesSupported());
021                                    sct.setEL("CaseSensitive", provider.isCaseSensitive());
022                                    sct.setEL("Mode", provider.isModeSupported());
023                                    
024                                    sct.setEL("Enabled", Boolean.TRUE);
025                                    return sct;
026                            }       
027                    }
028                    sct.setEL("Enabled", Boolean.FALSE);
029                    return sct;
030            }
031    
032    }