/**
*
*/
package org.apache.smscserver.server.main.impl;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
/**
* A class loader to load classes from lib jars
*
* @author hceylan
*
*/
public class LibsClassLoader extends ChildClassLoader {
private static final String PATH_SEPARATOR = System.getProperty("file.separator", "/");
private static final String LIB_PATH = LibsClassLoader.PATH_SEPARATOR + "lib";
private static URL[] getLibJars(String spHome) {
List<URL> urls = new ArrayList<URL>();
String libPath = spHome + LibsClassLoader.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 + LibsClassLoader.PATH_SEPARATOR + file));
} catch (MalformedURLException e) {
System.err.println("Ignoring library " + file + ": " + e.getMessage());
}
}
}
return urls.toArray(new URL[urls.size()]);
}
public LibsClassLoader(String spHome, DualClassLoader parent) {
super(LibsClassLoader.getLibJars(spHome), parent);
}
}