Example usage for org.springframework.beans.factory.config RuntimeBeanReference RuntimeBeanReference

List of usage examples for org.springframework.beans.factory.config RuntimeBeanReference RuntimeBeanReference

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config RuntimeBeanReference RuntimeBeanReference.

Prototype

public RuntimeBeanReference(Class<?> beanType) 

Source Link

Document

Create a new RuntimeBeanReference to a bean of the given type.

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;//from  ww  w .  j  av  a 2 s.c  om

    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:eap.config.AnnotationDrivenCacheBeanDefinitionParser.java

private static void parseCacheManagerProperty(Element element, BeanDefinition def) {
    //      def.getPropertyValues().add("cacheManager",
    //            new RuntimeBeanReference(CacheNamespaceHandler.extractCacheManager(element)));
    def.getPropertyValues().add("cacheManager",
            new RuntimeBeanReference((String) ReflectUtil.invokeMethod(CacheNamespaceHandler.class,
                    "extractCacheManager", new Class<?>[] { Element.class }, new Object[] { element })));
}

From source file:edu.internet2.middleware.shibboleth.common.config.relyingparty.RelyingPartyGroupBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element config, ParserContext parserContext, BeanDefinitionBuilder builder) {
    Map<QName, List<Element>> configChildren = XMLHelper.getChildElements(config);

    List<Element> mds = configChildren.get(new QName(MetadataNamespaceHandler.NAMESPACE, "MetadataProvider"));
    if (mds != null && mds.size() > 0) {
        Element mdConfigElem = mds.get(0);
        SpringConfigurationUtils.parseCustomElement(mdConfigElem, parserContext);
        builder.addPropertyValue("metadataProvider",
                new RuntimeBeanReference(mdConfigElem.getAttributeNS(null, "id")));
    }//from w ww.j  a  v a  2s . c  o m

    parseRelyingPartyConfiguration(configChildren, builder, parserContext);

    parseSecurityConfiguration(configChildren, builder, parserContext);
}

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

/**
 * {@inheritDoc}/*from  www .jav a  2  s  . co m*/
 */
@Override
protected AbstractBeanDefinition parseInternal(@Nullable Element element,
        @Nullable ParserContext parserContext) {
    // Here we parse the Spring elements such as < property>
    if (parserContext == null || element == null)
        throw new IllegalStateException("Incorrect xsd xml parsing.");
    BeanDefinitionHolder holder = parserContext.getDelegate().parseBeanDefinitionElement(element);
    BeanDefinition bDef = holder.getBeanDefinition();
    bDef.setBeanClassName(BaseERValue.class.getName());
    String stepERDao = element.getAttribute(XsdElementConstants.ELEMENT_BASEERVALUE_STEPERDAO);
    if (StringUtils.hasText(stepERDao)) {
        bDef.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference(stepERDao));
    }

    //        String text = element.getAttribute("text");
    //        bd.getPropertyValues().addPropertyValue("text", text);
    parserContext.getRegistry().registerBeanDefinition(element.getAttribute("id"), bDef);
    return (AbstractBeanDefinition) bDef;

}

From source file:com.clican.pluto.fsm.spring.parser.AbstractStateParser.java

@SuppressWarnings({ "rawtypes", "unchecked" })
public BeanDefinition parse(Element element, ParserContext parserContext) {
    BeanDefinitionRegistry bdr = parserContext.getRegistry();
    RootBeanDefinition beanDef = new RootBeanDefinition();
    beanDef.setDestroyMethodName("destroy");
    beanDef.setAbstract(false);/*from  w w w  .  j a  v a 2  s  .c  om*/
    beanDef.setBeanClass(getStateClass(element));
    beanDef.setLazyInit(false);
    beanDef.setAutowireMode(Autowire.BY_NAME.value());
    String name = element.getAttribute("name");
    if (bdr.containsBeanDefinition(name)) {
        throw new RuntimeException("name[" + name + "]is defined duplicated");
    }
    bdr.registerBeanDefinition(name, beanDef);
    beanDef.getPropertyValues().addPropertyValue("name", name);
    String value = element.getAttribute("value");
    beanDef.getPropertyValues().addPropertyValue("value", value);

    String propagation = element.getAttribute("propagation");
    beanDef.getPropertyValues().addPropertyValue("propagation", propagation);
    String nextStates = element.getAttribute("nextStates");
    if (StringUtils.isNotEmpty(nextStates)) {
        List nextStateList = new ManagedList();
        for (String nextState : nextStates.split(",")) {
            nextStateList.add(new RuntimeBeanReference(nextState.trim()));
        }
        beanDef.getPropertyValues().addPropertyValue("nextStates", nextStateList);
    }

    String previousStates = element.getAttribute("previousStates");
    if (StringUtils.isNotEmpty(previousStates)) {
        List previousStateList = new ManagedList();
        for (String previousState : previousStates.split(",")) {
            previousStateList.add(new RuntimeBeanReference(previousState.trim()));
        }
        beanDef.getPropertyValues().addPropertyValue("previousStates", previousStateList);
    }

    NodeList nodeList = element.getChildNodes();
    Map nextCondStates = new ManagedMap();
    Map params = new ManagedMap();
    List stateListeners = new ManagedList();
    List taskListeners = new ManagedList();
    Map timeoutListeners = new ManagedMap();
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            String localName = node.getLocalName();
            Element e = (Element) node;
            if ("nextCondStates".equals(localName)) {
                String expr = e.getAttribute("expr");
                nextStates = e.getAttribute("nextStates");
                List nextStateList = new ManagedList();
                if (StringUtils.isNotEmpty(nextStates)) {
                    for (String nextState : nextStates.split(",")) {
                        nextStateList.add(new RuntimeBeanReference(nextState.trim()));
                    }
                }
                nextCondStates.put(expr, nextStateList);
            } else if ("param".equals(localName)) {
                String paramName = e.getAttribute("name");
                String paramValue = e.getAttribute("value");
                params.put(paramName, paramValue);
            } else if ("stateListener".equals(localName) || "timeoutListener".equals(localName)
                    || "taskListener".equals(localName)) {
                String clazz = e.getAttribute("clazz");
                String listener = e.getAttribute("listener");
                Object obj;
                if (StringUtils.isNotEmpty(clazz)) {
                    try {
                        RootBeanDefinition bean = new RootBeanDefinition();
                        bean.setAbstract(false);
                        bean.setBeanClass(Class.forName(clazz));
                        bean.setLazyInit(false);
                        bean.setAutowireMode(Autowire.BY_NAME.value());
                        if ("timeoutListener".equals(localName)) {
                            String timeoutName = e.getAttribute("name");
                            String startTime = e.getAttribute("startTime");
                            String dueTime = e.getAttribute("dueTime");
                            String repeatTime = e.getAttribute("repeatTime");
                            String repeatDuration = e.getAttribute("repeatDuration");
                            String businessCalendarName = e.getAttribute("businessCalendarName");
                            bean.getPropertyValues().addPropertyValue("name", timeoutName);
                            bean.getPropertyValues().addPropertyValue("startTime", startTime);
                            bean.getPropertyValues().addPropertyValue("dueTime", dueTime);
                            bean.getPropertyValues().addPropertyValue("repeatTime", repeatTime);
                            bean.getPropertyValues().addPropertyValue("repeatDuration", repeatDuration);
                            bean.getPropertyValues().addPropertyValue("businessCalendarName",
                                    businessCalendarName);
                        }
                        NodeList nodeList2 = element.getChildNodes();
                        Map params2 = new ManagedMap();
                        for (int j = 0; j < nodeList2.getLength(); j++) {
                            Node node2 = nodeList2.item(j);
                            if (node2.getNodeType() == Node.ELEMENT_NODE) {
                                String localName2 = node2.getLocalName();
                                if ("param".equals(localName2)) {
                                    String paramName = ((Element) node2).getAttribute("name");
                                    String paramValue = ((Element) node2).getAttribute("value");
                                    params2.put(paramName, paramValue);
                                }
                            }
                        }
                        obj = bean;
                    } catch (Exception ex) {
                        throw new RuntimeException(ex);
                    }
                } else if (StringUtils.isNotEmpty(listener)) {
                    obj = new RuntimeBeanReference(listener.trim());
                } else {
                    throw new RuntimeException("There must be clazz or listener parameter setting");
                }
                if ("stateListener".equals(localName)) {
                    stateListeners.add(obj);
                } else if ("taskListeners".equals(localName)) {
                    taskListeners.add(obj);
                } else {
                    String timeoutName = e.getAttribute("name");
                    timeoutListeners.put(timeoutName, obj);
                }
            }
        }
    }
    beanDef.getPropertyValues().addPropertyValue("nextCondStates", nextCondStates);
    beanDef.getPropertyValues().addPropertyValue("params", params);
    beanDef.getPropertyValues().addPropertyValue("stateListeners", stateListeners);
    if (element.getNodeName().equals("task")) {
        beanDef.getPropertyValues().addPropertyValue("taskListeners", taskListeners);
    }
    beanDef.getPropertyValues().addPropertyValue("timeoutListeners", timeoutListeners);

    customiseBeanDefinition(beanDef, element, parserContext);
    return beanDef;
}

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

/**
 * {@inheritDoc}/*from  w w w. j  a  v a2  s.c  o m*/
 */
@Override
protected AbstractBeanDefinition parseInternal(@Nullable Element element,
        @Nullable ParserContext parserContext) {
    // Here we parse the Spring elements such as < property>
    if (parserContext == null || element == null)
        throw new IllegalStateException("Incorrect xsd xml parsing.");
    BeanDefinitionHolder holder = parserContext.getDelegate().parseBeanDefinitionElement(element);
    BeanDefinition bDef = holder.getBeanDefinition();
    bDef.setBeanClassName(BaseInputDataValue.class.getName());
    String elementDataDao = element.getAttribute(XsdElementConstants.ATTR_BASEINPUTDATAVALUE_ELEMENTDATADAO);
    if (StringUtils.hasText(elementDataDao)) {
        bDef.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference(elementDataDao));
    }
    parserContext.getRegistry().registerBeanDefinition(element.getAttribute("id"), bDef);
    return (AbstractBeanDefinition) bDef;

}

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

/**
 * {@inheritDoc}/*from ww  w  . j  a  v a 2 s .  co m*/
 */
@Override
protected AbstractBeanDefinition parseInternal(@Nullable Element element,
        @Nullable ParserContext parserContext) {
    // Here we parse the Spring elements such as < property>
    if (parserContext == null || element == null)
        throw new IllegalStateException("Incorrect xsd xml parsing.");
    BeanDefinitionHolder holder = parserContext.getDelegate().parseBeanDefinitionElement(element);
    BeanDefinition bDef = holder.getBeanDefinition();
    bDef.setBeanClassName(StepInputDataValue.class.getName());
    String elementDataDao = element.getAttribute(XsdElementConstants.ATTR_BASEINPUTDATAVALUE_ELEMENTDATADAO);
    if (StringUtils.hasText(elementDataDao)) {
        bDef.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference(elementDataDao));
    }
    parserContext.getRegistry().registerBeanDefinition(element.getAttribute("id"), bDef);
    return (AbstractBeanDefinition) bDef;

}

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

/**
 * {@inheritDoc}//from   w w w  .  j  a  va 2s . c  o  m
 */
@Override
protected 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");
    BeanDefinitionHolder holder = parserContext.getDelegate().parseBeanDefinitionElement(element);
    BeanDefinition bDef = holder.getBeanDefinition();
    bDef.setBeanClassName(PageModelBase.class.getName());
    String myWd = element.getAttribute(XsdElementConstants.ATTR_BASEPAGEMODEL_MYWD);
    if (StringUtils.hasText(myWd)) {
        bDef.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference(myWd));
    }
    // String text = element.getAttribute("text");
    // bd.getPropertyValues().addPropertyValue("text", text);
    parserContext.getRegistry().registerBeanDefinition(element.getAttribute("id"), bDef);
    return (AbstractBeanDefinition) bDef;

}

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

public void testConfigureFlushingInterceptor() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    parser.configureFlushingInterceptor(propertyValues, registry);

    Class targetClass = AnnotationFlushingAttributeSource.class;
    String beanName = targetClass.getName();
    AbstractBeanDefinition definition = (AbstractBeanDefinition) registry.getBeanDefinition(beanName);

    ConfigAssert.assertBeanDefinitionWrapsClass(definition, targetClass);

    PropertyValue expected = new PropertyValue("flushingAttributeSource", new RuntimeBeanReference(beanName));

    ConfigAssert.assertPropertyIsPresent(propertyValues, expected);
}

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

public void testValidateWithRuntimeBeanReference() {
    BeanDefinition beanDefinition = createCachingListenerBeanDefinition();
    String beanName = CACHING_LISTENER_BEAN_NAME;
    registry.registerBeanDefinition(beanName, beanDefinition);
    RuntimeBeanReference reference = new RuntimeBeanReference(beanName);

    validator.validate(reference, 0, parserContext);
}