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

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

Introduction

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

Prototype

public AbstractBeanDefinition getBeanDefinition() 

Source Link

Document

Validate and return the created BeanDefinition object.

Usage

From source file:org.smf4j.spring.RegistryNodeTemplateDefinitionParser.java

protected String createRangeGroup(ParserContext context, Element element) {
    String name = getName(context, element);
    String accumulator = element.getAttribute(ACCUMULATOR_ATTR);
    String units = element.getAttribute(UNITS_ATTR);
    String ranges = element.getAttribute(RANGES_ATTR);
    String suffixes = element.getAttribute(SUFFIXES_ATTR);
    String norm = element.getAttribute(NORMALIZE_ATTR);
    String freq = element.getAttribute(FREQUENCY_ATTR);
    String threshold = element.getAttribute(THRESHOLD_ATTR);
    String format = element.getAttribute(FORMAT_ATTR);

    ManagedList<RuntimeBeanReference> groupings = createGroupings(context, element, ranges, suffixes);
    if (groupings == null) {
        return null;
    }/* w  w  w.j  a  v  a2 s.c  o  m*/

    boolean normalize = false;
    if (StringUtils.hasLength(norm)) {
        normalize = Boolean.parseBoolean(norm);
    }

    BeanDefinitionBuilder bdb = getBdb(RANGEGROUP_CLASS);
    bdb.addPropertyValue(UNITS_ATTR, units);
    bdb.addPropertyValue(GROUPINGS_ATTR, groupings);
    bdb.addPropertyValue(NORMALIZE_ATTR, normalize);
    Object frequency = getFrequency(context, element, freq);
    bdb.addPropertyValue(FREQUENCY_ATTR, frequency);
    bdb.addPropertyValue(ACCUMULATOR_ATTR, accumulator);
    bdb.addPropertyValue(THRESHOLD_ATTR, threshold);
    bdb.addPropertyValue(FORMATSTRING_ATTR, format);

    String grpId = context.getReaderContext().registerWithGeneratedName(bdb.getBeanDefinition());

    // Create proxy that carries name
    BeanDefinitionBuilder calcProxyBdb = getBdb(RegistryNodeChildProxy.class);
    calcProxyBdb.addPropertyValue(NAME_ATTR, name);
    calcProxyBdb.addPropertyValue(CHILD_ATTR, grpId);
    return context.getReaderContext().registerWithGeneratedName(calcProxyBdb.getBeanDefinition());
}

From source file:com.dinstone.jrpc.spring.EndpointBeanDefinitionParser.java

private BeanDefinition getConfigBeanDefinition(Element element, ParserContext parserContext,
        String configName) {/* ww w.j  a v  a 2 s .  co m*/
    BeanDefinitionBuilder sbd = BeanDefinitionBuilder.genericBeanDefinition(ConfigBean.class);

    Element configElement = getChildElement(element, configName);
    if (configElement != null) {
        String schema = configElement.getAttribute("schema");
        sbd.addPropertyValue("schema", schema);
        String address = configElement.getAttribute("address");
        sbd.addPropertyValue("address", address);

        NodeList childNodeList = configElement.getChildNodes();
        Properties properties = new Properties();
        for (int i = 0; i < childNodeList.getLength(); i++) {
            Node childNode = childNodeList.item(i);
            if (childNode instanceof Element && nodeMatch(childNode, "property")) {
                Element pe = (Element) childNode;
                properties.put(pe.getAttribute("key"), pe.getAttribute("value"));
            }
        }
        sbd.addPropertyValue("properties", properties);
    }

    return sbd.getBeanDefinition();
}

From source file:net.phoenix.thrift.xml.ProcessorBeanDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    this.beanName = this.parseBeanName(element);
    this.multiplexed = this.parseBoolean(element.getAttribute("multiplexed"));
    boolean autoScan = this.parseBoolean(element.getAttribute("auto-scan"));
    Map<String, BeanDefinition> processors = null;
    if (autoScan)
        processors = this.scanProcessors(parserContext);
    if (this.multiplexed) {
        BeanDefinitionBuilder root = BeanDefinitionBuilder.rootBeanDefinition(this.getServerClassName());
        if (processors != null) {
            for (Map.Entry<String, BeanDefinition> processor : processors.entrySet()) {
                String serviceName = processor.getKey();
                String processorBeanName = serviceName + "-Processor";
                BeanDefinition processorBean = processor.getValue();
                parserContext.getRegistry().registerBeanDefinition(processorBeanName, processorBean);
                this.registerProcessor(parserContext, processor.getKey(), processorBeanName);
                LOG.info("{msg: \"Thrift Service Registered\" " + ", service-name: \"" + serviceName + "\""
                        + ",processor-name: \"" + processorBeanName + "\"" + ",processor-class:"
                        + processorBean.getBeanClassName() + "}");
            }/*from  w w  w. j  a v  a2  s  .c  om*/
        }
        AbstractBeanDefinition rootBean = root.getBeanDefinition();
        parserContext.getRegistry().registerBeanDefinition(this.beanName, rootBean);
        return rootBean;
    } else {
        if (processors == null || processors.size() == 0)
            throw new BeanCreationException("Could not found thrift service processors. ");
        if (processors.size() > 1)
            throw new BeanCreationException(
                    "More than one thrift service processors found, please change 'multiplexed' to true. ");
        BeanDefinition processor = processors.values().iterator().next();

        parserContext.getRegistry().registerBeanDefinition(this.beanName, processor);
        return (AbstractBeanDefinition) processor;
    }
}

From source file:fr.xebia.management.config.ProfileAspectDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ProfileAspect.class);

    // see http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/aop.html#aop-aj-configure
    builder.setFactoryMethod("aspectOf");

    // Mark as infrastructure bean and attach source location.
    builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    String serverBeanName = element.getAttribute(SERVER_ATTRIBUTE);
    if (StringUtils.hasText(serverBeanName)) {
        builder.addPropertyReference("server", serverBeanName);
    } else {//from  w w w  .j a  va2  s  .  c  om
        AbstractBeanDefinition specialServer = findServerForSpecialEnvironment();
        if (specialServer != null) {
            builder.addPropertyValue("server", specialServer);
        }
    }

    String jmxDomain = element.getAttribute(JMX_DOMAIN_ATTRIBUTE);
    if (StringUtils.hasLength(jmxDomain)) {
        builder.addPropertyValue("jmxDomain", jmxDomain);
    }
    return builder.getBeanDefinition();
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

protected AbstractBeanDefinition prepareDOMConversionManager() {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ConversionManager.class);
    ManagedList<AbstractBeanDefinition> converters = prepareCoreConverters();
    converters.addAll(prepareTemporalConverters(TemporalAdapter.class.getPackage().getName(),
            TemporalAdapter.class.getSimpleName()));

    BeanDefinitionBuilder appCxtBeanDefBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(ApplicationContextConverter.class);
    appCxtBeanDefBuilder.addConstructorArgValue(
            BeanDefinitionBuilder.genericBeanDefinition(DocumentConverter.class).getBeanDefinition());
    converters.add(appCxtBeanDefBuilder.getBeanDefinition());
    builder.addConstructorArgValue(converters);
    return builder.getBeanDefinition();
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

protected AbstractBeanDefinition prepareJAXBConversionManager() {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ConversionManager.class);
    ManagedList<AbstractBeanDefinition> converters = prepareCoreConverters();
    converters/*w ww  .j av a  2  s. c  o  m*/
            .addAll(prepareTemporalConverters("org.brekka.stillingar.jaxb.conversion", "JAXBTemporalAdapter"));

    BeanDefinitionBuilder appCxtBeanDefBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(ApplicationContextConverter.class);
    appCxtBeanDefBuilder.addConstructorArgValue(
            BeanDefinitionBuilder.genericBeanDefinition(DocumentConverter.class).getBeanDefinition());
    converters.add(appCxtBeanDefBuilder.getBeanDefinition());
    builder.addConstructorArgValue(converters);
    return builder.getBeanDefinition();
}

From source file:it.scoppelletti.programmerpower.web.spring.config.SecurityFilterBeanDefinitionParser.java

/**
 * Restituisce la corrispondenza tra gli URL e le configurazioni di accesso
 * richieste.//from   ww  w  .  j ava 2s . c om
 * 
 * @param  filterEl Definizione XML del filtro.
 * @return          Collezione.
 */
private Map<BeanDefinition, BeanDefinition> parseInterceptors(Element filterEl) {
    String method, pattern;
    BeanDefinition keyBean;
    BeanDefinitionBuilder exprBuilder, keyBuilder;
    List<Element> interceptList;
    Map<BeanDefinition, BeanDefinition> interceptMap;

    interceptList = DomUtils.getChildElementsByTagName(filterEl, "intercept-url");
    interceptMap = new ManagedMap<BeanDefinition, BeanDefinition>();
    for (Element interceptEl : interceptList) {
        keyBuilder = BeanDefinitionBuilder.rootBeanDefinition(AntPathRequestMatcher.class);

        pattern = interceptEl.getAttribute("pattern");
        keyBuilder.addConstructorArgValue(pattern.toLowerCase());

        method = interceptEl.getAttribute("method");
        if (!Strings.isNullOrEmpty(method)) {
            keyBuilder.addConstructorArgValue(method);
        }

        keyBean = keyBuilder.getBeanDefinition();

        exprBuilder = BeanDefinitionBuilder.rootBeanDefinition(SecurityConfig.class);
        exprBuilder.addConstructorArgValue(interceptEl.getAttribute("access"));
        exprBuilder.setFactoryMethod("createSingleAttributeList");

        if (interceptMap.put(keyBean, exprBuilder.getBeanDefinition()) != null) {
            myLogger.warn("URL {} defined more than once: only last used.", pattern);
        }
    }

    return interceptMap;
}

From source file:org.jboss.windup.config.spring.namespace.java.JavaHintBeanParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(JavaPatternHintProcessor.class);
    beanBuilder.addPropertyValue("regexPattern", element.getAttribute("regex"));

    if (element.hasAttribute("hint")) {
        beanBuilder.addPropertyValue("hint", element.getAttribute("hint"));
    } else {/*from  w w w.  ja  va  2  s .c o  m*/
        String markdown = element.getTextContent();

        String lines[] = markdown.split("\\r?\\n");
        StringBuilder markdownRebuilder = new StringBuilder();

        for (String line : lines) {
            line = StringUtils.trim(line);
            if (line != null) {
                markdownRebuilder.append(line).append(SystemUtils.LINE_SEPARATOR);
            }
        }
        beanBuilder.addPropertyValue("hint", markdownRebuilder.toString());
    }

    if (element.hasAttribute("source-type")) {
        beanBuilder.addPropertyValue("sourceType", element.getAttribute("source-type"));
    }
    if (element.hasAttribute("effort")) {
        beanBuilder.addPropertyValue("effort", Integer.parseInt(element.getAttribute("effort")));
    }

    return beanBuilder.getBeanDefinition();
}

From source file:de.itsvs.cwtrpc.controller.config.RemoteServiceControllerConfigBeanDefinitionParser.java

public BeanDefinition parse(Element element, ParserContext parserContext) {
    final CompositeComponentDefinition compositeDef;
    final BeanDefinitionBuilder bdd;
    final AbstractBeanDefinition beanDefinition;
    String id;//w w w .j av a  2  s . c o  m

    compositeDef = new CompositeComponentDefinition(element.getTagName(), parserContext.extractSource(element));
    parserContext.pushContainingComponent(compositeDef);

    bdd = BeanDefinitionBuilder.rootBeanDefinition(RemoteServiceControllerConfig.class);
    bdd.getRawBeanDefinition().setSource(parserContext.extractSource(element));
    if (parserContext.isDefaultLazyInit()) {
        bdd.setLazyInit(true);
    }

    bdd.addConstructorArgReference(getSerializationPolicyProviderBeanRef(element, parserContext).getBeanName());
    bdd.addPropertyValue("serviceModuleConfigs", parseModules(element, parserContext));
    getBaseServiceConfigParser().update(element, parserContext, bdd,
            RemoteServiceControllerConfig.DEFAULT_RPC_VALIDATOR_SERVICE_NAME);

    id = element.getAttribute(XmlNames.ID_ATTR);
    if (!StringUtils.hasText(id)) {
        id = RemoteServiceControllerConfig.DEFAULT_BEAN_ID;
    }
    beanDefinition = bdd.getBeanDefinition();
    parserContext.registerBeanComponent(new BeanComponentDefinition(beanDefinition, id));

    parserContext.popAndRegisterContainingComponent();
    return beanDefinition;
}