001package org.nuxeo.theme.resources; 002 003import java.io.File; 004import java.io.IOException; 005import java.util.Arrays; 006import java.util.Comparator; 007import java.util.regex.Matcher; 008import java.util.regex.Pattern; 009 010import org.nuxeo.common.utils.FileUtils; 011 012public class BankUtils { 013 014 final static Pattern filenamePattern = Pattern.compile("^\\p{IsAlnum}+[a-z0-9_\\-\\. ]*\\p{IsAlnum}+$|^\\p{IsAlnum}$"); 015 016 public static String getFileContent(File file) throws IOException { 017 if (!file.exists()) { 018 throw new IOException("File not found: " + file.getAbsolutePath()); 019 } 020 return FileUtils.readFile(file); 021 } 022 023 public static String getDomId(String id) { 024 return id.replaceAll("[\\s\\.]+", "-"); 025 } 026 027 public static File[] listFilesSorted(File folder) { 028 if (!folder.isDirectory()) { 029 return null; 030 } 031 File files[] = folder.listFiles(); 032 Arrays.sort(files, new Comparator() { 033 @Override 034 public int compare(final Object o1, final Object o2) { 035 return new Long(((File) o1).lastModified()).compareTo(new Long(((File) o2).lastModified())); 036 } 037 }); 038 return files; 039 } 040 041 public static boolean checkFilePath(String path) { 042 for (String f : path.split("/")) { 043 if ("".equals(f)) { 044 continue; 045 } 046 Matcher m = filenamePattern.matcher(f); 047 if (!m.find()) { 048 return false; 049 } 050 } 051 return true; 052 } 053}