Example usage for org.springframework.beans.factory.support GenericBeanDefinition GenericBeanDefinition

List of usage examples for org.springframework.beans.factory.support GenericBeanDefinition GenericBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support GenericBeanDefinition GenericBeanDefinition.

Prototype

public GenericBeanDefinition() 

Source Link

Document

Create a new GenericBeanDefinition, to be configured through its bean properties and configuration methods.

Usage

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;
}