throws JspParseException, IOException
{
if (! jarBacking.canRead())
return;
JarPath jar = JarPath.create(jarBacking);
ArrayList<Path> tldPaths = new ArrayList<Path>();
boolean isValidScan = false;
ZipScanner scan = null;
try {
if (true)
scan = new ZipScanner(jarBacking);
if (scan != null && scan.open()) {
while (scan.next()) {
String name = scan.getName();
if (name.startsWith(prefix)
&& name.endsWith(".tld") || name.endsWith(".ftld")) {
tldPaths.add(jar.lookup(name));
}
}
isValidScan = true;
}
} catch (Exception e) {
log.log(Level.INFO, e.toString(), e);
}
if (! isValidScan) {
ZipFile zipFile = jar.getJar().getZipFile();
try {
Enumeration<? extends ZipEntry> en = zipFile.entries();
while (en.hasMoreElements()) {
ZipEntry entry = en.nextElement();
String name = entry.getName();
if (name.startsWith(prefix)
&& (name.endsWith(".tld") || name.endsWith(".ftld"))) {
tldPaths.add(jar.lookup(name));
}
}
} finally {
jar.getJar().closeZipFile(zipFile);
}
}
for (Path path : tldPaths) {
try {