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

@ -116,7 +116,8 @@ 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,18 +211,17 @@ public class Globals {
} }
static public ArrayList<Class<AbstractAsset>> getAvailableAssetsTypes() {
// ArrayList<Class> asset_types_raw;
// ClassLoader old = setXClassLoader();
// asset_types_raw = opensesim.util.XClassLoader.getClassesList(urllist, AbstractAsset.class);
// unsetXClassLoader(old);
Collection<Class> asset_types_raw;
asset_types_raw = class_cache.getClassCollection(AbstractAsset.class);
ArrayList<Class<AbstractAsset>> asset_types = new ArrayList<>();
for (Class a : asset_types_raw) {
static public ArrayList<Class<AbstractAsset>> getAvailableAssetsTypes(){ Class<AbstractAsset> aa = a;
ArrayList<Class> asset_types_raw;
ClassLoader old = setXClassLoader();
asset_types_raw = opensesim.util.XClassLoader.getClassesList(urllist, AbstractAsset.class);
unsetXClassLoader(old);
ArrayList<Class<AbstractAsset>> asset_types=new ArrayList<>();
for (Class a: asset_types_raw ){
Class <AbstractAsset> aa = a;
asset_types.add(aa); asset_types.add(aa);
// asset_types.put(a.cast(AbstractAsset.class)); // asset_types.put(a.cast(AbstractAsset.class));
} }
@ -254,11 +255,9 @@ 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,17 +277,13 @@ 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
}); });
installLookAndFeels(); installLookAndFeels();
/* /*
ArrayList<Class<LookAndFeelInfo>> res; ArrayList<Class<LookAndFeelInfo>> res;