/** * Load a model. * @param name The original name (i.e. not filename). * @param info The resource info. */ protected ICacheableModel doLoadModel(String name, String[] imports, ResourceInfo info, ClassLoader classloader, Object context) throws Exception { // if(name.indexOf("HelloWorldAgent")!=-1) // System.out.println("cache miss: "+name); return (ICacheableModel)reader.read(name, imports, classloader, (IResourceIdentifier)((Object[])context)[0], (IComponentIdentifier)((Object[])context)[1], (List<IComponentFeatureFactory>)((Object[])context)[2]); }
/** * Load a model. * @param name The original name (i.e. not filename). * @param info The resource info. */ protected ICacheableModel doLoadModel(String name, String[] imports, ResourceInfo info, ClassLoader classloader, Object context) throws Exception { // if(name.indexOf("HelloWorldAgent")!=-1) // System.out.println("cache miss: "+name); return (ICacheableModel)reader.read(name, imports, classloader, (IResourceIdentifier)((Object[])context)[0], (IComponentIdentifier)((Object[])context)[1]); }
/** * Load a model. * @param model The model (e.g. file name). * @param The imports (if any). * @return The loaded model. */ public MicroModel read(String model, String[] imports, ClassLoader classloader, IResourceIdentifier rid, IComponentIdentifier root) { // System.out.println("loading micro: "+model); String clname = model; // Note: it is ok if it is an absolute path with dots even it looks strange. // getMicroAgentClass will strip away parts until the model name is clear. // Hack! for extracting clear classname if(clname.endsWith(".class")) clname = model.substring(0, model.indexOf(".class")); clname = clname.replace('\\', '.'); clname = clname.replace('/', '.'); Class cma = getMicroAgentClass(clname, imports, classloader); return read(model, cma, classloader, rid, root); }
/** * Load a model. * @param model The model (e.g. file name). * @param The imports (if any). * @return The loaded model. */ public MicroModel read(String model, String[] imports, ClassLoader classloader, IResourceIdentifier rid, IComponentIdentifier root, List<IComponentFeatureFactory> features) { // System.out.println("loading micro: "+model); String clname = model; // Note: it is ok if it is an absolute path with dots even it looks strange. // getMicroAgentClass will strip away parts until the model name is clear. // Hack! for extracting clear classname if(clname.endsWith(".class")) clname = model.substring(0, model.indexOf(".class")); clname = clname.replace('\\', '.'); clname = clname.replace('/', '.'); Class<?> cma = getMicroAgentClass(clname, imports, classloader); return read(model, cma, classloader, rid, root, features); }
/** * Load a model. * @param model The model (e.g. file name). * @param The imports (if any). * @return The loaded model. */ public MicroModel read(String model, String[] imports, ClassLoader classloader, IResourceIdentifier rid, IComponentIdentifier root) { // use dummy classloader that will not be visisble outside List<URL> urls = SUtil.getClasspathURLs(classloader, false); DummyClassLoader cl = createDummyClassLoader(classloader, null, urls); return super.read(model, imports, cl, rid, root); }
/** * Load a model. * @param model The model (e.g. file name). * @param imports (if any). * @return The loaded model. */ @Override public MicroModel read(String model, String[] imports, ClassLoader classloader, IResourceIdentifier rid, IComponentIdentifier root, List<IComponentFeatureFactory> features) { // use dummy classloader that will not be visisble outside List<URL> urls = SUtil.getClasspathURLs(classloader, false); DummyClassLoader cl = createDummyClassLoader(classloader, null, urls); return super.read(model, imports, cl, rid, root, features); }