List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder getBeanDefinition
public AbstractBeanDefinition getBeanDefinition()
From source file:org.smf4j.spring.RegistryNodeTemplateDefinitionParser.java
protected String createNodeTemplateRef(ParserContext context, Element element) { String id = element.getAttribute(REF_ATTR); if (!StringUtils.hasLength(id)) { context.getReaderContext().error("<node-template> MUST must have a 'name'.", context.extractSource(element)); return null; }/*from w ww. j a v a 2s .c o m*/ BeanDefinitionBuilder bdb = getBdb(RegistryNodeTemplateProxy.class); String newName = element.getAttribute(NAME_ATTR); if (StringUtils.hasLength(newName)) { bdb.addPropertyValue(NAME_ATTR, newName); } bdb.addPropertyReference(TEMPLATE_ATTR, id); return context.getReaderContext().registerWithGeneratedName(bdb.getBeanDefinition()); }
From source file:com.tacitknowledge.flip.spring.config.InterceptHandlerParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { XmlBeanFactory factory = new XmlBeanFactory( new ClassPathResource("com/tacitknowledge/flip/spring/context.xml")); BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder.rootBeanDefinition(FlipSpringAspect.class); String defaultUrlValue = element.getAttribute("default-url"); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.addPropertyValue("defaultValue", defaultUrlValue); propertyValues.addPropertyValue(FlipSpringAspect.FEATURE_SERVICE_BEAN_NAME, new RuntimeBeanReference(FlipSpringAspect.FEATURE_SERVICE_BEAN_NAME)); beanBuilder.getRawBeanDefinition().setPropertyValues(propertyValues); for (String name : factory.getBeanDefinitionNames()) { parserContext.getRegistry().registerBeanDefinition(name, factory.getBeanDefinition(name)); }// ww w .j a va 2 s . c om parserContext.getRegistry().registerBeanDefinition(FlipSpringAspect.ASPECT_BEAN_NAME, beanBuilder.getBeanDefinition()); return null; }
From source file:org.codehaus.grepo.core.config.GenericRepositoryScanBeanDefinitionParser.java
/** * {@inheritDoc}/*from w w w. j a v a2 s . c o m*/ */ public BeanDefinition parse(Element element, ParserContext parserContext) { Object source = parserContext.extractSource(element); GenericRepositoryConfigContext configContext = new GenericRepositoryConfigContext(element); // init bean defintion parse delegate... BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(parserContext.getReaderContext()); delegate.initDefaults(element.getOwnerDocument().getDocumentElement()); GenericRepositoryBeanDefinitionScanner scanner = configureScanner(configContext, parserContext); parseBeanNameGenerator(configContext, parserContext); String[] basePackages = StringUtils.commaDelimitedListToStringArray(configContext.getBasePackage()); for (String basePackage : basePackages) { Set<BeanDefinition> candidates = scanner.findCandidateComponents(basePackage); for (BeanDefinition candidate : candidates) { BeanDefinitionBuilder builder = BeanDefinitionParserHelper .createBuilderFromConfigContext(configContext, source, defaultGenericRepositoryFactoryType); delegate.parsePropertyElements(configContext.getElement(), builder.getRawBeanDefinition()); builder.addPropertyValue(GenericRepositoryConfigContext.PROXY_CLASS_PROPERTY, candidate.getBeanClassName()); String beanName = beanNameGenerator.generateBeanName(candidate, parserContext.getRegistry()); parserContext .registerBeanComponent(new BeanComponentDefinition(builder.getBeanDefinition(), beanName)); logger.debug("Registered generic repository bean '{}'", beanName); } } return null; }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition createDefaultProfileOptions() { BeanDefinitionBuilder builder = createBean(WebSSOProfileOptions.class); builder.addPropertyValue("includeScoping", "false"); String attr = getAttribute(ROOT_APP_ID_ATTRIBUTE); if (attr != null && attr.length() > 0) { builder.addPropertyValue("providerName", attr); }/* w w w.j a v a 2s . c o m*/ return builder.getBeanDefinition(); }
From source file:org.smf4j.spring.RegistryNodeTemplateDefinitionParser.java
protected String parseCustom(ParserContext context, Element element, BeanDefinition containingBean) { String name = getName(context, element); String ref = element.getAttribute(REF_ATTR); String customBeanId = null;/*from w w w . j ava2 s . c om*/ if (StringUtils.hasLength(ref)) { customBeanId = ref; } else { // Grab the single child element, that should define or point // to the custom Accumulator or Calcuation bean definition. NodeList childList = element.getChildNodes(); Element child = null; for (int i = 0; i < childList.getLength(); i++) { Node childNode = childList.item(i); if (!(childNode instanceof Element)) { continue; } if (child != null) { context.getReaderContext() .error("'custom' elements without a 'ref' attribute must " + "have exactly one 'bean', 'ref', or 'idref' child" + " element.", context.extractSource(element)); } child = (Element) childNode; } if (child == null) { context.getReaderContext() .error("'custom' elements must specify a 'ref' attribute or a " + "single 'bean', 'ref', or 'idref' child element.", context.extractSource(element)); } // Parse the contents of the custom bean Object o = context.getDelegate().parsePropertySubElement(child, containingBean); if (o instanceof BeanDefinitionHolder) { BeanDefinitionHolder bdh = (BeanDefinitionHolder) o; customBeanId = bdh.getBeanName(); if (!StringUtils.hasLength(customBeanId)) { // They didn't give their bean an id, so we'll need to // generate one for it now. customBeanId = context.getReaderContext().generateBeanName(bdh.getBeanDefinition()); } // Register this bean context.getRegistry().registerBeanDefinition(customBeanId, bdh.getBeanDefinition()); } else if (o instanceof RuntimeBeanReference) { RuntimeBeanReference rbr = (RuntimeBeanReference) o; customBeanId = rbr.getBeanName(); } else if (o instanceof RuntimeBeanNameReference) { RuntimeBeanNameReference rbnr = (RuntimeBeanNameReference) o; customBeanId = rbnr.getBeanName(); } } // Create proxy that associates the given name with this child BeanDefinitionBuilder accProxyBdb = getBdb(RegistryNodeChildProxy.class); accProxyBdb.addPropertyValue(NAME_ATTR, name); accProxyBdb.addPropertyValue(CHILD_ATTR, customBeanId); accProxyBdb.getRawBeanDefinition().setSource(element); return context.getReaderContext().registerWithGeneratedName(accProxyBdb.getBeanDefinition()); }
From source file:org.bigtester.ate.xmlschema.TestProjectBeanDefinitionParser.java
/** * {@inheritDoc}// w w w .j a v a2 s . co m */ @Override protected @Nullable 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"); // this will never be null since the schema explicitly requires that a // value be supplied BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(TestProject.class); int stepThinkTime = Integer .parseInt(element.getAttribute(XsdElementConstants.ATTR_TESTPROJECT_STEPTHINKTIME)); factory.addPropertyValue(XsdElementConstants.ATTR_TESTPROJECT_STEPTHINKTIME, stepThinkTime); String globalInitXml = element.getAttribute(XsdElementConstants.ATTR_TESTPROJECT_GLOBALINITXMLFILE); factory.addConstructorArgValue(globalInitXml); List<Element> suiteListElements = (List<Element>) DomUtils.getChildElementsByTagName(element, XsdElementConstants.ELEMENT_TESTSUITE); if (suiteListElements != null && !suiteListElements.isEmpty()) { parseSuiteComponents(suiteListElements, factory, parserContext); } return factory.getBeanDefinition(); }
From source file:com.dangdang.ddframe.job.lite.spring.namespace.parser.common.AbstractJobBeanDefinitionParser.java
@Override protected AbstractBeanDefinition parseInternal(final Element element, final ParserContext parserContext) { BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(SpringJobScheduler.class); factory.setInitMethodName("init"); factory.setDestroyMethodName("shutdown"); factory.addConstructorArgValue(BeanDefinitionBuilder .rootBeanDefinition(element.getAttribute(CLASS_ATTRIBUTE)).getBeanDefinition()); factory.addConstructorArgReference(element.getAttribute(REGISTRY_CENTER_REF_ATTRIBUTE)); factory.addConstructorArgValue(createJobConfiguration(element)); BeanDefinition jobEventConfig = createJobEventConfig(element); if (null != jobEventConfig) { factory.addConstructorArgValue(jobEventConfig); }/*from ww w . j a v a 2s .c om*/ factory.addConstructorArgValue(createJobListeners(element)); return factory.getBeanDefinition(); }
From source file:org.apache.ftpserver.config.spring.CommandFactoryBeanDefinitionParser.java
/** * {@inheritDoc}// w w w .java2s .c o m */ @Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder .genericBeanDefinition(CommandFactoryFactory.class); ManagedMap commands = new ManagedMap(); List<Element> childs = SpringUtil.getChildElements(element); for (Element commandElm : childs) { String name = commandElm.getAttribute("name"); Object bean = SpringUtil.parseSpringChildElement(commandElm, parserContext, builder); commands.put(name, bean); } factoryBuilder.addPropertyValue("commandMap", commands); if (StringUtils.hasText(element.getAttribute("use-default"))) { factoryBuilder.addPropertyValue("useDefaultCommands", Boolean.valueOf(element.getAttribute("use-default"))); } BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String factoryId = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryId); registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(factoryId); builder.getRawBeanDefinition().setFactoryMethodName("createCommandFactory"); }
From source file:org.opencredo.cloud.storage.si.adapter.config.InboundChannelAdapterParser.java
/** * @param element/* w ww.j ava 2 s .c o m*/ * @param parserContext */ @Override protected BeanMetadataElement parseSource(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(ReadingMessageSource.class.getName()); String templateRef = element.getAttribute(AdapterParserUtils.TEMPLATE_REF_ATTRIBUTE); String containerName = element.getAttribute(AdapterParserUtils.CONTAINER_NAME_ATTRIBUTE); String filterRef = element.getAttribute(AdapterParserUtils.FILTER_ATTRIBUTE); String comparatorRef = element.getAttribute(AdapterParserUtils.COMPARATOR_ATTRIBUTE); builder.addConstructorArgReference(templateRef); builder.addConstructorArgValue(containerName); if (StringUtils.hasText(filterRef)) { builder.addConstructorArgReference(filterRef); } if (StringUtils.hasText(comparatorRef)) { builder.addConstructorArgReference(comparatorRef); } return builder.getBeanDefinition(); }
From source file:org.apache.smscserver.config.spring.CommandFactoryBeanDefinitionParser.java
/** * {@inheritDoc}// www . j a va 2 s .co m */ @SuppressWarnings("unchecked") @Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder .genericBeanDefinition(CommandFactoryFactory.class); ManagedMap commands = new ManagedMap(); List<Element> childs = SpringUtil.getChildElements(element); for (Element commandElm : childs) { String name = commandElm.getAttribute("protocol-id"); Object bean = SpringUtil.parseSpringChildElement(commandElm, parserContext, builder); commands.put(name, bean); } factoryBuilder.addPropertyValue("commandMap", commands); if (StringUtils.hasText(element.getAttribute("use-default"))) { factoryBuilder.addPropertyValue("useDefaultCommands", Boolean.valueOf(element.getAttribute("use-default"))); } BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String factoryId = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryId); this.registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(factoryId); builder.getRawBeanDefinition().setFactoryMethodName("createCommandFactory"); }