AssetTypes are loaded from ClassCache object now

This commit is contained in:
7u83 2018-12-01 11:48:54 +01:00
parent cb555e6ec8
commit 1a7012ef66

View File

@ -117,6 +117,7 @@ public class Globals {
} }
public static final class MAX { public static final class MAX {
public static final int SYMLEN = 6; public static final int SYMLEN = 6;
public static final int NAMELEN = 64; public static final int NAMELEN = 64;
} }
@ -195,8 +196,9 @@ public class Globals {
static ClassLoader setXClassLoader() { static ClassLoader setXClassLoader() {
ClassLoader old_classloader = Thread.currentThread().getContextClassLoader(); ClassLoader old_classloader = Thread.currentThread().getContextClassLoader();
if (urllist ==null) if (urllist == null) {
return old_classloader; return old_classloader;
}
URL[] urls = urllist.toArray(new URL[urllist.size()]); URL[] urls = urllist.toArray(new URL[urllist.size()]);
URLClassLoader cl; URLClassLoader cl;
cl = new URLClassLoader(urls, old_classloader); cl = new URLClassLoader(urls, old_classloader);
@ -209,14 +211,13 @@ public class Globals {
} }
static public ArrayList<Class<AbstractAsset>> getAvailableAssetsTypes() { static public ArrayList<Class<AbstractAsset>> getAvailableAssetsTypes() {
ArrayList<Class> asset_types_raw; // ArrayList<Class> asset_types_raw;
ClassLoader old = setXClassLoader(); // ClassLoader old = setXClassLoader();
asset_types_raw = opensesim.util.XClassLoader.getClassesList(urllist, AbstractAsset.class); // asset_types_raw = opensesim.util.XClassLoader.getClassesList(urllist, AbstractAsset.class);
unsetXClassLoader(old); // unsetXClassLoader(old);
Collection<Class> asset_types_raw;
asset_types_raw = class_cache.getClassCollection(AbstractAsset.class);
ArrayList<Class<AbstractAsset>> asset_types = new ArrayList<>(); ArrayList<Class<AbstractAsset>> asset_types = new ArrayList<>();
for (Class a : asset_types_raw) { for (Class a : asset_types_raw) {
@ -254,8 +255,6 @@ public class Globals {
continue; continue;
} }
/* System.out.println("LAF:"); /* System.out.println("LAF:");
System.out.println(laf.getName());*/ System.out.println(laf.getName());*/
UIManager.installLookAndFeel(laf.getName() + " - " + laf.getDescription(), lafc.getName()); UIManager.installLookAndFeel(laf.getName() + " - " + laf.getDescription(), lafc.getName());
@ -278,8 +277,6 @@ public class Globals {
// initialize urllist used by class loader // initialize urllist used by class loader
updateUrlList(); updateUrlList();
class_cache = new ClassCache(urllist, new Class[]{ class_cache = new ClassCache(urllist, new Class[]{
LookAndFeel.class, LookAndFeel.class,
AbstractAsset.class AbstractAsset.class
@ -287,8 +284,6 @@ public class Globals {
installLookAndFeels(); installLookAndFeels();
/* /*
ArrayList<Class<LookAndFeelInfo>> res; ArrayList<Class<LookAndFeelInfo>> res;