List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder rootBeanDefinition
public static BeanDefinitionBuilder rootBeanDefinition(Class<?> beanClass)
From source file:pl.bristleback.server.bristle.conf.namespace.BristlebackSecurityBeanDefinitionParser.java
private void registerSecurityConfigurationBean(Element element, ParserContext parserContext) { Integer maxConcurrentConnectionsPerUsername = Integer .parseInt(element.getAttribute("maxConcurrentPerUsername")); BeanDefinition authenticationConfiguration = BeanDefinitionBuilder .rootBeanDefinition(AuthenticationConfiguration.class) .addPropertyValue("maximumAuthenticationsPerUsername", maxConcurrentConnectionsPerUsername) .getBeanDefinition();//from ww w . j a v a 2s. co m registerBean(parserContext, authenticationConfiguration, "bristleAuthenticationConfiguration"); }
From source file:com.apporiented.spring.override.AbstractGenericBeanDefinitionParser.java
/** * Creates a {@link org.springframework.beans.factory.support.BeanDefinitionBuilder} instance for the * bean class and passes it to the//from w w w. j a v a2 s. c om * {@link #doParse} strategy method. * @param element the element that is to be parsed into a single BeanDefinition * @param parserContext the object encapsulating the current state of the parsing process * @return the BeanDefinition resulting from the parsing of the supplied {@link org.w3c.dom.Element} * @throws IllegalStateException if the bean {@link Class} returned from * bean class is <code>null</code> * @see #doParse */ protected final AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(beanClass); builder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); if (parserContext.isNested()) { // Inner bean definition must receive same scope as containing bean. builder.setScope(parserContext.getContainingBeanDefinition().getScope()); } if (parserContext.isDefaultLazyInit()) { // Default-lazy-init applies to custom bean definitions as well. builder.setLazyInit(true); } builder.setAutowireMode(autowireMode); builder.setFactoryMethod(factoryMethod); doParse(element, parserContext, builder); return builder.getBeanDefinition(); }
From source file:org.springframework.hateoas.config.HypermediaSupportBeanDefinitionRegistrar.java
/** * Registers bean definitions for a {@link PluginRegistry} to capture * {@link RelProvider} instances. Wraps the registry into a * {@link DelegatingRelProvider} bean definition backed by the registry. * /*from ww w .j a v a2s .c o m*/ * @param registry */ private static void registerRelProviderPluginRegistryAndDelegate(BeanDefinitionRegistry registry) { Class<?> defaultRelProviderType = EVO_PRESENT ? EvoInflectorRelProvider.class : DefaultRelProvider.class; RootBeanDefinition defaultRelProviderBeanDefinition = new RootBeanDefinition(defaultRelProviderType); registry.registerBeanDefinition("defaultRelProvider", defaultRelProviderBeanDefinition); RootBeanDefinition annotationRelProviderBeanDefinition = new RootBeanDefinition( AnnotationRelProvider.class); registry.registerBeanDefinition("annotationRelProvider", annotationRelProviderBeanDefinition); BeanDefinitionBuilder registryFactoryBeanBuilder = BeanDefinitionBuilder .rootBeanDefinition(PluginRegistryFactoryBean.class); registryFactoryBeanBuilder.addPropertyValue("type", RelProvider.class); registryFactoryBeanBuilder.addPropertyValue("exclusions", DelegatingRelProvider.class); AbstractBeanDefinition registryBeanDefinition = registryFactoryBeanBuilder.getBeanDefinition(); registry.registerBeanDefinition("relProviderPluginRegistry", registryBeanDefinition); BeanDefinitionBuilder delegateBuilder = BeanDefinitionBuilder .rootBeanDefinition(DelegatingRelProvider.class); delegateBuilder.addConstructorArgValue(registryBeanDefinition); AbstractBeanDefinition beanDefinition = delegateBuilder.getBeanDefinition(); beanDefinition.setPrimary(true); registry.registerBeanDefinition(DELEGATING_REL_PROVIDER_BEAN_NAME, beanDefinition); }
From source file:org.springframework.cloud.aws.messaging.listener.QueueMessageHandlerTest.java
private AbstractBeanDefinition getQueueMessageHandlerBeanDefinition() { BeanDefinitionBuilder queueMessageHandlerBeanDefinitionBuilder = BeanDefinitionBuilder .rootBeanDefinition(QueueMessageHandler.class); ManagedList<HandlerMethodReturnValueHandler> returnValueHandlers = new ManagedList<>(1); returnValueHandlers.add(new SendToHandlerMethodReturnValueHandler(this.messageTemplate)); queueMessageHandlerBeanDefinitionBuilder.addPropertyValue("returnValueHandlers", returnValueHandlers); return queueMessageHandlerBeanDefinitionBuilder.getBeanDefinition(); }
From source file:pl.bristleback.server.bristle.conf.namespace.BristlebackSecurityBeanDefinitionParser.java
private void addInterceptorBeans(ParserContext parserContext) { BeanDefinition authenticationInterceptor = BeanDefinitionBuilder .rootBeanDefinition(AuthenticationInterceptor.class).getBeanDefinition(); registerBean(parserContext, authenticationInterceptor, "bristleAuthenticationInterceptor"); BeanDefinition authenticationInterceptorContextResolver = BeanDefinitionBuilder .rootBeanDefinition(AuthenticationInterceptorContextResolver.class).getBeanDefinition(); registerBean(parserContext, authenticationInterceptorContextResolver, "bristleAuthenticationInterceptorContextResolver"); BeanDefinition logoutInterceptor = BeanDefinitionBuilder.rootBeanDefinition(LogoutInterceptor.class) .getBeanDefinition();/*from w w w . j a v a 2 s .c o m*/ registerBean(parserContext, logoutInterceptor, "bristleLogoutInterceptor"); }
From source file:com.dangdang.ddframe.job.spring.namespace.parser.common.AbstractJobBeanDefinitionParser.java
private List<BeanDefinition> createJobListeners(final Element element) { List<Element> listenerElements = DomUtils.getChildElementsByTagName(element, LISTENER_TAG); List<BeanDefinition> result = new ManagedList<>(listenerElements.size()); for (Element each : listenerElements) { String className = each.getAttribute(CLASS_ATTRIBUTE); BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(className); factory.setScope(BeanDefinition.SCOPE_PROTOTYPE); try {// www.j a v a2 s . c o m Class listenerClass = Class.forName(className); if (AbstractDistributeOnceElasticJobListener.class.isAssignableFrom(listenerClass)) { factory.addConstructorArgValue(each.getAttribute(STARTED_TIMEOUT_MILLISECONDS_ATTRIBUTE)); factory.addConstructorArgValue(each.getAttribute(COMPLETED_TIMEOUT_MILLISECONDS_ATTRIBUTE)); } } catch (final ClassNotFoundException ex) { throw new RuntimeException(ex); } result.add(factory.getBeanDefinition()); } return result; }
From source file:org.synyx.hades.dao.config.DaoConfigDefinitionParser.java
/** * Registers a {@code GenericDaoFactoryBean} for a bean with the given name * and the provided configuration context. It is mainly used to construct * bean name, entity class name and DAO interface name. * //from www . j a va 2 s .com * @param parserContext * @param name * @param context */ private void registerGenericDaoFactoryBean(final ParserContext parserContext, final DaoContext context) { Object beanSource = parserContext.extractSource(context.getElement()); BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder .rootBeanDefinition(context.getDaoFactoryClassName()); beanDefinitionBuilder.addPropertyValue("daoInterface", context.getInterfaceName()); beanDefinitionBuilder.addPropertyValue("queryLookupStrategy", context.getQueryLookupStrategy()); String entityManagerRef = context.getEntityManagerFactoryRef(); if (null != entityManagerRef) { beanDefinitionBuilder.addPropertyValue("entityManager", getEntityManagerBeanDefinitionFor(entityManagerRef, beanSource)); } beanDefinitionBuilder.addPropertyValue("transactionManager", context.getTransactionManagerRef()); String customImplementationBeanName = registerCustomImplementation(context, parserContext, beanSource); if (customImplementationBeanName != null) { beanDefinitionBuilder.addPropertyReference("customDaoImplementation", customImplementationBeanName); } AbstractBeanDefinition beanDefinition = beanDefinitionBuilder.getBeanDefinition(); beanDefinition.setSource(beanSource); LOG.debug("Registering Hades DAO: {} - DAO interface: {} - Factory: {} - Custom implementation: {}", new Object[] { context.getBeanName(), context.getInterfaceName(), context.getDaoFactoryClassName(), customImplementationBeanName }); BeanComponentDefinition definition = new BeanComponentDefinition(beanDefinition, context.getBeanName()); parserContext.registerBeanComponent(definition); }
From source file:com.dangdang.ddframe.rdb.sharding.spring.namespace.parser.ShardingJdbcDataSourceBeanDefinitionParser.java
private List<BeanDefinition> parseBindingTablesConfig(final Element element) { Element bindingTableRulesElement = DomUtils.getChildElementByTagName(element, ShardingJdbcDataSourceBeanDefinitionParserTag.BINDING_TABLE_RULES_TAG); if (null == bindingTableRulesElement) { return Collections.emptyList(); }/*from w w w.jav a 2 s . com*/ List<Element> bindingTableRuleElements = DomUtils.getChildElementsByTagName(bindingTableRulesElement, ShardingJdbcDataSourceBeanDefinitionParserTag.BINDING_TABLE_RULE_TAG); BeanDefinitionBuilder bindingTableRuleFactory = BeanDefinitionBuilder .rootBeanDefinition(BindingTableRuleConfig.class); List<BeanDefinition> result = new ManagedList<>(bindingTableRuleElements.size()); for (Element bindingTableRuleElement : bindingTableRuleElements) { bindingTableRuleFactory.addPropertyValue("tableNames", bindingTableRuleElement .getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.LOGIC_TABLES_ATTRIBUTE)); result.add(bindingTableRuleFactory.getBeanDefinition()); } return result; }
From source file:com.dangdang.ddframe.job.lite.spring.namespace.parser.common.AbstractJobBeanDefinitionParser.java
private BeanDefinition createJobEventConfig(final Element element) { String eventTraceDataSourceName = element.getAttribute(EVENT_TRACE_RDB_DATA_SOURCE_ATTRIBUTE); if (Strings.isNullOrEmpty(eventTraceDataSourceName)) { return null; }//from ww w. ja va2 s. c o m BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(JobEventRdbConfiguration.class); factory.addConstructorArgReference(eventTraceDataSourceName); return factory.getBeanDefinition(); }
From source file:org.solmix.runtime.support.spring.AbstractBeanDefinitionParser.java
protected void addContainerWiringAttribute(BeanDefinitionBuilder bean, boolean type, String containerName, ParserContext ctx) {/* w ww .j av a 2 s. c o m*/ bean.getRawBeanDefinition().setAttribute(WIRE_CONTAINER_ATTRIBUTE, type); if (containerName != null && containerName.trim().length() > 0) { bean.getRawBeanDefinition().setAttribute(WIRE_CONTAINER_NAME, containerName); } if (ctx != null && !ctx.getRegistry().containsBeanDefinition(WIRE_CONTAINER_HANDLER)) { //??, BeanDefinitionBuilder b = BeanDefinitionBuilder.rootBeanDefinition(WIRE_CONTAINER_HANDLER); ctx.getRegistry().registerBeanDefinition(WIRE_CONTAINER_HANDLER, b.getBeanDefinition()); } }