List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder childBeanDefinition
public static BeanDefinitionBuilder childBeanDefinition(String parentName)
From source file:org.jsconf.core.impl.BeanFactory.java
private BeanDefinitionBuilder buildBeanFromParent(String beanId) { BeanDefinitionBuilder beanDefinition = BeanDefinitionBuilder.childBeanDefinition(this.parentId); if (StringUtils.hasText(this.className)) { throw new BeanCreationException(beanId, String.format("Bean have a Class %s and a Parent defined : %s", this.className, this.parentId)); }/*from w w w . j a v a 2s.c om*/ return setBeanProperties(beanDefinition, beanId, this.properties); }
From source file:org.parancoe.web.xml.ControllerBeanDefinitionParser.java
private void createBeanDefinition(Class ctrl, String parent) { String id = ctrl.getName();//w ww .j a va 2s. co m BeanDefinitionBuilder rootBuilder = BeanDefinitionBuilder.childBeanDefinition(parent); rootBuilder.getBeanDefinition().setBeanClass(ctrl); if (logger.isDebugEnabled()) { logger.debug("registering bean definition: " + rootBuilder.getBeanDefinition().toString()); } //logger.info("registering bean definition: " + rootBuilder.getBeanDefinition().toString()); registry.registerBeanDefinition(id, rootBuilder.getBeanDefinition()); }
From source file:org.devproof.portal.core.config.factory.DevproofClassPathBeanDefinitionScanner.java
private BeanDefinitionHolder buildGenericRepositoryDefinition(Class<?> clazz) { Class<?> entityClazz = getEntityClazz(clazz); GenericRepository annotation = clazz.getAnnotation(GenericRepository.class); BeanDefinition bd = BeanDefinitionBuilder.childBeanDefinition("baseGenericDao") .addPropertyValue("daoInterface", clazz).addPropertyValue("entityClass", entityClazz) .getBeanDefinition();/*from w ww . j av a 2s . co m*/ return new BeanDefinitionHolder(bd, annotation.value()); }
From source file:org.devproof.portal.core.config.factory.DevproofClassPathBeanDefinitionScanner.java
private BeanDefinitionHolder buildGenericDataProviderDefinition(Class<?> clazz) { RegisterGenericDataProvider annotation = clazz.getAnnotation(RegisterGenericDataProvider.class); Class<?> entityClazz = clazz; Class<?> queryClazz = annotation.queryClass(); BeanDefinition bd = BeanDefinitionBuilder.childBeanDefinition("persistenceDataProvider") .setScope(BeanDefinition.SCOPE_PROTOTYPE) .addPropertyValue("sort", new SortParam(annotation.sortProperty(), annotation.sortAscending())) .addPropertyValue("queryClass", queryClazz).addPropertyValue("entityClass", entityClazz) .addPropertyValue("countQuery", annotation.countQuery()) .addPropertyValue("prefetch", Arrays.asList(annotation.prefetch())).getBeanDefinition(); return new BeanDefinitionHolder(bd, annotation.value()); }
From source file:org.metaeffekt.dcc.commons.spring.xml.DCCConfigurationBeanDefinitionParser.java
private void parseAndRegisterUnits(Element profileElement, File origin, BeanDefinitionRegistry registry, ParserContext parserContext) {// w w w. ja v a2s.co m List<Element> unitElements = DomUtils.getChildElementsByTagName(profileElement, ELEMENT_UNIT); for (Element unitElement : unitElements) { // first retrieve all XML attributes of the Unit element String unitId = extractMandatoryIdAttributeFromElement(unitElement, "Unit", registry); // TODO: currently not used as there is nowhere to set this on a ConfigurationUnit @SuppressWarnings("unused") String unitType = unitElement.getAttribute(ATTRIBUTE_UNIT_TYPE); boolean unitIsAbstract = Boolean.valueOf(unitElement.getAttribute(ATTRIBUTE_UNIT_ABSTRACT)); String unitExtends = parseString(unitElement, ATTRIBUTE_UNIT_EXTENDS, null, registry); ManagedList<AbstractBeanDefinition> requiredCapabilityReferences = parseRequiredCapabilities( unitElement, unitId, registry); ManagedList<AbstractBeanDefinition> providedCapabilityReferences = parseProvidedCapabilities( unitElement, unitId, registry); ManagedList<Attribute> attributes = parseAttributesElement(unitElement, parserContext); ManagedList<AbstractBeanDefinition> mappings = parseMappingsElement(unitElement, unitId, registry); ManagedList<AbstractBeanDefinition> commands = parseCommands(unitElement, unitId, registry); ManagedList<AbstractBeanDefinition> asserts = parseAsserts(unitElement, registry); BeanDefinitionBuilder unitBeanDefBuilder = null; if (StringUtils.isNotBlank(unitExtends)) { unitBeanDefBuilder = BeanDefinitionBuilder.childBeanDefinition(unitExtends); unitBeanDefBuilder.getRawBeanDefinition().setBeanClass(ConfigurationUnit.class); requiredCapabilityReferences.setMergeEnabled(true); providedCapabilityReferences.setMergeEnabled(true); attributes.setMergeEnabled(true); mappings.setMergeEnabled(true); commands.setMergeEnabled(true); asserts.setMergeEnabled(true); unitBeanDefBuilder.addPropertyValue(PROPERTY_UNIT_PARENT_ID, unitExtends); } else { unitBeanDefBuilder = BeanDefinitionBuilder.rootBeanDefinition(ConfigurationUnit.class); } String description = extractDescription(unitElement, registry); unitBeanDefBuilder.setAbstract(false); unitBeanDefBuilder.addPropertyValue(PROPERTY_ORIGIN, origin); unitBeanDefBuilder.addPropertyValue(PROPERTY_DESCRIPTION, description); unitBeanDefBuilder.addPropertyValue(PROPERTY_UNIT_ABSTRACT, unitIsAbstract); unitBeanDefBuilder.addPropertyValue(PROPERTY_UNIT_PROVIDED_CAPABILITIES, providedCapabilityReferences); unitBeanDefBuilder.addPropertyValue(PROPERTY_UNIT_REQUIRED_CAPABILITIES, requiredCapabilityReferences); unitBeanDefBuilder.addPropertyValue(PROPERTY_UNIT_ATTRIBUTES, attributes); unitBeanDefBuilder.addPropertyValue(PROPERTY_UNIT_MAPPINGS, mappings); unitBeanDefBuilder.addPropertyValue(PROPERTY_UNIT_COMMANDS, commands); unitBeanDefBuilder.addPropertyValue(PROPERTY_UNIT_ASSERTS, asserts); unitBeanDefBuilder.addConstructorArgValue(unitId); RuntimeBeanReference unitBeanRef = new RuntimeBeanReference(unitId); unitBeanRef.setSource(parserContext.getReaderContext().extractSource(unitElement)); registry.registerBeanDefinition(unitId, unitBeanDefBuilder.getBeanDefinition()); } }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test public void testExplicitScopeInheritanceForChildBeanDefinitions() throws Exception { String theChildScope = "bonanza!"; RootBeanDefinition parent = new RootBeanDefinition(); parent.setScope(RootBeanDefinition.SCOPE_PROTOTYPE); AbstractBeanDefinition child = BeanDefinitionBuilder.childBeanDefinition("parent").getBeanDefinition(); child.setBeanClass(TestBean.class); child.setScope(theChildScope);//from ww w . j a va 2 s . c om DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); factory.registerBeanDefinition("parent", parent); factory.registerBeanDefinition("child", child); AbstractBeanDefinition def = (AbstractBeanDefinition) factory.getBeanDefinition("child"); assertEquals("Child 'scope' not overriding parent scope (it must).", theChildScope, def.getScope()); }