BeansConfig config = new BeansConfig(beansProject, "src/org/springframework/beans/factory/annotation/testUnknownTypeFactoryBean-context.xml", IBeansConfig.Type.MANUAL);
Map<String, Integer[]> allowedRefs = new HashMap<String, Integer[]>();
allowedRefs.put("unknownFactoryBean", new Integer[] { 580 });
AutowireDependencyProvider provider = new AutowireDependencyProvider(config, config);
IFactoryBeanTypeResolver testFactoryBeanTypeResolver = new IFactoryBeanTypeResolver() {
public Class<?> resolveBeanTypeFromFactory(IBean factoryBean, Class<?> factoryBeanClass) {
if (factoryBeanClass.getName().equals("org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessorTests$UnknownFactoryBean")) {
try {
return factoryBeanClass.getClassLoader().loadClass("test.beans.TestBean");
} catch (ClassNotFoundException e) {
fail(e.getMessage());
}
}
return null;
}
};
FactoryBeanTypeResolverExtensions.setFactoryBeanTypeResolvers(new IFactoryBeanTypeResolver[] {testFactoryBeanTypeResolver});
Map<IBean, Set<IBeanReference>> references = provider.resolveAutowiredDependencies();
IBean bean = BeansModelUtils.getBean("autowiredBeanWithUnknownType", config);
assertEquals(1, references.size());
assertTrue(references.containsKey(bean));