List of usage examples for org.springframework.beans.factory.support GenericBeanDefinition setRole
@Override public void setRole(int role)
From source file:org.wallride.autoconfigure.WebAdminComponentScanRegistrar.java
private void addWebAdminComponentScanBeanPostProcessor(BeanDefinitionRegistry registry, Set<String> packagesToScan) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(WebAdminComponentScanBeanPostProcessor.class); beanDefinition.getConstructorArgumentValues().addGenericArgumentValue(toArray(packagesToScan)); beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // We don't need this one to be post processed otherwise it can cause a // cascade of bean instantiation that we would rather avoid. beanDefinition.setSynthetic(true);/*from w ww . j ava 2 s .c om*/ registry.registerBeanDefinition(BEAN_NAME, beanDefinition); }
From source file:org.wallride.autoconfigure.WebGuestComponentScanRegistrar.java
private void addWebGuestComponentScanBeanPostProcessor(BeanDefinitionRegistry registry, Set<String> packagesToScan) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(WebGuestComponentScanBeanPostProcessor.class); beanDefinition.getConstructorArgumentValues().addGenericArgumentValue(toArray(packagesToScan)); beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // We don't need this one to be post processed otherwise it can cause a // cascade of bean instantiation that we would rather avoid. beanDefinition.setSynthetic(true);/*from w ww . ja v a 2 s . co m*/ registry.registerBeanDefinition(BEAN_NAME, beanDefinition); }
From source file:com.fitbur.testify.di.spring.SpringServiceLocator.java
@Override public void addService(Class<?> type) { GenericBeanDefinition bean = new GenericBeanDefinition(); bean.setBeanClass(type);// www .j av a 2 s . c o m bean.setRole(ROLE_APPLICATION); DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) context.getBeanFactory(); beanFactory.registerBeanDefinition(type.getSimpleName(), bean); }
From source file:com.fitbur.testify.di.spring.SpringServiceLocator.java
@Override public void addModule(Class<?> type) { GenericBeanDefinition bean = new GenericBeanDefinition(); bean.setBeanClass(type);//from w ww . ja v a2 s . com bean.setRole(ROLE_APPLICATION); DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) context.getBeanFactory(); beanFactory.registerBeanDefinition(type.getSimpleName(), bean); }
From source file:com.fitbur.jestify.junit.spring.IntegrationTestReifier.java
@Override public Object reifyCut(CutDescriptor cutDescriptor, Object[] arguments) { return AccessController.doPrivileged((PrivilegedAction<Object>) () -> { try {//from w ww . ja va 2 s . c o m Cut cut = cutDescriptor.getCut(); Field field = cutDescriptor.getField(); Type fieldType = field.getGenericType(); String fieldName = field.getName(); field.setAccessible(true); Constructor<?> constructor = cutDescriptor.getConstructor(); constructor.setAccessible(true); ResolvableType resolver = ResolvableType.forType(fieldType); Class rawType; if (resolver.hasGenerics()) { if (resolver.isAssignableFrom(Provider.class) || resolver.isAssignableFrom(Optional.class)) { rawType = resolver.getRawClass(); } else { rawType = resolver.resolve(); } } else { rawType = resolver.resolve(); } Module module = testInstance.getClass().getDeclaredAnnotation(Module.class); GenericBeanDefinition bean = new GenericBeanDefinition(); bean.setBeanClass(rawType); bean.setAutowireCandidate(false); bean.setScope(SCOPE_PROTOTYPE); bean.setPrimary(true); bean.setLazyInit(true); bean.setRole(RootBeanDefinition.ROLE_APPLICATION); bean.setAutowireMode(RootBeanDefinition.AUTOWIRE_NO); appContext.registerBeanDefinition(fieldName, bean); if (module != null) { appContext.register(module.value()); } appContext.refresh(); Object instance = appContext.getBean(fieldName, arguments); if (cut.value()) { instance = spy(instance); } field.set(testInstance, instance); return instance; } catch (SecurityException | IllegalAccessException | IllegalArgumentException e) { throw new RuntimeException(e); } }); }
From source file:com.fitbur.testify.di.spring.SpringServiceLocator.java
@Override public void addService(ServiceDescriptor descriptor) { checkState(!context.containsBeanDefinition(descriptor.getName()), "Service with the name '%s' already exists.", descriptor.getName()); GenericBeanDefinition bean = new GenericBeanDefinition(); bean.setBeanClass(descriptor.getType()); bean.setAutowireCandidate(descriptor.getDiscoverable()); bean.setPrimary(descriptor.getPrimary()); bean.setLazyInit(descriptor.getLazy()); bean.setRole(ROLE_APPLICATION); if (descriptor.getInjectable()) { bean.setAutowireMode(AUTOWIRE_CONSTRUCTOR); } else {//from w w w.j a v a2 s .c o m bean.setAutowireMode(AUTOWIRE_NO); ConstructorArgumentValues values = new ConstructorArgumentValues(); Object[] arguments = descriptor.getArguments(); for (int i = 0; i < arguments.length; i++) { Object arg = arguments[i]; if (arg == null) { //TODO: warn user that the argument was not specified and there //for the real instance will be injected. continue; } values.addIndexedArgumentValue(i, arg); } bean.setConstructorArgumentValues(values); } ServiceScope scope = descriptor.getScope(); switch (scope) { case PROTOTYPE: bean.setScope("prototype"); break; case SINGLETON: bean.setScope("singleton"); break; case REQUEST: bean.setScope("request"); break; case SESSION: bean.setScope("session"); break; case APPLICATION: bean.setScope("application"); break; default: checkState(false, "Scope '{}' is not supported by Spring IoC.", scope.name()); } DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) context.getBeanFactory(); beanFactory.registerBeanDefinition(descriptor.getName(), bean); }
From source file:org.eclipse.gemini.blueprint.extender.internal.blueprint.activator.BlueprintContainerProcessor.java
public void preProcessRefresh(final ConfigurableOsgiBundleApplicationContext context) { final BundleContext bundleContext = context.getBundleContext(); // create the ModuleContext adapter final BlueprintContainer blueprintContainer = createBlueprintContainer(context); // 1. add event listeners // add service publisher context.addApplicationListener(new BlueprintContainerServicePublisher(blueprintContainer, bundleContext)); // add waiting event broadcaster context.addApplicationListener(new BlueprintWaitingEventDispatcher(context.getBundleContext())); // 2. add environmental managers context.addBeanFactoryPostProcessor(new BeanFactoryPostProcessor() { private static final String BLUEPRINT_BUNDLE = "blueprintBundle"; private static final String BLUEPRINT_BUNDLE_CONTEXT = "blueprintBundleContext"; private static final String BLUEPRINT_CONTAINER = "blueprintContainer"; private static final String BLUEPRINT_EXTENDER = "blueprintExtenderBundle"; private static final String BLUEPRINT_CONVERTER = "blueprintConverter"; public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { // lazy logger evaluation Log logger = LogFactory.getLog(context.getClass()); if (!(beanFactory instanceof BeanDefinitionRegistry)) { logger.warn("Environmental beans will be registered as singletons instead " + "of usual bean definitions since beanFactory " + beanFactory + " is not a BeanDefinitionRegistry"); }// ww w .j ava2s. c o m // add blueprint container bean addPredefinedBlueprintBean(beanFactory, BLUEPRINT_BUNDLE, bundleContext.getBundle(), logger); addPredefinedBlueprintBean(beanFactory, BLUEPRINT_BUNDLE_CONTEXT, bundleContext, logger); addPredefinedBlueprintBean(beanFactory, BLUEPRINT_CONTAINER, blueprintContainer, logger); // addPredefinedBlueprintBean(beanFactory, BLUEPRINT_EXTENDER, extenderBundle, logger); addPredefinedBlueprintBean(beanFactory, BLUEPRINT_CONVERTER, new SpringBlueprintConverter(beanFactory), logger); // add Blueprint conversion service // String[] beans = beanFactory.getBeanNamesForType(BlueprintConverterConfigurer.class, false, false); // if (ObjectUtils.isEmpty(beans)) { // beanFactory.addPropertyEditorRegistrar(new BlueprintEditorRegistrar()); // } beanFactory.setConversionService( new SpringBlueprintConverterService(beanFactory.getConversionService(), beanFactory)); } private void addPredefinedBlueprintBean(ConfigurableListableBeanFactory beanFactory, String beanName, Object value, Log logger) { if (!beanFactory.containsLocalBean(beanName)) { logger.debug("Registering pre-defined bean named " + beanName); if (beanFactory instanceof BeanDefinitionRegistry) { BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory; GenericBeanDefinition def = new GenericBeanDefinition(); def.setBeanClass(ENV_FB_CLASS); ConstructorArgumentValues cav = new ConstructorArgumentValues(); cav.addIndexedArgumentValue(0, value); def.setConstructorArgumentValues(cav); def.setLazyInit(false); def.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); registry.registerBeanDefinition(beanName, def); } else { beanFactory.registerSingleton(beanName, value); } } else { logger.warn("A bean named " + beanName + " already exists; aborting registration of the predefined value..."); } } }); // 3. add cycle breaker context.addBeanFactoryPostProcessor(cycleBreaker); BlueprintEvent creatingEvent = new BlueprintEvent(BlueprintEvent.CREATING, context.getBundle(), extenderBundle); listenerManager.blueprintEvent(creatingEvent); dispatcher.beforeRefresh(creatingEvent); }