List of usage examples for org.springframework.beans.factory.xml BeanDefinitionParserDelegate BeanDefinitionParserDelegate
public BeanDefinitionParserDelegate(XmlReaderContext readerContext)
From source file:org.codehaus.grepo.core.config.GenericRepositoryBeanDefinitionParser.java
/** * {@inheritDoc}//from w w w.j a v a2s. c o m */ @Override protected AbstractBeanDefinition parseInternal(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()); BeanDefinitionBuilder builder = BeanDefinitionParserHelper.createBuilderFromConfigContext(configContext, source, defaultGenericRepositoryFactoryType); delegate.parsePropertyElements(configContext.getElement(), builder.getRawBeanDefinition()); builder.addPropertyValue(GenericRepositoryConfigContext.PROXY_CLASS_PROPERTY, configContext.getProxyClass()); return builder.getBeanDefinition(); }
From source file:org.codehaus.grepo.core.config.GenericRepositoryFactoryBeanDefinitionParser.java
/** * {@inheritDoc}/*from w ww . j a v a2 s. c o m*/ */ @Override protected AbstractBeanDefinition parseInternal(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()); BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition().setAbstract(true); builder.getRawBeanDefinition().setSource(source); if (configContext.hasClazz()) { builder.getRawBeanDefinition().setBeanClassName(configContext.getClazz()); } else { // no 'class' attribute is set, so use default bean class... builder.getRawBeanDefinition().setBeanClass(defaultGenericRepositoryFactoryType); } delegate.parsePropertyElements(element, builder.getRawBeanDefinition()); return builder.getBeanDefinition(); }
From source file:org.codehaus.grepo.core.config.GenericRepositoryScanBeanDefinitionParser.java
/** * {@inheritDoc}/*from www . j a v a 2 s . c om*/ */ 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:org.seasar.dao.spring.autoregister.AbstractBeanAutoRegister.java
protected void register(final String packageName, final String shortClassName) { final String className = ClassUtil.concatName(packageName, shortClassName); final Class targetClass = ClassUtil.forName(className); Class enhancedClass;/* ww w.j a v a 2s . c o m*/ final AspectWeaver weaver = new AspectWeaver(targetClass, null); final Method[] methods = targetClass.getMethods(); for (int i = 0; i < methods.length; ++i) { final Method method = methods[i]; if (isBridgeMethod(method)) { continue; } final List interceptorList = new ArrayList(); for (int j = 0; j < interceptorNames.length; j++) { final MethodInterceptor interceptor = (MethodInterceptor) getBeanFactory() .getBean(interceptorNames[j]); interceptorList.add(interceptor); } if (!isApplicableAspect(method)) { continue; } if (interceptorList.size() == 0) { weaver.setInterceptors(method, new MethodInterceptor[0]); } else { weaver.setInterceptors(method, (MethodInterceptor[]) interceptorList .toArray(new MethodInterceptor[interceptorList.size()])); } } enhancedClass = weaver.generateClass(); final BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate( new XmlReaderContext(null, null, null, null, null, null)); final int autowireMode = delegate.getAutowireMode(autowire); final RootBeanDefinition bd = new RootBeanDefinition(); bd.setBeanClass(enhancedClass); bd.setAutowireMode(autowireMode); bd.setScope(scope); String beanName; if (autoNaming != null) { beanName = autoNaming.defineName(packageName, shortClassName); } else { beanName = className; } getBeanFactory().registerBeanDefinition(beanName, bd); }
From source file:grails.spring.BeanBuilder.java
protected DynamicElementReader createDynamicElementReader(String namespace, final boolean decorator) { NamespaceHandler handler = namespaceHandlers.get(namespace); ParserContext parserContext = new ParserContext(readerContext, new BeanDefinitionParserDelegate(readerContext)); final DynamicElementReader dynamicElementReader = new DynamicElementReader(namespace, namespaces, handler, parserContext) {/*from ww w. ja va 2 s . c o m*/ @Override protected void afterInvocation() { if (!decorator) { currentBeanConfig = null; } } }; dynamicElementReader.setClassLoader(classLoader); if (currentBeanConfig != null) { dynamicElementReader.setBeanConfiguration(currentBeanConfig); } else if (!decorator) { currentBeanConfig = new DefaultBeanConfiguration(namespace); dynamicElementReader.setBeanConfiguration(currentBeanConfig); } dynamicElementReader.setBeanDecorator(decorator); return dynamicElementReader; }
From source file:org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader.java
private GroovyDynamicElementReader createDynamicElementReader(String namespace) { XmlReaderContext readerContext = this.groovyDslXmlBeanDefinitionReader .createReaderContext(new DescriptiveResource("Groovy")); BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(readerContext); boolean decorating = (this.currentBeanDefinition != null); if (!decorating) { this.currentBeanDefinition = new GroovyBeanDefinitionWrapper(namespace); }// w w w . j a v a2 s .c o m return new GroovyDynamicElementReader(namespace, this.namespaces, delegate, this.currentBeanDefinition, decorating) { @Override protected void afterInvocation() { if (!this.decorating) { currentBeanDefinition = null; } } }; }
From source file:org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.java
protected BeanDefinitionParserDelegate createDelegate(XmlReaderContext readerContext, Element root, @Nullable BeanDefinitionParserDelegate parentDelegate) { BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(readerContext); delegate.initDefaults(root, parentDelegate); return delegate; }
From source file:org.springframework.context.groovy.GroovyBeanDefinitionReader.java
protected DynamicElementReader createDynamicElementReader(String namespace, final boolean decorator) { NamespaceHandler handler = namespaceHandlers.get(namespace); ParserContext parserContext = new ParserContext(readerContext, new BeanDefinitionParserDelegate(readerContext)); final DynamicElementReader dynamicElementReader = new DynamicElementReader(namespace, this.namespaces, handler, parserContext) {/*from w w w . j a v a2 s . c om*/ @Override protected void afterInvocation() { if (!decorator) { currentBeanConfig = null; } } }; dynamicElementReader.setClassLoader(classLoader); if (currentBeanConfig != null) { dynamicElementReader.setBeanConfiguration(currentBeanConfig); } else if (!decorator) { currentBeanConfig = new DefaultBeanConfiguration(namespace); dynamicElementReader.setBeanConfiguration(currentBeanConfig); } dynamicElementReader.setBeanDecorator(decorator); return dynamicElementReader; }