List of usage examples for org.springframework.beans.factory.config RuntimeBeanReference RuntimeBeanReference
public RuntimeBeanReference(Class<?> beanType)
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); }