Example usage for org.springframework.beans.factory.support RootBeanDefinition getConstructorArgumentValues

List of usage examples for org.springframework.beans.factory.support RootBeanDefinition getConstructorArgumentValues

Introduction

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

Prototype

@Override
public ConstructorArgumentValues getConstructorArgumentValues() 

Source Link

Document

Return constructor argument values for this bean (never null ).

Usage

From source file:org.springmodules.cache.config.AbstractMetadataAttributesParser.java

private void registerCachingAdvisor(BeanDefinitionRegistry registry) {
    Class cachingAdvisorClass = CachingAttributeSourceAdvisor.class;
    RootBeanDefinition cachingAdvisor = new RootBeanDefinition(cachingAdvisorClass);
    cachingAdvisor.getConstructorArgumentValues()
            .addGenericArgumentValue(new RuntimeBeanReference(BeanName.CACHING_INTERCEPTOR));
    registry.registerBeanDefinition(cachingAdvisorClass.getName(), cachingAdvisor);
}

From source file:org.springmodules.cache.config.AbstractMetadataAttributesParser.java

private void registerFlushingAdvisor(BeanDefinitionRegistry registry) {
    Class flushingAdvisorClass = FlushingAttributeSourceAdvisor.class;
    RootBeanDefinition flushingAdvisor = new RootBeanDefinition(flushingAdvisorClass);
    flushingAdvisor.getConstructorArgumentValues()
            .addGenericArgumentValue(new RuntimeBeanReference(BeanName.FLUSHING_INTERCEPTOR));
    registry.registerBeanDefinition(flushingAdvisorClass.getName(), flushingAdvisor);
}

From source file:com.clican.pluto.dataprocess.spring.parser.ParamProcessorParser.java

@SuppressWarnings("unchecked")

public void customiseBeanDefinition(BeanDefinition beanDef, Element element, ParserContext parserContext) {
    List paramBeanList = new ManagedList();
    NodeList nodeList = element.getChildNodes();
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            String localName = node.getLocalName();
            if ("param".equals(localName)) {
                RootBeanDefinition bean = new RootBeanDefinition();
                bean.setAbstract(false);
                bean.setBeanClass(ParamBean.class);
                bean.setLazyInit(false);
                bean.setAutowireMode(Autowire.BY_NAME.value());
                Element paramElement = (Element) node;
                String paramName = paramElement.getAttribute("paramName");
                String paramValue = paramElement.getAttribute("paramValue");
                String type = paramElement.getAttribute("type");
                String override = paramElement.getAttribute("override");
                String pattern = paramElement.getAttribute("pattern");
                bean.getPropertyValues().addPropertyValue("paramName", paramName);
                bean.getPropertyValues().addPropertyValue("paramValue", paramValue);
                bean.getPropertyValues().addPropertyValue("type", type);
                bean.getPropertyValues().addPropertyValue("pattern", pattern);
                if (StringUtils.isNotEmpty(override)) {
                    RootBeanDefinition over = new RootBeanDefinition();
                    over.setAbstract(false);
                    over.setBeanClass(Boolean.class);
                    over.setLazyInit(false);
                    over.getConstructorArgumentValues().addIndexedArgumentValue(0, override);
                    bean.getPropertyValues().addPropertyValue("override", over);
                }/*from   www  .  j  a v  a2 s .  co  m*/
                paramBeanList.add(bean);
            }
        }
    }
    beanDef.getPropertyValues().addPropertyValue("paramBeanList", paramBeanList);
}

From source file:com.ryantenney.metrics.spring.config.RegisterMetricBeanDefinitionParser.java

@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    final CompositeComponentDefinition compDefinition = new CompositeComponentDefinition(element.getTagName(),
            parserContext.extractSource(element));
    parserContext.pushContainingComponent(compDefinition);

    final String metricRegistryBeanName = element.getAttribute("metric-registry");
    if (!StringUtils.hasText(metricRegistryBeanName)) {
        throw new RuntimeException(); // TODO
    }//from w  w  w  .  ja  v a 2s  .  c o  m
    final RuntimeBeanReference metricRegistryBeanRef = new RuntimeBeanReference(metricRegistryBeanName);

    final List<Element> metricElements = DomUtils.getChildElementsByTagName(element,
            new String[] { "bean", "ref" });
    for (Element metricElement : metricElements) {
        // Get the name attribute and remove it (to prevent Spring from looking for a BeanDefinitionDecorator)
        final String name = metricElement.getAttributeNS(METRICS_NAMESPACE, "name");
        if (name != null) {
            metricElement.removeAttributeNS(METRICS_NAMESPACE, "name");
        }

        final Object metric = parserContext.getDelegate().parsePropertySubElement(metricElement, null);

        final RootBeanDefinition metricRegistererDef = new RootBeanDefinition(MetricRegisterer.class);
        metricRegistererDef.setSource(parserContext.extractSource(metricElement));
        metricRegistererDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);

        final ConstructorArgumentValues args = metricRegistererDef.getConstructorArgumentValues();
        args.addIndexedArgumentValue(0, metricRegistryBeanRef);
        args.addIndexedArgumentValue(1, name);
        args.addIndexedArgumentValue(2, metric);

        final String beanName = parserContext.getReaderContext().registerWithGeneratedName(metricRegistererDef);
        parserContext.registerComponent(new BeanComponentDefinition(metricRegistererDef, beanName));
    }

    parserContext.popAndRegisterContainingComponent();

    return null;
}

From source file:com.inspiresoftware.lib.dto.geda.config.AnnotationDrivenGeDABeanDefinitionParser.java

protected RuntimeBeanReference setupPointcut(final ParserContext parserContext, final Object elementSource,
        final RuntimeBeanReference resolver, final String[] pointcutMatchRegex,
        final String[] pointcutNoMatchRegex) {

    final RootBeanDefinition pointcut;

    if (pointcutMatchRegex.length == 0 && pointcutNoMatchRegex.length == 0) {
        pointcut = new RootBeanDefinition(GeDAMethodMatcherPointcut.class);
        final ConstructorArgumentValues constructorArgs = pointcut.getConstructorArgumentValues();
        constructorArgs.addGenericArgumentValue(resolver);
    } else {//w w w  .java 2 s  . co m
        pointcut = new RootBeanDefinition(GeDAMethodRegExMatcherPointcut.class);
        final ConstructorArgumentValues constructorArgs = pointcut.getConstructorArgumentValues();
        constructorArgs.addGenericArgumentValue(resolver);
        final MutablePropertyValues propertyValues = pointcut.getPropertyValues();
        if (pointcutMatchRegex.length > 0) {
            propertyValues.addPropertyValue("patterns", pointcutMatchRegex);
        }
        if (pointcutNoMatchRegex.length > 0) {
            propertyValues.addPropertyValue("excludedPatterns", pointcutNoMatchRegex);
        }
    }

    pointcut.setSource(elementSource);
    pointcut.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);

    final XmlReaderContext readerContext = parserContext.getReaderContext();
    final String pointcutBeanName = readerContext.registerWithGeneratedName(pointcut);

    return new RuntimeBeanReference(pointcutBeanName);
}

From source file:eap.config.ConfigBeanDefinitionParser.java

/**
 * Parses one of '{@code before}', '{@code after}', '{@code after-returning}',
 * '{@code after-throwing}' or '{@code around}' and registers the resulting
 * BeanDefinition with the supplied BeanDefinitionRegistry.
 * @return the generated advice RootBeanDefinition
 *///from   w  ww  . j a  v a 2s. com
private AbstractBeanDefinition parseAdvice(String aspectName, int order, Element aspectElement,
        Element adviceElement, ParserContext parserContext, List<BeanDefinition> beanDefinitions,
        List<BeanReference> beanReferences) {

    try {
        this.parseState.push(new AdviceEntry(parserContext.getDelegate().getLocalName(adviceElement)));

        // create the method factory bean
        RootBeanDefinition methodDefinition = new RootBeanDefinition(MethodLocatingFactoryBean.class);
        methodDefinition.getPropertyValues().add("targetBeanName", aspectName);
        methodDefinition.getPropertyValues().add("methodName", adviceElement.getAttribute("method"));
        methodDefinition.setSynthetic(true);

        // create instance factory definition
        RootBeanDefinition aspectFactoryDef = new RootBeanDefinition(
                SimpleBeanFactoryAwareAspectInstanceFactory.class);
        aspectFactoryDef.getPropertyValues().add("aspectBeanName", aspectName);
        aspectFactoryDef.setSynthetic(true);

        // register the pointcut
        AbstractBeanDefinition adviceDef = createAdviceDefinition(adviceElement, parserContext, aspectName,
                order, methodDefinition, aspectFactoryDef, beanDefinitions, beanReferences);

        // configure the advisor
        RootBeanDefinition advisorDefinition = new RootBeanDefinition(AspectJPointcutAdvisor.class);
        advisorDefinition.setSource(parserContext.extractSource(adviceElement));
        advisorDefinition.getConstructorArgumentValues().addGenericArgumentValue(adviceDef);
        if (aspectElement.hasAttribute(ORDER_PROPERTY)) {
            advisorDefinition.getPropertyValues().add(ORDER_PROPERTY,
                    aspectElement.getAttribute(ORDER_PROPERTY));
        }

        // register the final advisor
        parserContext.getReaderContext().registerWithGeneratedName(advisorDefinition);

        return advisorDefinition;
    } finally {
        this.parseState.pop();
    }
}

From source file:org.hdiv.config.xml.ConfigBeanDefinitionParser.java

private RootBeanDefinition createStringBean(String value, Object source) {
    RootBeanDefinition bean = new RootBeanDefinition(java.lang.String.class);
    bean.setSource(source);/*w  w  w .j  a v a2 s .  c  om*/
    bean.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    bean.getConstructorArgumentValues().addIndexedArgumentValue(0, value);
    return bean;
}

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

protected AbstractBeanDefinition createUriPattern(Element element, ParserContext parserContext) {
    final String value;
    final Object type;
    final RootBeanDefinition beanDefinition;

    value = element.getAttribute(XmlNames.VALUE_ATTR);
    if (!StringUtils.hasText(value)) {
        parserContext.getReaderContext().error("URI value must not be empty",
                parserContext.extractSource(element));
    }// www.  j ava  2s. c  o  m
    if (element.hasAttribute(XmlNames.TYPE_ATTR)) {
        type = element.getAttribute(XmlNames.TYPE_ATTR);
    } else {
        type = CacheControlUriConfig.DEFAULT_PATTERN_TYPE;
    }

    beanDefinition = new RootBeanDefinition(PatternFactory.class);
    beanDefinition.setSource(parserContext.extractSource(element));
    if (parserContext.isDefaultLazyInit()) {
        beanDefinition.setLazyInit(true);
    }
    beanDefinition.setFactoryMethodName("compile");

    beanDefinition.getConstructorArgumentValues().addIndexedArgumentValue(0, type);
    beanDefinition.getConstructorArgumentValues().addIndexedArgumentValue(1, MatcherType.URI);
    beanDefinition.getConstructorArgumentValues().addIndexedArgumentValue(2, value);

    return beanDefinition;
}

From source file:org.devefx.httpmapper.spring.config.ListenersBeanDefinitionParser.java

public BeanDefinition parse(Element element, ParserContext parserContext) {
    CompositeComponentDefinition compDefinition = new CompositeComponentDefinition(element.getTagName(),
            parserContext.extractSource(element));
    parserContext.pushContainingComponent(compDefinition);

    RuntimeBeanReference pathMatcherRef = null;
    if (element.hasAttribute("path-matcher")) {
        pathMatcherRef = new RuntimeBeanReference(element.getAttribute("path-matcher"));
    }/* ww w  .j a v a2 s  .  c  o m*/

    List<Element> listeners = DomUtils.getChildElementsByTagName(element, "bean", "ref", "listener");
    for (Element listener : listeners) {
        RootBeanDefinition mappedListenerDef = new RootBeanDefinition(MappedListener.class);
        mappedListenerDef.setSource(parserContext.extractSource(listener));
        mappedListenerDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);

        ManagedList<String> includePatterns = null;
        ManagedList<String> excludePatterns = null;
        Object listenerBean;
        if ("listener".equals(listener.getLocalName())) {
            includePatterns = getIncludePatterns(listener, "mapping");
            excludePatterns = getIncludePatterns(listener, "exclude-mapping");
            Element beanElem = DomUtils.getChildElementsByTagName(listener, "bean", "ref").get(0);
            listenerBean = parserContext.getDelegate().parsePropertySubElement(beanElem, null);
        } else {
            listenerBean = parserContext.getDelegate().parsePropertySubElement(listener, null);
        }
        mappedListenerDef.getConstructorArgumentValues().addIndexedArgumentValue(0, includePatterns);
        mappedListenerDef.getConstructorArgumentValues().addIndexedArgumentValue(1, excludePatterns);
        mappedListenerDef.getConstructorArgumentValues().addIndexedArgumentValue(2, listenerBean);

        if (pathMatcherRef != null) {
            mappedListenerDef.getPropertyValues().add("pathMatcher", pathMatcherRef);
        }

        String beanName = parserContext.getReaderContext().registerWithGeneratedName(mappedListenerDef);
        parserContext.registerComponent(new BeanComponentDefinition(mappedListenerDef, beanName));
    }

    parserContext.popAndRegisterContainingComponent();
    return null;
}

From source file:com.helpinput.spring.registinerceptor.mvc.UrlInterceptorBeanRegistInterceptor.java

@Override
public BeanDefinition beforeRegist(Class<?> clz, String beanName, String scope, DefaultListableBeanFactory dlbf,
        BeanDefinitionBuilder builder) {
    if (getCondition(clz)) {
        String refDefname = beanName + "$$$$";

        RootBeanDefinition refDef = new RootBeanDefinition();
        refDef.setBeanClass(clz);/*from ww w. j a  v a  2  s.c o m*/
        refDef.setScope(scope);
        dlbf.registerBeanDefinition(refDefname, refDef);

        RootBeanDefinition mappedInterceptorDef = new RootBeanDefinition(MappedInterceptor.class);
        mappedInterceptorDef.setScope(scope);

        ManagedList<String> includePatterns = null;
        ManagedList<String> excludePatterns = null;
        Object interceptorBean;

        Mapping mapAnn = clz.getAnnotation(Mapping.class);
        if (mapAnn != null) {
            String[] includes = mapAnn.value();
            if (Utils.hasLength(includes)) {
                includePatterns = new ManagedList<>(includes.length);
                for (String s : includes)
                    includePatterns.add(s);
            }
        }

        MappingExclude unMapAnn = clz.getAnnotation(MappingExclude.class);
        if (unMapAnn != null) {
            String[] excludes = unMapAnn.value();
            if (Utils.hasLength(excludes)) {
                excludePatterns = new ManagedList<>(excludes.length);
                for (String s : excludes)
                    excludePatterns.add(s);
            }
        }

        interceptorBean = new RuntimeBeanReference(refDefname);
        mappedInterceptorDef.getConstructorArgumentValues().addIndexedArgumentValue(0, includePatterns);
        mappedInterceptorDef.getConstructorArgumentValues().addIndexedArgumentValue(1, excludePatterns);
        mappedInterceptorDef.getConstructorArgumentValues().addIndexedArgumentValue(2, interceptorBean);
        return mappedInterceptorDef;
    }
    return null;
}