}
public void constructorClassLoaderCorrectOrder() throws Throwable
{
AbstractBeanMetaData metaData3 = new AbstractBeanMetaData("URL", "java.net.URL");
AbstractConstructorMetaData cmd3 = new AbstractConstructorMetaData();
metaData3.setConstructor(cmd3);
cmd3.setFactoryClass("org.jboss.test.classloading.vfs.ClassLoaderUtil");
cmd3.setFactoryMethod("getLocation");
AbstractParameterMetaData pmd3 = new AbstractParameterMetaData(getClass().getName());
ArrayList<ParameterMetaData> params3 = new ArrayList<ParameterMetaData>();
params3.add(pmd3);
cmd3.setParameters(params3);
AbstractDependencyValueMetaData url = new AbstractDependencyValueMetaData("URL");
AbstractBeanMetaData metaData0 = new AbstractBeanMetaData("VFSClassLoader",
"org.jboss.test.classloading.vfs.VFSClassLoader");
AbstractConstructorMetaData clCMD = new AbstractConstructorMetaData();
AbstractArrayMetaData array = new AbstractArrayMetaData();
array.add(url);
AbstractParameterMetaData urls = new AbstractParameterMetaData(null, array);
ArrayList<ParameterMetaData> constructor0 = new ArrayList<ParameterMetaData>();
constructor0.add(urls);
clCMD.setParameters(constructor0);
clCMD.setFactoryClass("org.jboss.test.classloading.vfs.VFSClassLoaderFactory");
clCMD.setFactoryMethod("newClassLoader");
metaData0.setConstructor(clCMD);
AbstractDependencyValueMetaData vfsCL = new AbstractDependencyValueMetaData("VFSClassLoader");
String bean1Type = "org.jboss.test.kernel.dependency.classloader.SimpleBeanImpl";
AbstractBeanMetaData metaData1 = new AbstractBeanMetaData("VFSBean1", bean1Type);
HashSet<PropertyMetaData> attributes1 = new HashSet<PropertyMetaData>();
attributes1.add(new AbstractPropertyMetaData("string", "String1"));
metaData1.setProperties(attributes1);
metaData1.setClassLoader(new AbstractClassLoaderMetaData(vfsCL));
AbstractBeanMetaData metaData2 = new AbstractBeanMetaData("VFSBean2",
"org.jboss.test.kernel.dependency.classloader.SimpleBeanWithConstructorClassLoaderImpl");
HashSet<PropertyMetaData> attributes2 = new HashSet<PropertyMetaData>();
attributes2.add(new AbstractPropertyMetaData("string", "String2"));
metaData2.setProperties(attributes2);
metaData2.setClassLoader(new AbstractClassLoaderMetaData(vfsCL));
ArrayList<ParameterMetaData> constructor2 = new ArrayList<ParameterMetaData>();
String bean1Iface = "org.jboss.test.kernel.dependency.classloader.SimpleBean";
AbstractDependencyValueMetaData bean2Depends = new AbstractDependencyValueMetaData("VFSBean1");
AbstractParameterMetaData param = new AbstractParameterMetaData(bean1Iface, bean2Depends);
constructor2.add(param);
AbstractConstructorMetaData cmd = new AbstractConstructorMetaData();
metaData2.setConstructor(cmd);
cmd.setParameters(constructor2);
setBeanMetaDatas(new BeanMetaData[] { metaData0, metaData1, metaData2, metaData3 });
}