Extract site library loading code into utility class
Extract common code of loading jars from site lib directory into separate utility class. Same code will be used for loading SecureStore-lib implementation. Change-Id: Idb3f837167ffc4d6784a1b960b57a454ceb692f2 Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
This commit is contained in:
@@ -24,9 +24,6 @@ import com.google.inject.Singleton;
|
||||
import org.eclipse.jgit.lib.Config;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
@@ -47,34 +44,9 @@ public class SiteLibraryBasedDataSourceProvider extends DataSourceProvider {
|
||||
|
||||
public synchronized DataSource get() {
|
||||
if (!init) {
|
||||
loadSiteLib();
|
||||
SiteLibraryLoaderUtil.loadSiteLib(libdir);
|
||||
init = true;
|
||||
}
|
||||
return super.get();
|
||||
}
|
||||
|
||||
private void loadSiteLib() {
|
||||
File[] jars = libdir.listFiles(new FileFilter() {
|
||||
@Override
|
||||
public boolean accept(File path) {
|
||||
String name = path.getName();
|
||||
return (name.endsWith(".jar") || name.endsWith(".zip"))
|
||||
&& path.isFile();
|
||||
}
|
||||
});
|
||||
if (jars != null && 0 < jars.length) {
|
||||
Arrays.sort(jars, new Comparator<File>() {
|
||||
@Override
|
||||
public int compare(File a, File b) {
|
||||
// Sort by reverse last-modified time so newer JARs are first.
|
||||
int cmp = Long.compare(b.lastModified(), a.lastModified());
|
||||
if (cmp != 0) {
|
||||
return cmp;
|
||||
}
|
||||
return a.getName().compareTo(b.getName());
|
||||
}
|
||||
});
|
||||
IoUtil.loadJARs(jars);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user