List of usage examples for org.springframework.beans.factory.support BeanDefinitionRegistry getBeanDefinition
BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;
From source file:Main.java
/** * Register a {@link ScriptFactoryPostProcessor} bean definition in the supplied * {@link BeanDefinitionRegistry} if the {@link ScriptFactoryPostProcessor} hasn't * already been registered.// w ww . ja va 2 s . c om * @param registry the {@link BeanDefinitionRegistry} to register the script processor with * @return the {@link ScriptFactoryPostProcessor} bean definition (new or already registered) */ public static BeanDefinition registerScriptFactoryPostProcessorIfNecessary(BeanDefinitionRegistry registry) { BeanDefinition beanDefinition = null; if (registry.containsBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME)) { beanDefinition = registry.getBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME); } else { beanDefinition = new RootBeanDefinition(ScriptFactoryPostProcessor.class); registry.registerBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME, beanDefinition); } return beanDefinition; }
From source file:de.acosix.alfresco.mtsupport.repo.beans.TenantBeanUtils.java
/** * Retrieves a specific bean definition for a specific tenant from the provided registry. This operation should only be used when each * tenant domain is backed by its own implementation bean for a feature. * * @param registry//from w w w . j av a 2 s .co m * the bean definition registry from which to retrieve the bean definition * @param baseBeanName * the base bean name * @param tenantDomain * the tenant domain for which to retrieve the bean definition * @return the bean definition */ public static BeanDefinition getBeanDefinitionForTenant(final BeanDefinitionRegistry registry, final String baseBeanName, final String tenantDomain) { ParameterCheck.mandatory("registry", registry); ParameterCheck.mandatoryString("baseBeanName", baseBeanName); ParameterCheck.mandatoryString("tenantDomain", tenantDomain); final String expectedBeanName = baseBeanName + TENANT_BEAN_NAME_PATTERN + tenantDomain; final BeanDefinition beanDefinition = registry.getBeanDefinition(expectedBeanName); return beanDefinition; }
From source file:org.activiti.spring.components.config.xml.StateHandlerAnnotationBeanFactoryPostProcessor.java
private boolean beanAlreadyConfigured(BeanDefinitionRegistry registry, String beanName, Class clz) { if (registry.isBeanNameInUse(beanName)) { BeanDefinition bDef = registry.getBeanDefinition(beanName); if (bDef.getBeanClassName().equals(clz.getName())) { return true; // so the beans already registered, and of the right type. so we assume the user is overriding our configuration } else {/*from www. ja va 2 s.c om*/ throw new IllegalStateException("The bean name '" + beanName + "' is reserved."); } } return false; }
From source file:org.wallride.autoconfigure.WebAdminComponentScanRegistrar.java
private void updateWebAdminComponentScanBeanPostProcessor(BeanDefinitionRegistry registry, Set<String> packagesToScan) { BeanDefinition definition = registry.getBeanDefinition(BEAN_NAME); ConstructorArgumentValues.ValueHolder constructorArguments = definition.getConstructorArgumentValues() .getGenericArgumentValue(String[].class); Set<String> mergedPackages = new LinkedHashSet<>(); mergedPackages.addAll(Arrays.asList((String[]) constructorArguments.getValue())); mergedPackages.addAll(packagesToScan); constructorArguments.setValue(toArray(mergedPackages)); }
From source file:org.wallride.autoconfigure.WebGuestComponentScanRegistrar.java
private void updateWebGuestComponentScanBeanPostProcessor(BeanDefinitionRegistry registry, Set<String> packagesToScan) { BeanDefinition definition = registry.getBeanDefinition(BEAN_NAME); ConstructorArgumentValues.ValueHolder constructorArguments = definition.getConstructorArgumentValues() .getGenericArgumentValue(String[].class); Set<String> mergedPackages = new LinkedHashSet<>(); mergedPackages.addAll(Arrays.asList((String[]) constructorArguments.getValue())); mergedPackages.addAll(packagesToScan); constructorArguments.setValue(toArray(mergedPackages)); }
From source file:com.github.philippn.springremotingautoconfigure.server.annotation.HttpInvokerServiceExporterRegistrar.java
@Override public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { for (String beanName : registry.getBeanDefinitionNames()) { BeanDefinition definition = registry.getBeanDefinition(beanName); if (definition.getBeanClassName() != null) { try { Class<?> resolvedClass = ClassUtils.forName(definition.getBeanClassName(), null); Class<?>[] beanInterfaces = resolvedClass.getInterfaces(); for (Class<?> clazz : beanInterfaces) { if (AnnotationUtils.isAnnotationDeclaredLocally(RemoteExport.class, clazz)) { setupExport(clazz, beanName, registry); }//from w ww . j a va 2 s. c o m } } catch (ClassNotFoundException e) { throw new IllegalStateException("Unable to inspect class " + definition.getBeanClassName() + " for @RemoteExport annotations"); } } } }
From source file:org.jdal.beans.RoleBeanDefinitionConfigurer.java
/** * {@inheritDoc}// ww w. ja va 2 s. c om */ @Override public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { if (beanNames == null) return; for (String name : beanNames) { if (registry.containsBeanDefinition(name)) ((AbstractBeanDefinition) registry.getBeanDefinition(name)) .setRole(BeanDefinition.ROLE_INFRASTRUCTURE); } }
From source file:com.rosenvold.spring.SpringContextAnalyzer.java
BeanDefinition getBeanDefinition(String beanName) { BeanDefinitionRegistry beanDefinitionRegistry = (BeanDefinitionRegistry) applicationContext; return beanDefinitionRegistry.getBeanDefinition(beanName); }
From source file:minium.script.js.JsVariablePostProcessor.java
@Override public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { String[] beanDefinitionNames = registry.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = registry.getBeanDefinition(beanDefinitionName); if (beanDefinition instanceof AnnotatedBeanDefinition) { MethodMetadata metadata = ((AnnotatedBeanDefinition) beanDefinition).getFactoryMethodMetadata(); if (metadata == null) continue; MultiValueMap<String, Object> attrs = metadata .getAllAnnotationAttributes(JsVariable.class.getName()); if (attrs == null) continue; variables.put(beanDefinitionName, attrs); }/* w w w. ja v a 2s. c o m*/ } }
From source file:com.capgemini.boot.core.factory.internal.SettingBackedBeanFactoryPostProcessor.java
private Class<?> getClassForBeanName(String beanName, BeanDefinitionRegistry registry) { final String factoryClassName = registry.getBeanDefinition(beanName).getBeanClassName(); try {//from w w w . j a v a2 s.co m return Class.forName(factoryClassName); } catch (ClassNotFoundException e) { throw getExceptionFactory().createGenericException("Bean class cannot be found", e); } }