X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Fresources%2FTransBundle_ResourceList.java;fp=src%2Fbe%2Fnikiroo%2Futils%2Fresources%2FTransBundle_ResourceList.java;h=0000000000000000000000000000000000000000;hb=ad207feb2815e429ae32484bc6930990099f8ea4;hp=9983b8bc09915f16e26dbd67cbd391d097b345dd;hpb=1b5197ed4ceec2025a9a40c417b37c646b756138;p=nikiroo-utils.git diff --git a/src/be/nikiroo/utils/resources/TransBundle_ResourceList.java b/src/be/nikiroo/utils/resources/TransBundle_ResourceList.java deleted file mode 100644 index 9983b8b..0000000 --- a/src/be/nikiroo/utils/resources/TransBundle_ResourceList.java +++ /dev/null @@ -1,125 +0,0 @@ -package be.nikiroo.utils.resources; - -// code copied from from: -// http://forums.devx.com/showthread.php?t=153784, -// via: -// http://stackoverflow.com/questions/3923129/get-a-list-of-resources-from-classpath-directory - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.List; -import java.util.regex.Pattern; -import java.util.zip.ZipEntry; -import java.util.zip.ZipException; -import java.util.zip.ZipFile; - -/** - * list resources available from the classpath @ * - */ -class TransBundle_ResourceList { - - /** - * for all elements of java.class.path get a Collection of resources Pattern - * pattern = Pattern.compile(".*"); gets all resources - * - * @param pattern - * the pattern to match - * @return the resources in the order they are found - */ - public static Collection getResources(final Pattern pattern) { - final ArrayList retval = new ArrayList(); - final String classPath = System.getProperty("java.class.path", "."); - final String[] classPathElements = classPath.split(System - .getProperty("path.separator")); - for (final String element : classPathElements) { - retval.addAll(getResources(element, pattern)); - } - - return retval; - } - - private static Collection getResources(final String element, - final Pattern pattern) { - final ArrayList retval = new ArrayList(); - final File file = new File(element); - if (file.isDirectory()) { - retval.addAll(getResourcesFromDirectory(file, pattern)); - } else { - retval.addAll(getResourcesFromJarFile(file, pattern)); - } - - return retval; - } - - private static Collection getResourcesFromJarFile(final File file, - final Pattern pattern) { - final ArrayList retval = new ArrayList(); - ZipFile zf; - try { - zf = new ZipFile(file); - } catch (final ZipException e) { - throw new Error(e); - } catch (final IOException e) { - throw new Error(e); - } - final Enumeration e = zf.entries(); - while (e.hasMoreElements()) { - final ZipEntry ze = e.nextElement(); - final String fileName = ze.getName(); - final boolean accept = pattern.matcher(fileName).matches(); - if (accept) { - retval.add(fileName); - } - } - try { - zf.close(); - } catch (final IOException e1) { - throw new Error(e1); - } - - return retval; - } - - private static Collection getResourcesFromDirectory( - final File directory, final Pattern pattern) { - List acc = new ArrayList(); - List dirs = new ArrayList(); - getResourcesFromDirectory(acc, dirs, directory, pattern); - - List rep = new ArrayList(); - for (String value : acc) { - if (pattern.matcher(value).matches()) { - rep.add(value); - } - } - - return rep; - } - - private static void getResourcesFromDirectory(List acc, - List dirs, final File directory, final Pattern pattern) { - final File[] fileList = directory.listFiles(); - if (fileList != null) { - for (final File file : fileList) { - if (!dirs.contains(file)) { - try { - String key = file.getCanonicalPath(); - if (!acc.contains(key)) { - if (file.isDirectory()) { - dirs.add(file); - getResourcesFromDirectory(acc, dirs, file, - pattern); - } else { - acc.add(key); - } - } - } catch (IOException e) { - } - } - } - } - } -}