Example usage for org.springframework.beans.factory.support BeanDefinitionBuilder rootBeanDefinition

List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder rootBeanDefinition

Introduction

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

Prototype

public static BeanDefinitionBuilder rootBeanDefinition(Class<?> beanClass) 

Source Link

Document

Create a new BeanDefinitionBuilder used to construct a RootBeanDefinition .

Usage

From source file:biz.c24.io.spring.config.C24HttpMessageConverterBeanDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext context) {

    Object source = context.extractSource(element);

    String modelRef = element.getAttribute("model-ref");
    modelRef = StringUtils.hasText(modelRef) ? modelRef : C24ModelBeanDefinitionParser.DEFAULT_BEAN_NAME;

    Set<BeanDefinition> formats = new ManagedSet<BeanDefinition>();
    for (Element formatElement : DomUtils.getChildElementsByTagName(element, "format")) {
        formats.add(formatParser.parse(formatElement, context));
    }/*from w w  w. j a v  a2  s  .  co m*/

    // Create C24HttpMessageConverter bean
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(C24HttpMessageConverter.class);
    builder.addConstructorArgReference(modelRef);
    builder.addConstructorArgValue(formats);

    return getSourcedBeanDefinition(builder, source);
}

From source file:com.cloudera.cli.validator.Main.java

/**
 * From the arguments, run the validation.
 *
 * @param args command line arguments//from  w  ww.  j a  v a 2 s.c o  m
 * @throws IOException anything goes wrong with streams.
 * @return exit code
 */
public int run(String[] args) throws IOException {
    Writer writer = new OutputStreamWriter(outStream, Constants.CHARSET_UTF_8);
    AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
    try {
        BeanDefinition cmdOptsbeanDefinition = BeanDefinitionBuilder
                .rootBeanDefinition(CommandLineOptions.class).addConstructorArgValue(appName)
                .addConstructorArgValue(args).getBeanDefinition();
        ctx.registerBeanDefinition(CommandLineOptions.BEAN_NAME, cmdOptsbeanDefinition);
        ctx.register(ApplicationConfiguration.class);
        ctx.refresh();
        CommandLineOptions cmdOptions = ctx.getBean(CommandLineOptions.BEAN_NAME, CommandLineOptions.class);
        CommandLineOptions.Mode mode = cmdOptions.getMode();
        if (mode == null) {
            throw new ParseException("No valid command line arguments");
        }
        ValidationRunner runner = ctx.getBean(mode.runnerName, ValidationRunner.class);
        boolean success = runner.run(cmdOptions.getCommandLineOptionActiveTarget(), writer);
        if (success) {
            writer.write("Validation succeeded.\n");
        }
        return success ? 0 : -1;
    } catch (BeanCreationException e) {
        String cause = e.getMessage();
        if (e.getCause() instanceof BeanInstantiationException) {
            BeanInstantiationException bie = (BeanInstantiationException) e.getCause();
            cause = bie.getMessage();
            if (bie.getCause() != null) {
                cause = bie.getCause().getMessage();
            }
        }
        IOUtils.write(cause + "\n", errStream);
        CommandLineOptions.printUsageMessage(appName, errStream);
        return -2;
    } catch (ParseException e) {
        LOG.debug("Exception", e);
        IOUtils.write(e.getMessage() + "\n", errStream);
        CommandLineOptions.printUsageMessage(appName, errStream);
        return -2;
    } finally {
        if (ctx != null) {
            ctx.close();
        }
        writer.close();
    }
}

From source file:com.consol.citrus.selenium.xml.WebActionParser.java

@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(actionClass);
    this.doParse(element, builder);

    return builder.getBeanDefinition();
}

From source file:org.xacml4j.spring.pdp.PolicyDecisionPointDefinitionParser.java

private static BeanDefinitionBuilder parseComponent(Element element) {
    BeanDefinitionBuilder component = element.getLocalName().equals("PolicyIdReference")
            ? BeanDefinitionBuilder.rootBeanDefinition(PolicyIDReferenceFactoryBean.class)
            : BeanDefinitionBuilder.rootBeanDefinition(PolicySetIDReferenceFactoryBean.class);
    String id = element.getTextContent();
    if (StringUtils.hasText(id)) {
        component.addPropertyValue("id", id);
    }/*from w  w w  .  java  2  s.c  om*/
    String version = element.getAttribute("version");
    if (StringUtils.hasText(version)) {
        component.addPropertyValue("version", version);
    }
    String latest = element.getAttribute("latest");
    if (StringUtils.hasText(latest)) {
        component.addPropertyValue("latest", latest);
    }
    String earliest = element.getAttribute("earliest");
    if (StringUtils.hasText(earliest)) {
        component.addPropertyValue("earliest", earliest);
    }
    return component;
}

From source file:org.bigtester.ate.xmlschema.TestSuiteBeanDefinitionParser.java

/**
 * {@inheritDoc}// ww  w .j  av  a  2  s  .com
 */
@Override
protected @Nullable AbstractBeanDefinition parseInternal(@Nullable Element element,
        @Nullable ParserContext parserContext) {
    // Here we parse the Spring elements such as < property>
    if (parserContext == null || element == null)
        throw GlobalUtils.createNotInitializedException("element and parserContext");
    // this will never be null since the schema explicitly requires that a value be supplied
    String testSuiteName = element.getAttribute(XsdElementConstants.ATTR_TESTSUITE_SUITENAME);
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(TestSuite.class);
    if (StringUtils.hasText(testSuiteName))
        factory.addConstructorArgValue(testSuiteName);

    List<Element> suiteListElements = (List<Element>) DomUtils.getChildElementsByTagName(element,
            XsdElementConstants.ELEMENT_XMLTESTCASE);

    if (suiteListElements != null && !suiteListElements.isEmpty()) {
        if (null == factory)
            throw GlobalUtils.createNotInitializedException("factory");
        parseXmlTestCaseComponents(suiteListElements, factory, parserContext);
    }

    return factory.getBeanDefinition();
}

From source file:org.bigtester.ate.xmlschema.TestCaseBeanDefinitionParser.java

/**
 * {@inheritDoc}/*from  www  .  j av a  2  s.  c  o m*/
 */
@Override
protected @Nullable AbstractBeanDefinition parseInternal(@Nullable Element element,
        @Nullable ParserContext parserContext) {
    // Here we parse the Spring elements such as < property>
    if (parserContext == null || element == null)
        throw GlobalUtils.createNotInitializedException("element and parserContext");
    // this will never be null since the schema explicitly requires that a
    // value be supplied
    String testCaseName = element.getAttribute(XsdElementConstants.ATTR_TESTCASE_TESTCASENAME);
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(TestCase.class);
    if (StringUtils.hasText(testCaseName))
        factory.addConstructorArgValue(testCaseName);

    List<Element> testStepElements = (List<Element>) DomUtils.getChildElements(element);

    if (testStepElements != null && !testStepElements.isEmpty()) {
        if (null == factory)
            throw GlobalUtils.createNotInitializedException("factory");
        parseTestStepComponents(testStepElements, factory, parserContext);
    }

    return factory.getBeanDefinition();
}

From source file:org.synyx.hades.dao.orm.DaoInterfaceAwareBeanPostProcessorUnitTest.java

@Test
public void doesNotResolveInterfaceForUnloadableClass() throws Exception {

    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(FACTORY_CLASS)
            .addPropertyValue(DAO_INTERFACE_PROPERTY, "com.acme.Foo");

    when(beanFactory.getBeanDefinition(BEAN_NAME)).thenReturn(builder.getBeanDefinition());

    assertNotTypeDetected(FACTORY_CLASS);
}

From source file:ar.com.zauber.commons.conversion.spring.schema.SimplePropertyFieldDefinitionParser.java

/** @see AbstractSingleBeanDefinitionParser#doParse(Element, ParserContext, 
 *       BeanDefinitionBuilder) */
@SuppressWarnings("unchecked")
protected final void doParse(final Element element, final ParserContext parserContext,
        final BeanDefinitionBuilder bean) {

    final String targetPropertyName = element.getAttribute("target");
    String sourcePropertyName;/*  w w w .  java 2s.c o m*/
    Converter converter;

    bean.addConstructorArgValue(targetPropertyName);

    if (element.hasAttribute("source")) {
        sourcePropertyName = element.getAttribute("source");
    } else {
        sourcePropertyName = targetPropertyName;
    }

    final List<?> l = parserContext.getDelegate().parseListElement(element, bean.getBeanDefinition());
    final BeanDefinitionBuilder bdb = BeanDefinitionBuilder.rootBeanDefinition(SinglePropertyConverter.class)
            .addConstructorArgValue(sourcePropertyName);

    if (element.hasAttribute("converter-ref")) {
        bean.addConstructorArgValue(
                bdb.addConstructorArgReference(element.getAttribute("converter-ref")).getBeanDefinition());
    } else if (l.size() == 1) {
        bean.addConstructorArgValue(bdb.addConstructorArgValue(l.iterator().next()).getBeanDefinition());
    } else {
        converter = new IdentityConverter();
        bean.addConstructorArgValue(new SinglePropertyConverter(sourcePropertyName, converter));
    }
    configureSetter(bean, element);
}

From source file:org.drools.container.spring.namespace.KnowledgeBaseDefinitionParser.java

@SuppressWarnings("unchecked")
@Override// ww w.  j  a v a 2  s .co  m
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeBaseBeanFactory.class);

    Element kbaseConf = DomUtils.getChildElementByTagName(element, "configuration");
    if (kbaseConf != null) {
        BeanDefinitionBuilder rbaseConfBuilder = BeanDefinitionBuilder
                .rootBeanDefinition(RuleBaseConfiguration.class);
        Element e = DomUtils.getChildElementByTagName(kbaseConf, ADVANCED_PROCESS_RULE_INTEGRATED);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) {
            rbaseConfBuilder.addPropertyValue("advancedProcessRuleIntegration",
                    Boolean.parseBoolean(e.getAttribute("enabled")));
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, MULTITHREADS);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) {
            rbaseConfBuilder.addPropertyValue("multithreadEvaluation",
                    Boolean.parseBoolean(e.getAttribute("enabled")));
            if (!StringUtils.isEmpty(e.getAttribute(MAX_THREADS))) {
                rbaseConfBuilder.addPropertyValue("maxThreads", Integer.parseInt(e.getAttribute(MAX_THREADS)));
            }
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, MBEABS);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) {
            rbaseConfBuilder.addPropertyValue("MBeansEnabled", Boolean.parseBoolean(e.getAttribute("enabled")));
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, EVENT_PROCESSING_MODE);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("mode"))) {
            rbaseConfBuilder.addPropertyValue("eventProcessingMode",
                    EventProcessingOption.valueOf(e.getAttribute("mode")));
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, ASSERT_BEHAVIOR);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("mode"))) {
            rbaseConfBuilder.addPropertyValue("assertBehaviour",
                    AssertBehaviour.determineAssertBehaviour(e.getAttribute("mode")));
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, ACCUMULATE_FUNCTIONS);
        if (e != null) {
            List<Element> children = DomUtils.getChildElementsByTagName(e, ACCUMULATE_FUNCTION);
            if (children != null && !children.isEmpty()) {
                ManagedMap functions = new ManagedMap();
                for (Element child : children) {
                    functions.put(child.getAttribute("name"),
                            new RuntimeBeanReference(child.getAttribute("ref")));
                }
                factory.addPropertyValue("accumulateFunctions", functions);
            }
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, EVALUATORS);
        if (e != null) {
            List<Element> children = DomUtils.getChildElementsByTagName(e, EVALUATOR);
            if (children != null && !children.isEmpty()) {
                ManagedMap evaluators = new ManagedMap();
                for (Element child : children) {
                    evaluators.put(child.getAttribute("name"),
                            new RuntimeBeanReference(child.getAttribute("ref")));
                }
                factory.addPropertyValue("evaluators", evaluators);
            }
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, CONSEQUENCE_EXCEPTION_HANDLER);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("handler"))) {
            rbaseConfBuilder.addPropertyValue("consequenceExceptionHandler", e.getAttribute("handler"));
        }

        factory.addPropertyValue("conf", rbaseConfBuilder.getBeanDefinition());
    }

    String nodeRef = element.getAttribute(EXECUTION_NODE_ATTRIBUTE);
    if (nodeRef != null && nodeRef.length() > 0) {
        factory.addPropertyReference(EXECUTION_NODE_ATTRIBUTE, nodeRef);
    }

    ManagedList resources = getResources(element, parserContext, factory);

    if (resources != null) {
        factory.addPropertyValue("resources", resources);
    }

    return factory.getBeanDefinition();
}

From source file:org.springmodules.validation.bean.conf.namespace.AnnotationBasedValidatorBeanDefinitionParser.java

protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {

    BeanDefinitionBuilder registryBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(DefaultValidationAnnotationHandlerRegistry.class);
    parseHandlerElements(element, registryBuilder);
    AbstractBeanDefinition beanDefinition = registryBuilder.getBeanDefinition();
    String validatorId = resolveId(element, beanDefinition, parserContext);
    String registryId = HANDLER_REGISTRY_PREFIX + validatorId;
    parserContext.getRegistry().registerBeanDefinition(registryId, beanDefinition);

    BeanDefinitionBuilder loaderBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(AnnotationBeanValidationConfigurationLoader.class);
    loaderBuilder.addPropertyReference("handlerRegistry", registryId);
    beanDefinition = loaderBuilder.getBeanDefinition();
    String loaderId = CONFIGURATION_LOADER_PREFIX + validatorId;
    parserContext.getRegistry().registerBeanDefinition(loaderId, beanDefinition);

    BeanDefinitionBuilder validatorBuilder = BeanDefinitionBuilder.rootBeanDefinition(BeanValidator.class);
    if (element.hasAttribute(AnnotationBasedValidatorBeanDefinitionParser.ERROR_CODE_CONVERTER_ATTR)) {
        validatorBuilder.addPropertyReference("errorCodeConverter",
                element.getAttribute(AnnotationBasedValidatorBeanDefinitionParser.ERROR_CODE_CONVERTER_ATTR));
    }//from   w  w w. java 2 s  .com
    validatorBuilder.addPropertyReference("configurationLoader", loaderId);

    return validatorBuilder.getBeanDefinition();
}