package org.safehaus.penrose.service;
import org.safehaus.penrose.util.PenroseClassLoader;
import java.io.File;
import java.io.FilenameFilter;
/**
* @author Endi Sukma Dewata
*/
public class ServiceClassLoader extends PenroseClassLoader {
public ServiceClassLoader(File serviceDir, ClassLoader parent) throws Exception {
super(parent);
boolean debug = log.isDebugEnabled();
if (debug) log.debug("Creating service class loader:");
File baseDir = new File(serviceDir, "SERVICE-INF");
File classesDir = new File(baseDir, "classes");
if (classesDir.isDirectory()) {
if (debug) log.debug(" - "+classesDir);
classPaths.add(classesDir);
}
File libDir = new File(baseDir, "lib");
if (libDir.isDirectory()) {
File files[] = libDir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".jar");
}
});
for (File f : files) {
if (debug) log.debug(" - "+f);
classPaths.add(f);
}
}
}
}