001 package railo.runtime.functions.file; 002 003 import railo.commons.io.res.Resource; 004 import railo.commons.io.res.type.s3.S3Constants; 005 import railo.commons.io.res.util.ResourceAndResourceNameFilter; 006 import railo.commons.io.res.util.ResourceUtil; 007 import railo.commons.io.res.util.UDFFilter; 008 import railo.runtime.PageContext; 009 import railo.runtime.exp.PageException; 010 import railo.runtime.ext.function.Function; 011 import railo.runtime.tag.Directory; 012 013 public class DirectoryCopy implements Function { 014 015 private static final long serialVersionUID = -8591512197642527401L; 016 017 018 public static String call(PageContext pc , String source, String destination) throws PageException { 019 return call(pc, source, destination, false, null); 020 } 021 022 public static String call(PageContext pc , String source, String destination,boolean recurse) throws PageException { 023 return call(pc, source, destination, recurse, null); 024 } 025 026 public static String call(PageContext pc , String source, String destination,boolean recurse, Object filter) throws PageException { 027 028 Resource src = ResourceUtil.toResourceNotExisting(pc ,source); 029 ResourceAndResourceNameFilter fi = filter==null?null:UDFFilter.createResourceAndResourceNameFilter(filter); 030 Directory.actionCopy(pc, src, destination, null, null, S3Constants.STORAGE_UNKNOW, fi, recurse, Directory.NAMECONFLICT_UNDEFINED); 031 return null; 032 } 033 034 }