/**
*
*/
package org.apache.smscserver.server.bootstrap;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.List;
/**
* A Specialized class loader for Service Portal
*
* @author hceylan
*
*/
public class BootClassLoader extends URLClassLoader {
private static final String PATH_SEPARATOR = System.getProperty("file.separator", "/");
private static final String LIB_PATH = BootClassLoader.PATH_SEPARATOR + "lib";
private static URL[] getLibJars(String spHome) {
List<URL> urls = new ArrayList<URL>();
String libPath = spHome + BootClassLoader.LIB_PATH;
File libFolder = new File(libPath);
String[] files = libFolder.list();
for (String file : files) {
if (file.endsWith(".jar")) {
try {
urls.add(new URL("file://" + libPath + BootClassLoader.PATH_SEPARATOR + file));
} catch (MalformedURLException e) {
System.err.println("Ignoring library " + file + ": " + e.getMessage());
}
}
}
return urls.toArray(new URL[urls.size()]);
}
public BootClassLoader(ClassLoader parent, String spHome) {
super(BootClassLoader.getLibJars(spHome), parent);
}
}