List of usage examples for org.springframework.beans.factory.support GenericBeanDefinition GenericBeanDefinition
public GenericBeanDefinition()
From source file:com.helpinput.spring.registinerceptor.ProxybeanRegistInterceptor.java
@Override public BeanDefinition beforeRegist(Class<?> clz, String beanName, String scope, DefaultListableBeanFactory dlbf, BeanDefinitionBuilder builder) { BeanDefinition bd = null;/* w ww .j ava 2s . co m*/ if (getCondition(clz)) { Parent ann = clz.getAnnotation(Parent.class); String parentName = ann.value(); String property = ann.property(); if (Utils.hasLength(parentName) && Utils.hasLength(property)) { BeanDefinition parent = (GenericBeanDefinition) dlbf.getBeanDefinition(parentName); if (parent != null) { String baseBeanName = beanName + "$$$$"; BeanRegister.removeBean(dlbf, null, baseBeanName); BeanDefinition basebd = builder.getBeanDefinition(); basebd.setScope(scope); dlbf.registerBeanDefinition(baseBeanName, basebd); bd = new GenericBeanDefinition(); bd.setParentName(parentName); List<PropertyValue> propertyValueList = bd.getPropertyValues().getPropertyValueList(); RuntimeBeanReference reference = new RuntimeBeanReference(baseBeanName); PropertyValue pValue = new PropertyValue(property, reference); propertyValueList.add(pValue); //dlbf.getBean(baseBeanName); return bd; } } } return null; }
From source file:pl.chilldev.web.spring.config.ScriptBeanDefinitionParser.java
/** * {@inheritDoc}/*from w ww . j a v a 2 s.c o m*/ * @since 0.0.2 */ @Override public BeanDefinition parse(Element element, ParserContext parserContext) { String src = element.getAttribute(ScriptBeanDefinitionParser.ATTRIBUTE_SRC); GenericBeanDefinition script = new GenericBeanDefinition(); script.setBeanClass(Script.class); int i = 0; ConstructorArgumentValues arguments = script.getConstructorArgumentValues(); arguments.addIndexedArgumentValue(i++, src); arguments.addIndexedArgumentValue(i++, DomUtils.getRealAttributeValue(element, ScriptBeanDefinitionParser.ATTRIBUTE_TYPE)); arguments.addIndexedArgumentValue(i++, DomUtils.getRealAttributeValue(element, ScriptBeanDefinitionParser.ATTRIBUTE_FLOW)); arguments.addIndexedArgumentValue(i++, DomUtils.getRealAttributeValue(element, ScriptBeanDefinitionParser.ATTRIBUTE_CHARSET)); this.logger.info("Adding \"{}\" script.", src); this.scripts.add(script); return null; }
From source file:pl.chilldev.web.spring.config.HandlePageModelBeanDefinitionParser.java
/** * {@inheritDoc}//from w ww . j av a 2s .c o m * @since 0.0.1 */ @Override public BeanDefinition parse(Element element, ParserContext parserContext) { // page model bean prototype GenericBeanDefinition pageMetaModelBean = new GenericBeanDefinition(); pageMetaModelBean.setBeanClass(PageMetaModel.class); pageMetaModelBean.setScope(WebApplicationContext.SCOPE_REQUEST); pageMetaModelBean.setFactoryBeanName(PageMetaModelFactoryBean.class.getName()); pageMetaModelBean.setFactoryMethodName(HandlePageModelBeanDefinitionParser.METHOD_CREATEPAGEMETAMODEL); parserContext.getRegistry().registerBeanDefinition(PageMetaModel.class.getName(), pageMetaModelBean); parserContext.getRegistry().registerBeanDefinition(PageMetaModelFactoryBean.class.getName(), this.pageMetaModelFactoryBean); // XHTML switch needs to be handled with generator bean if (element.hasAttribute(HandlePageModelBeanDefinitionParser.ATTRIBUTE_XHTML)) { boolean xhtml = element.getAttribute(HandlePageModelBeanDefinitionParser.ATTRIBUTE_XHTML) .equals("true"); GenericBeanDefinition generatorBean = new GenericBeanDefinition(); generatorBean.setBeanClass(Generator.class); this.logger.info("Setting markup generator XHTML mode to {}.", xhtml); ConstructorArgumentValues arguments = generatorBean.getConstructorArgumentValues(); arguments.addGenericArgumentValue(xhtml); parserContext.getRegistry().registerBeanDefinition(Generator.class.getName(), generatorBean); arguments = pageMetaModelBean.getConstructorArgumentValues(); arguments.addGenericArgumentValue(new RuntimeBeanReference(Generator.class.getName())); } // register new resolving strategy PageMetaModelContextUtils.setPageMetaModelResolver(new SpringBeansJspPageMetaModelResolver()); pl.chilldev.web.faces.context.PageMetaModelContextUtils .setPageMetaModelResolver(new SpringBeansFacesPageMetaModelResolver()); return null; }
From source file:test.pl.chilldev.web.spring.config.HandlePageModelBeanDefinitionParserTest.java
@Test public void parseWithXhtml() { GenericBeanDefinition pageMetaModelFactoryBean = new GenericBeanDefinition(); HandlePageModelBeanDefinitionParser parser = new HandlePageModelBeanDefinitionParser( pageMetaModelFactoryBean);/* ww w. jav a 2s. c o m*/ when(this.element.hasAttribute("xhtml")).thenReturn(true); when(this.element.getAttribute("xhtml")).thenReturn("false"); parser.parse(this.element, new ParserContext(this.readerContext, null)); verify(this.registry).registerBeanDefinition(PageMetaModelFactoryBean.class.getName(), pageMetaModelFactoryBean); verify(this.registry).registerBeanDefinition(eq(PageMetaModel.class.getName()), isA(BeanDefinition.class)); verify(this.registry).registerBeanDefinition(eq(Generator.class.getName()), isA(BeanDefinition.class)); }
From source file:org.mybatis.spring.mapper.MapperScannerConfigurerTest.java
@Before public void setupContext() { applicationContext = new GenericApplicationContext(); // add the mapper scanner as a bean definition rather than explicitly setting a // postProcessor on the context so initialization follows the same code path as reading from // an XML config file GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(MapperScannerConfigurer.class); definition.getPropertyValues().add("basePackage", "org.mybatis.spring.mapper"); applicationContext.registerBeanDefinition("mapperScanner", definition); setupSqlSessionFactory("sqlSessionFactory"); // assume support for autowiring fields is added by MapperScannerConfigurer via // org.springframework.context.annotation.ClassPathBeanDefinitionScanner.includeAnnotationConfig }
From source file:com.urbanmania.spring.beans.factory.config.annotations.PropertyAnnotationAndPlaceholderConfigurerTest.java
@Test public void testProcessProperties() { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(SimplePropetyAnnotatedBean.class); beanFactory.registerBeanDefinition(TEST_BEAN_NAME, beanDefinition); properties.put(TEST_KEY, TEST_VALUE); configurer.processProperties(beanFactory, properties); assertNotNull(//from w ww. ja v a 2 s.c om beanFactory.getBeanDefinition(TEST_BEAN_NAME).getPropertyValues().getPropertyValue("property")); assertEquals(TEST_VALUE, beanFactory.getBeanDefinition(TEST_BEAN_NAME).getPropertyValues() .getPropertyValue("property").getValue()); }
From source file:org.jfaster.mango.plugin.spring.MangoDaoScanner.java
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { DefaultListableBeanFactory dlbf = (DefaultListableBeanFactory) beanFactory; for (Class<?> daoClass : findMangoDaoClasses()) { GenericBeanDefinition bf = new GenericBeanDefinition(); bf.setBeanClassName(daoClass.getName()); MutablePropertyValues pvs = bf.getPropertyValues(); pvs.addPropertyValue("daoClass", daoClass); bf.setBeanClass(factoryBeanClass); bf.setPropertyValues(pvs);/*from w ww . ja va 2 s . c om*/ bf.setLazyInit(false); dlbf.registerBeanDefinition(daoClass.getName(), bf); } }
From source file:org.jacp.project.launcher.SpringLauncher.java
@Override public synchronized <T> T registerAndGetBean(Class<? extends T> type, final String id, final Scope scope) { if (this.factory.containsBean(id)) return getBean(type); final AutowireCapableBeanFactory factory = getContext().getAutowireCapableBeanFactory(); final BeanDefinitionRegistry registry = (BeanDefinitionRegistry) factory; final GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(type);/* w w w . j a v a2s .co m*/ beanDefinition.setScope(scope.getType()); beanDefinition.setAutowireCandidate(true); registry.registerBeanDefinition(id, beanDefinition); factory.autowireBeanProperties(this, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false); return getBean(type); }
From source file:com.auditbucket.spring.xml.ClientBeanDefinitionParser.java
public BeanDefinition parse(Element element, ParserContext parserContext) { // When node is not null, we should build a client. // When node is null, we want to build a transport client. String id = XMLParserUtil.getElementStringValue(element, "id"); String properties = XMLParserUtil.getElementStringValue(element, "properties"); BeanDefinition client;/* w ww . j a v a 2 s . c om*/ GenericBeanDefinition bdef = new GenericBeanDefinition(); bdef.setBeanClass(AuditBucketClientFactoryBean.class); BeanDefinitionBuilder clientBuilder = startClientBuilder(AuditBucketClientFactoryBean.class, properties); client = ClientBeanDefinitionParser.buildClientDef(clientBuilder); parserContext.getRegistry().registerBeanDefinition(id, client); return bdef; }
From source file:pl.chilldev.web.spring.config.LinkBeanDefinitionParser.java
/** * {@inheritDoc}// w ww. j a v a2s.com * @since 0.0.2 */ @Override public BeanDefinition parse(Element element, ParserContext parserContext) { String href = element.getAttribute(LinkBeanDefinitionParser.ATTRIBUTE_HREF); Set<String> rels = new HashSet<String>(); for (Element child : DomUtils.getChildElementsByTagName(element, LinkBeanDefinitionParser.ELEMENT_REL)) { rels.add(DomUtils.getTextValue(child)); } GenericBeanDefinition link = new GenericBeanDefinition(); link.setBeanClass(Link.class); int i = 0; ConstructorArgumentValues arguments = link.getConstructorArgumentValues(); arguments.addIndexedArgumentValue(i++, href); arguments.addIndexedArgumentValue(i++, rels); arguments.addIndexedArgumentValue(i++, pl.chilldev.web.spring.util.DomUtils.getRealAttributeValue(element, LinkBeanDefinitionParser.ATTRIBUTE_TYPE)); arguments.addIndexedArgumentValue(i++, pl.chilldev.web.spring.util.DomUtils.getRealAttributeValue(element, LinkBeanDefinitionParser.ATTRIBUTE_MEDIA)); this.logger.info("Adding \"{}\" link.", href); this.links.add(link); return null; }