001    package railo.runtime.functions.s3;
002    
003    import railo.commons.io.res.Resource;
004    import railo.commons.io.res.ResourceProvider;
005    import railo.commons.io.res.type.s3.S3Resource;
006    import railo.commons.io.res.util.ResourceUtil;
007    import railo.runtime.PageContext;
008    import railo.runtime.exp.ExpressionException;
009    import railo.runtime.exp.FunctionException;
010    
011    public class S3Function {
012    
013    
014            public static S3Resource toS3Resource(PageContext pc, String url, String functionName) throws ExpressionException {
015                    Resource res=ResourceUtil.toResourceNotExisting(pc, url);
016                    ResourceProvider provider = res.getResourceProvider();
017                    if(!provider.getScheme().equalsIgnoreCase("s3") || !res.exists()) 
018                            throw new FunctionException(pc,functionName,1,"url","defined url must be a valid existing S3 Resource");
019                    
020                    return (S3Resource) res;
021            }
022    }