001    package railo.runtime.functions.system;
002    
003    import java.io.InputStream;
004    import java.util.zip.ZipEntry;
005    import java.util.zip.ZipInputStream;
006    
007    import railo.commons.io.IOUtil;
008    import railo.commons.io.res.util.ResourceUtil;
009    import railo.runtime.PageContext;
010    
011    public class IsZipFile {
012    
013            public static boolean call(PageContext pc, String path) {
014                    InputStream is=null;
015                    boolean hasEntries=false;
016                    try {
017                            ZipEntry ze;
018                            ZipInputStream zis = new ZipInputStream(is=ResourceUtil.toResourceExisting(pc, path).getInputStream());
019                            while ((ze=zis.getNextEntry()) != null ) {
020                            zis.closeEntry();
021                            hasEntries=true;
022                    }
023                    } catch (Exception e) {
024                            return false;
025                    }
026                    finally {
027                            IOUtil.closeEL(is);
028                    }
029                    return hasEntries;
030            }
031    }