private static void collectFileResources(String resourceURLString,
ArrayList<VirtualFile> fileList, String packagePath, ResourceFilter resourceFilter) {
if (resourceURLString.endsWith(".svn")) {
return;
}
String logicalName = extractLogicalName(packagePath, resourceURLString);
if (logicalName == null)
throw new IllegalArgumentException("packagePath=" + packagePath + ", resourceURL="
+ resourceURLString);
try {
File file = new File(new URL(resourceURLString).toURI());
if (resourceFilter.accept(file.getPath()))
fileList.add(new SystemFile(file, logicalName));
if (file.isDirectory()) {
for (File childFile : file.listFiles()) {
String childResourceURL = resourceURLString
+ (resourceURLString.endsWith("/") ? "" : "/") + childFile.getName();
collectFileResources(childResourceURL, fileList, packagePath, resourceFilter);
}
}
}
catch (MalformedURLException e) {
_logger.error(e);
}
catch (URISyntaxException e) {
_logger.error(e);
}
}