List of usage examples for org.springframework.beans.factory.config RuntimeBeanReference RuntimeBeanReference
public RuntimeBeanReference(Class<?> beanType)
From source file:net.scriptability.core.integration.spring.ScriptAbilityBeanDefinitionParser.java
private String registerScriptAbilityInitialisingBean(final Element configureElement, final String factoryBeanName, final BeanDefinitionRegistry beanDefinitionRegistry) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(MethodInvokingFactoryBean.class); builder.addPropertyReference("targetObject", DEFAULT_SCRIPTABILITY_BEAN_NAME); builder.addPropertyValue("targetMethod", "start"); List<Object> arguments = new ManagedList(); if (hasBindingsElement(configureElement)) { Map<String, RuntimeBeanReference> bindings = createBeanBindings((Element) configureElement .getElementsByTagNameNS(XML_NAMESPACE__SCRIPTABILITY, XML_ELEMENT__BINDINGS).item(0)); arguments.add(bindings);/*from w w w . ja va 2s. c o m*/ } arguments.add(new RuntimeBeanReference(factoryBeanName)); builder.addPropertyValue("arguments", arguments); return BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), beanDefinitionRegistry); }
From source file:de.itsvs.cwtrpc.controller.config.RemoteServiceControllerConfigBeanDefinitionParser.java
protected ManagedList<BeanMetadataElement> parseModules(Element element, ParserContext parserContext) { final ManagedList<BeanMetadataElement> modules; modules = new ManagedList<BeanMetadataElement>(); for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.MODULE_ELEMENT)) { modules.add(getServiceModuleConfigBeanDefinitionParser().parseNested(child, parserContext)); }/*from w w w .j a v a2 s . c o m*/ for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.MODULE_REF_ELEMENT)) { final String name; final RuntimeBeanReference beanReference; name = child.getAttribute(XmlNames.BEAN_REFERENCE_NAME_ATTR); if (!StringUtils.hasText(name)) { parserContext.getReaderContext().error("Module reference must not be empty", parserContext.extractSource(element)); } beanReference = new RuntimeBeanReference(name); beanReference.setSource(parserContext.extractSource(element)); modules.add(beanReference); } return modules; }
From source file:org.drools.container.spring.namespace.KnowledgeBaseDefinitionParser.java
@SuppressWarnings("unchecked") @Override//from www . jav a2s . c o m protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeBaseBeanFactory.class); Element kbaseConf = DomUtils.getChildElementByTagName(element, "configuration"); if (kbaseConf != null) { BeanDefinitionBuilder rbaseConfBuilder = BeanDefinitionBuilder .rootBeanDefinition(RuleBaseConfiguration.class); Element e = DomUtils.getChildElementByTagName(kbaseConf, ADVANCED_PROCESS_RULE_INTEGRATED); if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) { rbaseConfBuilder.addPropertyValue("advancedProcessRuleIntegration", Boolean.parseBoolean(e.getAttribute("enabled"))); } e = DomUtils.getChildElementByTagName(kbaseConf, MULTITHREADS); if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) { rbaseConfBuilder.addPropertyValue("multithreadEvaluation", Boolean.parseBoolean(e.getAttribute("enabled"))); if (!StringUtils.isEmpty(e.getAttribute(MAX_THREADS))) { rbaseConfBuilder.addPropertyValue("maxThreads", Integer.parseInt(e.getAttribute(MAX_THREADS))); } } e = DomUtils.getChildElementByTagName(kbaseConf, MBEABS); if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) { rbaseConfBuilder.addPropertyValue("MBeansEnabled", Boolean.parseBoolean(e.getAttribute("enabled"))); } e = DomUtils.getChildElementByTagName(kbaseConf, EVENT_PROCESSING_MODE); if (e != null && !StringUtils.isEmpty(e.getAttribute("mode"))) { rbaseConfBuilder.addPropertyValue("eventProcessingMode", EventProcessingOption.valueOf(e.getAttribute("mode"))); } e = DomUtils.getChildElementByTagName(kbaseConf, ASSERT_BEHAVIOR); if (e != null && !StringUtils.isEmpty(e.getAttribute("mode"))) { rbaseConfBuilder.addPropertyValue("assertBehaviour", AssertBehaviour.determineAssertBehaviour(e.getAttribute("mode"))); } e = DomUtils.getChildElementByTagName(kbaseConf, ACCUMULATE_FUNCTIONS); if (e != null) { List<Element> children = DomUtils.getChildElementsByTagName(e, ACCUMULATE_FUNCTION); if (children != null && !children.isEmpty()) { ManagedMap functions = new ManagedMap(); for (Element child : children) { functions.put(child.getAttribute("name"), new RuntimeBeanReference(child.getAttribute("ref"))); } factory.addPropertyValue("accumulateFunctions", functions); } } e = DomUtils.getChildElementByTagName(kbaseConf, EVALUATORS); if (e != null) { List<Element> children = DomUtils.getChildElementsByTagName(e, EVALUATOR); if (children != null && !children.isEmpty()) { ManagedMap evaluators = new ManagedMap(); for (Element child : children) { evaluators.put(child.getAttribute("name"), new RuntimeBeanReference(child.getAttribute("ref"))); } factory.addPropertyValue("evaluators", evaluators); } } e = DomUtils.getChildElementByTagName(kbaseConf, CONSEQUENCE_EXCEPTION_HANDLER); if (e != null && !StringUtils.isEmpty(e.getAttribute("handler"))) { rbaseConfBuilder.addPropertyValue("consequenceExceptionHandler", e.getAttribute("handler")); } factory.addPropertyValue("conf", rbaseConfBuilder.getBeanDefinition()); } String nodeRef = element.getAttribute(EXECUTION_NODE_ATTRIBUTE); if (nodeRef != null && nodeRef.length() > 0) { factory.addPropertyReference(EXECUTION_NODE_ATTRIBUTE, nodeRef); } ManagedList resources = getResources(element, parserContext, factory); if (resources != null) { factory.addPropertyValue("resources", resources); } return factory.getBeanDefinition(); }
From source file:org.bigtester.ate.model.page.elementaction.SendKeysActionPostBeanProcessor.java
/** * {@inheritDoc}/*from w ww . j ava2 s . c o m*/ */ @Override public void postProcessBeanFactory(@Nullable ConfigurableListableBeanFactory beanFactory) throws BeansException { if (beanFactory == null) throw new IllegalStateException("Spring Container initialization error"); // String[] homePageNames = // beanFactory.getBeanNamesForType(IStepInputData.class, true, false); String[] allSendKeysActions = beanFactory.getBeanNamesForType(SendKeysAction.class, true, false); for (int index = 0; index < allSendKeysActions.length; index++) { BeanDefinition sendKeyActDef = beanFactory.getBeanDefinition(allSendKeysActions[index]); String dataValue = ((RuntimeBeanReference) sendKeyActDef.getConstructorArgumentValues() .getGenericArgumentValue(RuntimeBeanReference.class).getValue()).getBeanName(); //.getAttribute(XsdElementConstants.ATTR_SENDKEYSACTION_DATAVALUE); if (null == dataValue) { throw new IllegalStateException("Spring Container sendKeyActionValue initialization error"); } else { try { beanFactory.getBeanDefinition(dataValue); } catch (NoSuchBeanDefinitionException NoBeanDef) { String idstr; BeanDefinitionBuilder definitionBuilder; if (StringUtils.isEmpty(dataValue)) { definitionBuilder = BeanDefinitionBuilder .genericBeanDefinition(RandomAlphaTextValueDataHolder.class); idstr = (String) sendKeyActDef.getAttribute("id") + "_SendKeysRandomAlphaTextDataValueBean_ID"; definitionBuilder.addConstructorArgValue(idstr); definitionBuilder.addConstructorArgValue(10); } else { definitionBuilder = BeanDefinitionBuilder .genericBeanDefinition(ManualAssignedValueDataHolder.class); definitionBuilder.addConstructorArgValue(EnumRunTimeDataType.TEXT); definitionBuilder.addConstructorArgValue(dataValue); idstr = (String) sendKeyActDef.getAttribute("id") + "_SendKeysDataValueBean_ID"; definitionBuilder.addConstructorArgValue(idstr); } getBdReg().registerBeanDefinition(idstr, definitionBuilder.getBeanDefinition()); sendKeyActDef.setAttribute(XsdElementConstants.ATTR_SENDKEYSACTION_DATAVALUE, idstr); sendKeyActDef.getConstructorArgumentValues().getGenericArgumentValue(RuntimeBeanReference.class) .setValue(new RuntimeBeanReference(idstr)); } } } }
From source file:info.sargis.eventbus.config.EventBusHandlerBeanDefinitionParser.java
private RuntimeBeanReference defineRuntimeBeanReference(ParserContext parserContext, BeanDefinition beanDefinition) { String generatedBeanName = getGeneratedBeanName(parserContext, beanDefinition); parserContext.getRegistry().registerBeanDefinition(generatedBeanName, beanDefinition); return new RuntimeBeanReference(generatedBeanName); }
From source file:org.drools.container.spring.namespace.KnowledgeSessionDefinitionParser.java
@SuppressWarnings("unchecked") protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { String id = element.getAttribute("id"); emptyAttributeCheck(element.getLocalName(), "id", id); String kbase = element.getAttribute(KBASE_ATTRIBUTE); emptyAttributeCheck(element.getLocalName(), KBASE_ATTRIBUTE, kbase); String sessionType = element.getAttribute(TYPE_ATTRIBUTE); BeanDefinitionBuilder factory;// w w w . ja v a2 s .c o m if ("stateful".equals(sessionType)) { factory = BeanDefinitionBuilder.rootBeanDefinition(StatefulKnowledgeSessionBeanFactory.class); } else if ("stateless".equals(sessionType)) { factory = BeanDefinitionBuilder.rootBeanDefinition(StatelessKnowledgeSessionBeanFactory.class); } else { throw new IllegalArgumentException( "Invalid value for " + TYPE_ATTRIBUTE + " attribute: " + sessionType); } factory.addPropertyReference("kbase", kbase); String node = element.getAttribute(GRID_NODE_ATTRIBUTE); if (node != null && node.length() > 0) { factory.addPropertyReference("node", node); } String name = element.getAttribute(NAME_ATTRIBUTE); if (StringUtils.hasText(name)) { factory.addPropertyValue("name", name); } else { factory.addPropertyValue("name", id); } // Additions for JIRA JBRULES-3076 String listeners = element.getAttribute(LISTENERS_ATTRIBUTE); if (StringUtils.hasText(listeners)) { factory.addPropertyValue("eventListenersFromGroup", new RuntimeBeanReference(listeners)); } EventListenersUtil.parseEventListeners(parserContext, factory, element); // End of Additions for JIRA JBRULES-3076 Element ksessionConf = DomUtils.getChildElementByTagName(element, "configuration"); if (ksessionConf != null) { Element persistenceElm = DomUtils.getChildElementByTagName(ksessionConf, "jpa-persistence"); if (persistenceElm != null) { BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder .genericBeanDefinition(JpaConfiguration.class); String loadId = persistenceElm.getAttribute("load"); if (StringUtils.hasText(loadId)) { beanBuilder.addPropertyValue("id", Long.parseLong(loadId)); } Element tnxMng = DomUtils.getChildElementByTagName(persistenceElm, TX_MANAGER_ATTRIBUTE); String ref = tnxMng.getAttribute("ref"); beanBuilder.addPropertyReference("platformTransactionManager", ref); Element emf = DomUtils.getChildElementByTagName(persistenceElm, EMF_ATTRIBUTE); ref = emf.getAttribute("ref"); beanBuilder.addPropertyReference("entityManagerFactory", ref); Element variablePersisters = DomUtils.getChildElementByTagName(persistenceElm, "variable-persisters"); if (variablePersisters != null && variablePersisters.hasChildNodes()) { List<Element> childPersisterElems = DomUtils.getChildElementsByTagName(variablePersisters, "persister"); ManagedMap persistors = new ManagedMap(childPersisterElems.size()); for (Element persisterElem : childPersisterElems) { String forClass = persisterElem.getAttribute(FORCLASS_ATTRIBUTE); String implementation = persisterElem.getAttribute(IMPLEMENTATION_ATTRIBUTE); if (!StringUtils.hasText(forClass)) { throw new RuntimeException("persister element must have valid for-class attribute"); } if (!StringUtils.hasText(implementation)) { throw new RuntimeException( "persister element must have valid implementation attribute"); } persistors.put(forClass, implementation); } beanBuilder.addPropertyValue("variablePersisters", persistors); } factory.addPropertyValue("jpaConfiguration", beanBuilder.getBeanDefinition()); } BeanDefinitionBuilder rbaseConfBuilder = BeanDefinitionBuilder .rootBeanDefinition(SessionConfiguration.class); Element e = DomUtils.getChildElementByTagName(ksessionConf, KEEP_REFERENCE); if (e != null && StringUtils.hasText(e.getAttribute("enabled"))) { rbaseConfBuilder.addPropertyValue("keepReference", Boolean.parseBoolean(e.getAttribute("enabled"))); } e = DomUtils.getChildElementByTagName(ksessionConf, CLOCK_TYPE); if (e != null && StringUtils.hasText(e.getAttribute("type"))) { rbaseConfBuilder.addPropertyValue("clockType", ClockType.resolveClockType(e.getAttribute("type"))); } factory.addPropertyValue("conf", rbaseConfBuilder.getBeanDefinition()); e = DomUtils.getChildElementByTagName(ksessionConf, WORK_ITEMS); if (e != null) { List<Element> children = DomUtils.getChildElementsByTagName(e, WORK_ITEM); if (children != null && !children.isEmpty()) { ManagedMap workDefs = new ManagedMap(); for (Element child : children) { workDefs.put(child.getAttribute("name"), new RuntimeBeanReference(child.getAttribute("ref"))); } factory.addPropertyValue("workItems", workDefs); } } } Element batch = DomUtils.getChildElementByTagName(element, "batch"); if (batch == null) { // just temporary legacy suppport batch = DomUtils.getChildElementByTagName(element, "script"); } if (batch != null) { // we know there can only ever be one ManagedList children = new ManagedList(); for (int i = 0, length = batch.getChildNodes().getLength(); i < length; i++) { Node n = batch.getChildNodes().item(i); if (n instanceof Element) { Element e = (Element) n; BeanDefinitionBuilder beanBuilder = null; if ("insert-object".equals(e.getLocalName())) { String ref = e.getAttribute("ref"); Element nestedElm = getFirstElement(e.getChildNodes()); beanBuilder = BeanDefinitionBuilder.genericBeanDefinition(InsertObjectCommand.class); if (StringUtils.hasText(ref)) { beanBuilder.addConstructorArgReference(ref); } else if (nestedElm != null) { beanBuilder.addConstructorArgValue( parserContext.getDelegate().parsePropertySubElement(nestedElm, null, null)); } else { throw new IllegalArgumentException( "insert-object must either specify a 'ref' attribute or have a nested bean"); } } else if ("set-global".equals(e.getLocalName())) { String ref = e.getAttribute("ref"); Element nestedElm = getFirstElement(e.getChildNodes()); beanBuilder = BeanDefinitionBuilder.genericBeanDefinition(SetGlobalCommand.class); beanBuilder.addConstructorArgValue(e.getAttribute("identifier")); if (StringUtils.hasText(ref)) { beanBuilder.addConstructorArgReference(ref); } else if (nestedElm != null) { beanBuilder.addConstructorArgValue( parserContext.getDelegate().parsePropertySubElement(nestedElm, null, null)); } else { throw new IllegalArgumentException( "set-global must either specify a 'ref' attribute or have a nested bean"); } } else if ("fire-until-halt".equals(e.getLocalName())) { beanBuilder = BeanDefinitionBuilder.genericBeanDefinition(FireUntilHaltCommand.class); } else if ("fire-all-rules".equals(e.getLocalName())) { beanBuilder = BeanDefinitionBuilder.genericBeanDefinition(FireAllRulesCommand.class); String max = e.getAttribute("max"); if (StringUtils.hasText(max)) { beanBuilder.addPropertyValue("max", max); } } else if ("start-process".equals(e.getLocalName())) { beanBuilder = BeanDefinitionBuilder.genericBeanDefinition(StartProcessCommand.class); String processId = e.getAttribute("process-id"); if (!StringUtils.hasText(processId)) { throw new IllegalArgumentException("start-process must specify a process-id"); } beanBuilder.addConstructorArgValue(processId); List<Element> params = DomUtils.getChildElementsByTagName(e, "parameter"); if (!params.isEmpty()) { ManagedMap map = new ManagedMap(); for (Element param : params) { String identifier = param.getAttribute("identifier"); if (!StringUtils.hasText(identifier)) { throw new IllegalArgumentException( "start-process paramaters must specify an identifier"); } String ref = param.getAttribute("ref"); Element nestedElm = getFirstElement(param.getChildNodes()); if (StringUtils.hasText(ref)) { map.put(identifier, new RuntimeBeanReference(ref)); } else if (nestedElm != null) { map.put(identifier, parserContext.getDelegate() .parsePropertySubElement(nestedElm, null, null)); } else { throw new IllegalArgumentException( "start-process parameters must either specify a 'ref' attribute or have a nested bean"); } } beanBuilder.addPropertyValue("parameters", map); } } else if ("signal-event".equals(e.getLocalName())) { beanBuilder = BeanDefinitionBuilder.genericBeanDefinition(SignalEventCommand.class); String processInstanceId = e.getAttribute("process-instance-id"); if (StringUtils.hasText(processInstanceId)) { beanBuilder.addConstructorArgValue(processInstanceId); } beanBuilder.addConstructorArgValue(e.getAttribute("event-type")); String ref = e.getAttribute("ref"); Element nestedElm = getFirstElement(e.getChildNodes()); if (StringUtils.hasText(ref)) { beanBuilder.addConstructorArgReference(ref); } else if (nestedElm != null) { beanBuilder.addConstructorArgValue( parserContext.getDelegate().parsePropertySubElement(nestedElm, null, null)); } else { throw new IllegalArgumentException( "signal-event must either specify a 'ref' attribute or have a nested bean"); } } if (beanBuilder == null) { throw new IllegalStateException("Unknow element: " + e.getLocalName()); } children.add(beanBuilder.getBeanDefinition()); } } factory.addPropertyValue("batch", children); } // find any kagent's for the current kbase and assign (only if this // is a stateless session) if (sessionType.equals("stateless")) { for (String beanName : parserContext.getRegistry().getBeanDefinitionNames()) { BeanDefinition def = parserContext.getRegistry().getBeanDefinition(beanName); if (KnowledgeAgentBeanFactory.class.getName().equals(def.getBeanClassName())) { PropertyValue pvalue = def.getPropertyValues().getPropertyValue("kbase"); RuntimeBeanReference tbf = (RuntimeBeanReference) pvalue.getValue(); if (kbase.equals(tbf.getBeanName())) { factory.addPropertyValue("knowledgeAgent", new RuntimeBeanReference(beanName)); } } } } return factory.getBeanDefinition(); }
From source file:edu.internet2.middleware.shibboleth.common.config.SpringConfigurationUtils.java
/** * Parses a bean definition using an xsi:type aware version of * BeanDefinitionParserDelegate.parseCustomElement(Element). * // w w w . ja v a2 s . co m * @param element element to parse * @param idAttribute attribute that carries the unique ID for the bean * @param parserContext current parser context * * @return bean definition reference */ public static RuntimeBeanReference parseCustomElement(Element element, String idAttribute, ParserContext parserContext) { createBeanDefinition(element, parserContext); RuntimeBeanReference beanRef = new RuntimeBeanReference(element.getAttributeNS(null, idAttribute)); beanRef.setSource(element); return beanRef; }
From source file:org.bigtester.ate.model.page.elementfind.ElementFinderIndexOfSameProcessor.java
/** * {@inheritDoc}/* ww w . ja v a 2 s . c o m*/ */ @Override public void postProcessBeanFactory(@Nullable ConfigurableListableBeanFactory beanFactory) throws BeansException { if (beanFactory == null) throw new IllegalStateException("Spring Container initialization error"); // String[] homePageNames = // beanFactory.getBeanNamesForType(IStepInputData.class, true, false); String[] elementFinders = beanFactory.getBeanNamesForType(AbstractElementFind.class, true, false); for (int index = 0; index < elementFinders.length; index++) { BeanDefinition elementFinderDef = beanFactory.getBeanDefinition(elementFinders[index]); Object indexOfSameElementsRef = null; // NOPMD if (elementFinderDef.getPropertyValues() .getPropertyValue(XsdElementConstants.ATTR_GENERICELEMENTFIND_INDEXOFSAMEELEMENTS) != null) { indexOfSameElementsRef = elementFinderDef.getPropertyValues() .getPropertyValue(XsdElementConstants.ATTR_GENERICELEMENTFIND_INDEXOFSAMEELEMENTS) .getValue(); } if (indexOfSameElementsRef == null) continue; String dataValue = ((RuntimeBeanReference) indexOfSameElementsRef).getBeanName(); if (null == dataValue) { throw new IllegalStateException("Spring Container sendKeyActionValue initialization error"); } else { try { beanFactory.getBeanDefinition(dataValue); } catch (NoSuchBeanDefinitionException NoBeanDef) { String idstr; int intDataValue; BeanDefinitionBuilder definitionBuilder; if (StringUtils.isEmpty(dataValue)) {// assign 0 intDataValue = 0; } else { try { intDataValue = Integer.parseInt(dataValue);//NOPMD } catch (NumberFormatException nonNumeric) { intDataValue = 0; } } definitionBuilder = BeanDefinitionBuilder .genericBeanDefinition(AutoIncrementalDataHolder.class); definitionBuilder.addConstructorArgValue(intDataValue); definitionBuilder.addConstructorArgValue(1); idstr = (String) elementFinderDef.getAttribute("id") + "_elementfinderIndexOfSameElements_ID"; getBdReg().registerBeanDefinition(idstr, definitionBuilder.getBeanDefinition()); elementFinderDef.getPropertyValues() .removePropertyValue(XsdElementConstants.ATTR_GENERICELEMENTFIND_INDEXOFSAMEELEMENTS); elementFinderDef.getPropertyValues().addPropertyValue( XsdElementConstants.ATTR_GENERICELEMENTFIND_INDEXOFSAMEELEMENTS, new RuntimeBeanReference(idstr)); } } } }
From source file:org.solmix.runtime.support.spring.ContainerPostProcessor.java
private Object getContainerByName(String name, ConfigurableListableBeanFactory factory, boolean create, String cn) {/* w ww. j ava2 s. c o m*/ if (!factory.containsBeanDefinition(name) && (create || Container.DEFAULT_CONTAINER_ID.equals(name))) { // DefaultListableBeanFactory df = (DefaultListableBeanFactory) factory; RootBeanDefinition rbd = new RootBeanDefinition(SpringContainer.class); if (cn != null) { // SpringContainer.setConfig rbd.setAttribute("config", new RuntimeBeanReference(cn)); } df.registerBeanDefinition(name, rbd); } else if (cn != null) { BeanDefinition bd = factory.getBeanDefinition(name); bd.getPropertyValues().addPropertyValue("config", new RuntimeBeanReference(cn)); } return new RuntimeBeanReference(name); }