Example usage for org.springframework.beans.factory.xml ParserContext registerComponent

List of usage examples for org.springframework.beans.factory.xml ParserContext registerComponent

Introduction

In this page you can find the example usage for org.springframework.beans.factory.xml ParserContext registerComponent.

Prototype

public void registerComponent(ComponentDefinition component) 

Source Link

Usage

From source file:org.springjutsu.validation.namespace.ValidationMVCAnnotationsDefinitionParser.java

private String registerInfrastructureBean(Element element, ParserContext context,
        BeanDefinitionBuilder componentBuilder) {

    BeanDefinition definition = componentBuilder.getBeanDefinition();
    String entityName = context.getReaderContext().registerWithGeneratedName(definition);
    context.registerComponent(new BeanComponentDefinition(definition, entityName));
    return entityName;
}

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

private String registerComponent(ParserContext parserContext, BeanDefinitionBuilder beanDefBuilder) {
    final BeanDefinition beanDef = beanDefBuilder.getBeanDefinition();
    final String beanName = parserContext.getReaderContext().registerWithGeneratedName(beanDef);
    parserContext.registerComponent(new BeanComponentDefinition(beanDef, beanName));
    return beanName;
}

From source file:org.springjutsu.validation.namespace.ValidationConfigurationDefinitionParser.java

private String registerInfrastructureBean(ParserContext context, BeanDefinitionBuilder componentBuilder) {
    BeanDefinition definition = componentBuilder.getBeanDefinition();
    String entityName = context.getReaderContext().registerWithGeneratedName(definition);
    context.registerComponent(new BeanComponentDefinition(definition, entityName));
    return entityName;
}

From source file:be.hikage.springtemplate.ImportTemplateBeanDefinitionParser.java

private void registerBeans(ParserContext parserContext, Map<String, BeanDefinition> beansDefinition) {
    for (Map.Entry<String, BeanDefinition> entry : beansDefinition.entrySet()) {
        parserContext.getRegistry().registerBeanDefinition(entry.getKey(), entry.getValue());
        parserContext.registerComponent(new BeanComponentDefinition(entry.getValue(), entry.getKey()));
    }/*from   ww w  .j a  v a 2s .  c o  m*/
}

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

private RootBeanDefinition createValidator(Element element, Object source, ParserContext parserContext) {
    RootBeanDefinition bean = new RootBeanDefinition(EditableParameterValidator.class);
    bean.setSource(source);/*  w ww  .j  a  v  a2 s.c o m*/
    bean.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    if (jsr303Present) {

        RootBeanDefinition validatorDef = new RootBeanDefinition(LocalValidatorFactoryBean.class);
        validatorDef.setSource(source);
        validatorDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
        String validatorName = parserContext.getReaderContext().registerWithGeneratedName(validatorDef);
        parserContext.registerComponent(new BeanComponentDefinition(validatorDef, validatorName));

        bean.getPropertyValues().addPropertyValue("innerValidator", new RuntimeBeanReference(validatorName));
    }
    return bean;
}

From source file:uk.co.bssd.monitoring.spring.MonitorBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder bean) {

    Element adapterElement = getChildElement(element.getChildNodes(), "adapter");
    String adapterRef = adapterElement.getAttribute("ref");

    Element reporterElement = getChildElement(element.getChildNodes(), "reporter");
    String reporterRef = reporterElement.getAttribute("ref");

    BeanDefinitionBuilder monitorBeanDefinitionBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(Monitor.class);
    monitorBeanDefinitionBuilder.addConstructorArgReference(adapterRef);
    monitorBeanDefinitionBuilder.addConstructorArgReference(reporterRef);

    String monitorBeanName = UUID.randomUUID().toString();
    BeanDefinitionHolder monitorBeanDefinitionHolder = new BeanDefinitionHolder(
            monitorBeanDefinitionBuilder.getBeanDefinition(), monitorBeanName);

    registerBeanDefinition(monitorBeanDefinitionHolder, parserContext.getRegistry());

    BeanComponentDefinition monitorBeanComponentDefinition = new BeanComponentDefinition(
            monitorBeanDefinitionHolder);
    parserContext.registerComponent(monitorBeanComponentDefinition);

    long intervalMs = Long.parseLong(element.getAttribute("monitorIntervalMs"));
    bean.addConstructorArgReference(monitorBeanName);
    bean.addConstructorArgValue(intervalMs);
}

From source file:eap.config.ConfigBeanDefinitionParser.java

/**
 * Parses the supplied {@code &lt;pointcut&gt;} and registers the resulting
 * Pointcut with the BeanDefinitionRegistry.
 *//* www .  j a v a  2s . c  o m*/
private AbstractBeanDefinition parsePointcut(Element pointcutElement, ParserContext parserContext) {
    String id = pointcutElement.getAttribute(ID);
    String expression = pointcutElement.getAttribute(EXPRESSION);

    AbstractBeanDefinition pointcutDefinition = null;

    try {
        this.parseState.push(new PointcutEntry(id));
        pointcutDefinition = createPointcutDefinition(expression);
        pointcutDefinition.setSource(parserContext.extractSource(pointcutElement));

        String pointcutBeanName = id;
        if (StringUtils.hasText(pointcutBeanName)) {
            parserContext.getRegistry().registerBeanDefinition(pointcutBeanName, pointcutDefinition);
        } else {
            pointcutBeanName = parserContext.getReaderContext().registerWithGeneratedName(pointcutDefinition);
        }

        parserContext.registerComponent(
                new PointcutComponentDefinition(pointcutBeanName, pointcutDefinition, expression));
    } finally {
        this.parseState.pop();
    }

    return pointcutDefinition;
}

From source file:eap.config.ConfigBeanDefinitionParser.java

/**
 * Parses the supplied {@code &lt;advisor&gt;} element and registers the resulting
 * {@link org.springframework.aop.Advisor} and any resulting {@link org.springframework.aop.Pointcut}
 * with the supplied {@link BeanDefinitionRegistry}.
 *//*from   www  . ja  v a 2 s  . c  o m*/
private void parseAdvisor(Element advisorElement, ParserContext parserContext) {
    AbstractBeanDefinition advisorDef = createAdvisorBeanDefinition(advisorElement, parserContext);
    String id = advisorElement.getAttribute(ID);

    try {
        this.parseState.push(new AdvisorEntry(id));
        String advisorBeanName = id;
        if (StringUtils.hasText(advisorBeanName)) {
            parserContext.getRegistry().registerBeanDefinition(advisorBeanName, advisorDef);
        } else {
            advisorBeanName = parserContext.getReaderContext().registerWithGeneratedName(advisorDef);
        }

        Object pointcut = parsePointcutProperty(advisorElement, parserContext);
        if (pointcut instanceof BeanDefinition) {
            advisorDef.getPropertyValues().add(POINTCUT, pointcut);
            parserContext.registerComponent(
                    new AdvisorComponentDefinition(advisorBeanName, advisorDef, (BeanDefinition) pointcut));
        } else if (pointcut instanceof String) {
            advisorDef.getPropertyValues().add(POINTCUT, new RuntimeBeanReference((String) pointcut));
            parserContext.registerComponent(new AdvisorComponentDefinition(advisorBeanName, advisorDef));
        }
    } finally {
        this.parseState.pop();
    }
}

From source file:net.hasor.rsf.spring.parser.RsfDefinitionParser.java

/** ?Xml  */
@Override//from w w w.j a va2s.  c  om
public BeanDefinition parse(Element element, ParserContext parserContext) {
    // Spring 
    String version = SpringVersion.getVersion();
    version = StringUtils.isBlank(version) ? "?" : version;
    Map customEditors = null;
    if (version.charAt(0) == '4' || version.charAt(0) == '5') {
        customEditors = new HashMap<Class<?>, Class<? extends java.beans.PropertyEditor>>();
        customEditors.put(InterAddress.class, RsfAddressPropertyEditor.class);
    } else {
        customEditors = new HashMap();
        customEditors.put("net.hasor.rsf.InterAddress", new RsfAddressPropertyEditor());
    }
    //
    // . Bean 
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition();
    builder.getRawBeanDefinition().setBeanClass(CustomEditorConfigurer.class);
    builder.setScope(BeanDefinition.SCOPE_SINGLETON);//?
    builder.addPropertyValue("customEditors", customEditors);
    //
    //  .,BeanID net.hasor.rsf.spring.RsfAddressPropertyEditor
    AbstractBeanDefinition propEditors = builder.getBeanDefinition();
    String beanID = RsfAddressPropertyEditor.class.getName();
    BeanDefinitionHolder holder = new BeanDefinitionHolder(propEditors, beanID);
    BeanDefinitionReaderUtils.registerBeanDefinition(holder, parserContext.getRegistry());
    parserContext.registerComponent(new BeanComponentDefinition(holder));
    //
    //
    NamedNodeMap attributes = element.getAttributes();
    //
    return null;
}

From source file:com.apporiented.spring.override.AbstractGenericBeanDefinitionParser.java

public final BeanDefinition parse(Element element, ParserContext parserContext) {
    if (!enabled) {
        throw new FatalBeanException("Support for " + element.getTagName()
                + " has been disabled. Please add the required jar files " + "to your classpath.");
    }/*from  ww w. ja v  a2s.c o  m*/
    AbstractBeanDefinition definition = parseInternal(element, parserContext);
    if (!parserContext.isNested()) {
        try {
            String id = resolveId(element, definition, parserContext);
            if (!StringUtils.hasText(id)) {
                parserContext.getReaderContext().error("Id is required for element '" + element.getLocalName()
                        + "' when used as a top-level tag", element);
            }
            String[] aliases = resolveAliases(element, definition, parserContext);
            BeanDefinitionHolder holder = new BeanDefinitionHolder(definition, id, aliases);
            if (decorator != null) {
                holder = decorator.decorate(element, holder, parserContext);
            }
            registerBeanDefinition(holder, parserContext.getRegistry());
            if (shouldFireEvents()) {
                BeanComponentDefinition componentDefinition = new BeanComponentDefinition(holder);
                postProcessComponentDefinition(componentDefinition);
                parserContext.registerComponent(componentDefinition);
            }
        } catch (BeanDefinitionStoreException ex) {
            parserContext.getReaderContext().error(ex.getMessage(), element);
            return null;
        }
    } else if (decorator != null) {
        BeanDefinitionHolder holder = new BeanDefinitionHolder(definition, "");
        decorator.decorate(element, holder, parserContext);
    }
    return definition;
}