List of usage examples for org.springframework.beans.factory.parsing BeanComponentDefinition BeanComponentDefinition
public BeanComponentDefinition(BeanDefinitionHolder beanDefinitionHolder)
From source file:org.opencredo.esper.config.xml.EsperListenerParser.java
/** * Parses out a set of configured esper statement listeners. * /*w ww . j a va 2 s . c om*/ * @param element * the esper listeners element * @param parserContext * the parser's current context * @return a list of configured esper statement listeners */ @SuppressWarnings("unchecked") public ManagedSet parseListeners(Element element, ParserContext parserContext) { ManagedSet listeners = new ManagedSet(); NodeList childNodes = element.getChildNodes(); for (int i = 0; i < childNodes.getLength(); i++) { Node child = childNodes.item(i); if (child.getNodeType() == Node.ELEMENT_NODE) { Element childElement = (Element) child; String localName = child.getLocalName(); if ("bean".equals(localName)) { BeanDefinitionHolder holder = parserContext.getDelegate() .parseBeanDefinitionElement(childElement); parserContext.registerBeanComponent(new BeanComponentDefinition(holder)); listeners.add(new RuntimeBeanReference(holder.getBeanName())); } else if ("ref".equals(localName)) { String ref = childElement.getAttribute("bean"); listeners.add(new RuntimeBeanReference(ref)); } } } return listeners; }
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:net.hasor.rsf.spring.parser.RsfDefinitionParser.java
/** ?Xml */ @Override/*from w w w . j a v a 2s . 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.github.bjoern2.yolotyrion.spring.xml.RepositorySingleBeanDefinitionParser.java
protected void registerBean(BeanDefinition def, String name, ParserContext parserContext) { BeanDefinitionHolder holder = new BeanDefinitionHolder(def, name); BeanComponentDefinition component = new BeanComponentDefinition(holder); parserContext.registerBeanComponent(component); }
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 w w w.j a v a 2 s . 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; }
From source file:org.jdal.vaadin.beans.TableBeanDefinitionParser.java
/** * {@inheritDoc}//w w w. j a v a 2s. c o m */ @SuppressWarnings("rawtypes") public BeanDefinition parse(Element element, ParserContext parserContext) { // Defaults String entity = null; if (element.hasAttribute(ENTITY)) entity = element.getAttribute(ENTITY); String name = StringUtils.uncapitalize(StringUtils.substringAfterLast(entity, ".")); if (element.hasAttribute(ID)) name = element.getAttribute(ID); parserContext.pushContainingComponent( new CompositeComponentDefinition(name, parserContext.extractSource(element))); // Bean names String pageableTableBeanName = name + PAGEABLE_TABLE_SUFFIX; String tableBeanName = name + TABLE_SUFFIX; String dataSource = name + SERVICE_SUFFIX; String paginator = PAGINATOR_VIEW; String editor = name + EDITOR_SUFFIX; String actions = DefaultsBeanDefinitionParser.DEFAULT_TABLE_ACTIONS; String guiFactory = DefaultsBeanDefinitionParser.DEFAULT_GUI_FACTORY; String scope = BeanDefinition.SCOPE_PROTOTYPE; String pageableTableClass = DEFAULT_PAGEABLE_TABLE_CLASS; String tableClass = DEFAULT_TABLE_CLASS; if (element.hasAttribute(DATA_SOURCE)) dataSource = element.getAttribute(DATA_SOURCE); if (element.hasAttribute(PAGINATOR)) paginator = element.getAttribute(PAGINATOR); if (element.hasAttribute(ACTIONS)) actions = element.getAttribute(ACTIONS); if (element.hasAttribute(GUI_FACTORY)) guiFactory = element.getAttribute(GUI_FACTORY); if (element.hasAttribute(EDITOR)) editor = element.getAttribute(EDITOR); if (element.hasAttribute(SCOPE)) scope = element.getAttribute(SCOPE); if (element.hasAttribute(PAGEABLE_TABLE_CLASS)) pageableTableClass = element.getAttribute(PAGEABLE_TABLE_CLASS); if (element.hasAttribute(TABLE_CLASS)) tableClass = element.getAttribute(TABLE_CLASS); // create PageableTable BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(pageableTableClass); bdb.setScope(scope); bdb.addPropertyReference(DATA_SOURCE, dataSource); bdb.addPropertyReference(PAGINATOR_VIEW, paginator); bdb.addPropertyValue(NAME, pageableTableBeanName); bdb.addPropertyReference(TABLE, tableBeanName); bdb.addPropertyReference(GUI_FACTORY, guiFactory); bdb.addPropertyValue(EDITOR_NAME, editor); bdb.addPropertyValue(ENTITY_CLASS, entity); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, TABLE_SERVICE); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, FILTER); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, MESSAGE_SOURCE); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, FILTER_FORM); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, SORT_PROPERTY); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, ORDER); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, PAGE_SIZE); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, NATIVE_BUTTONS); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, PROPAGATE_SERVICE); if (!element.hasAttribute(USE_ACTIONS) || "true".equals(element.getAttribute(USE_ACTIONS))) bdb.addPropertyReference(ACTIONS, actions); parserContext.getDelegate().parseBeanDefinitionAttributes(element, pageableTableBeanName, null, bdb.getBeanDefinition()); BeanDefinitionHolder holder = new BeanDefinitionHolder(bdb.getBeanDefinition(), pageableTableBeanName); // Test Decorators like aop:scoped-proxy NodeList childNodes = element.getChildNodes(); for (int i = 0; i < childNodes.getLength(); i++) { Node n = childNodes.item(i); if (Node.ELEMENT_NODE != n.getNodeType() || COLUMNS.equals(n.getLocalName())) continue; NamespaceHandler handler = parserContext.getReaderContext().getNamespaceHandlerResolver() .resolve(n.getNamespaceURI()); if (handler != null) { holder = handler.decorate(n, holder, parserContext); } } parserContext.registerBeanComponent(new BeanComponentDefinition(holder)); // create ConfigurableTable bdb = BeanDefinitionBuilder.genericBeanDefinition(tableClass); bdb.setScope(BeanDefinition.SCOPE_PROTOTYPE); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, FIELD_FACTORY); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, MULTISELECT); if (element.hasAttribute(SELECTABLE)) { bdb.addPropertyValue(SELECTABLE, element.getAttribute(SELECTABLE)); } else { // set selectable by default bdb.addPropertyValue(SELECTABLE, true); } // parse columns NodeList nl = element.getElementsByTagNameNS(element.getNamespaceURI(), COLUMNS); if (nl.getLength() > 0) { List columns = parserContext.getDelegate().parseListElement((Element) nl.item(0), bdb.getRawBeanDefinition()); bdb.addPropertyValue(COLUMNS, columns); } registerBeanDefinition(element, parserContext, tableBeanName, bdb); parserContext.popAndRegisterContainingComponent(); return null; }
From source file:org.mule.config.spring.MuleHierarchicalBeanDefinitionParserDelegate.java
protected void registerBeanDefinitionHolder(BeanDefinitionHolder bdHolder) { //bdHolder = decorateBeanDefinitionIfRequired(ele, bdHolder); // Register the final decorated instance. BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder, getReaderContext().getRegistry()); // Send registration event. getReaderContext().fireComponentRegistered(new BeanComponentDefinition(bdHolder)); }
From source file:org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.java
/** * Process the given bean element, parsing the bean definition * and registering it with the registry. *//*from w w w. ja v a2 s. c om*/ protected void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) { BeanDefinitionHolder bdHolder = delegate.parseBeanDefinitionElement(ele); if (bdHolder != null) { bdHolder = delegate.decorateBeanDefinitionIfRequired(ele, bdHolder); try { // Register the final decorated instance. BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder, getReaderContext().getRegistry()); } catch (BeanDefinitionStoreException ex) { getReaderContext().error( "Failed to register bean definition with name '" + bdHolder.getBeanName() + "'", ele, ex); } // Send registration event. getReaderContext().fireComponentRegistered(new BeanComponentDefinition(bdHolder)); } }
From source file:org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig.java
/** * register the default annotation processors *//* ww w. j a v a 2 s . c o m*/ protected void registerAnnotationProcessors(ReaderEventListener eventListener) { Set<BeanDefinitionHolder> processorDefinitions = AnnotationConfigUtils .registerAnnotationConfigProcessors(registry, null); // Nest the concrete beans in the surrounding component. for (BeanDefinitionHolder processorDefinition : processorDefinitions) { eventListener.componentRegistered(new BeanComponentDefinition(processorDefinition)); } }