private String resolveId(Element element, AbstractBeanDefinition definition, ParserContext pc) throws BeanDefinitionStoreException { String id = element.getAttribute("id"); if (pc.isNested()) { // We're inside an <authentication-provider> element if (!StringUtils.hasText(id)) { id = pc.getReaderContext().generateBeanName(definition); } BeanDefinition container = pc.getContainingBeanDefinition(); container.getPropertyValues().add("userDetailsService", new RuntimeBeanReference(id)); } if (StringUtils.hasText(id)) { return id; } // If top level, use the default name or throw an exception if already used if (pc.getRegistry().containsBeanDefinition(BeanIds.USER_DETAILS_SERVICE)) { throw new BeanDefinitionStoreException("No id supplied and another " + "bean is already registered as " + BeanIds.USER_DETAILS_SERVICE); } return BeanIds.USER_DETAILS_SERVICE; } }
public BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, ParserContext parserContext, Class<?> cls) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(); builder.getRawBeanDefinition().setBeanClass(cls); builder.getRawBeanDefinition() .setSource(parserContext.extractSource(element)); if (parserContext.isNested()) { builder.setScope(parserContext.getContainingBeanDefinition() .getScope()); } if (parserContext.isDefaultLazyInit()) { builder.setLazyInit(true); } return builder; }
public BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, ParserContext parserContext, Class<?> cls) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(); builder.getRawBeanDefinition().setBeanClass(cls); builder.getRawBeanDefinition() .setSource(parserContext.extractSource(element)); if (parserContext.isNested()) { builder.setScope(parserContext.getContainingBeanDefinition() .getScope()); } if (parserContext.isDefaultLazyInit()) { builder.setLazyInit(true); } return builder; }
BeanDefinition containingBd = parserContext.getContainingBeanDefinition(); if (containingBd != null) {
BeanDefinition containingBd = parserContext.getContainingBeanDefinition(); if (containingBd != null) {
private String resolveId(Element element, AbstractBeanDefinition definition, ParserContext pc) throws BeanDefinitionStoreException { String id = element.getAttribute("id"); if (pc.isNested()) { // We're inside an <authentication-provider> element if (!StringUtils.hasText(id)) { id = pc.getReaderContext().generateBeanName(definition); } BeanDefinition container = pc.getContainingBeanDefinition(); container.getPropertyValues().add("userDetailsService", new RuntimeBeanReference(id)); } if (StringUtils.hasText(id)) { return id; } // If top level, use the default name or throw an exception if already used if (pc.getRegistry().containsBeanDefinition(BeanIds.USER_DETAILS_SERVICE)) { throw new BeanDefinitionStoreException("No id supplied and another " + "bean is already registered as " + BeanIds.USER_DETAILS_SERVICE); } return BeanIds.USER_DETAILS_SERVICE; } }
@Override protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) throws BeanDefinitionStoreException { String id = super.resolveId(element, definition, parserContext); BeanDefinition containingBeanDefinition = parserContext.getContainingBeanDefinition(); if (containingBeanDefinition != null) { String nestedChainIdPrefix = (String) containingBeanDefinition.getAttribute(SI_CHAIN_NESTED_ID_ATTRIBUTE); if (StringUtils.hasText(nestedChainIdPrefix)) { id = nestedChainIdPrefix + "$child." + id; } } definition.setAttribute(SI_CHAIN_NESTED_ID_ATTRIBUTE, id); return id; }
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { Object beanOrRef = SpringExtUtil.parseBean(element, parserContext, parserContext.getContainingBeanDefinition()); AbstractBeanDefinition abd; if (beanOrRef instanceof BeanReference) { BeanDefinitionBuilder refBean = BeanDefinitionBuilder.genericBeanDefinition(BeanReferenceFactoryBean.class); refBean.addPropertyValue("targetBeanName", ((RuntimeBeanReference) beanOrRef).getBeanName()); abd = refBean.getBeanDefinition(); } else if (beanOrRef instanceof BeanDefinitionHolder) { BeanDefinition bd = ((BeanDefinitionHolder) beanOrRef).getBeanDefinition(); assertTrue(bd instanceof AbstractBeanDefinition, "unexpected bean definition type: %s", bd); abd = (AbstractBeanDefinition) bd; } else { abd = null; unreachableCode("unexpected bean definition type: %s", beanOrRef); } return abd; } }
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { Object beanOrRef = SpringExtUtil.parseBean(element, parserContext, parserContext.getContainingBeanDefinition()); AbstractBeanDefinition abd; if (beanOrRef instanceof BeanReference) { BeanDefinitionBuilder refBean = BeanDefinitionBuilder.genericBeanDefinition(BeanReferenceFactoryBean.class); refBean.addPropertyValue("targetBeanName", ((RuntimeBeanReference) beanOrRef).getBeanName()); abd = refBean.getBeanDefinition(); } else if (beanOrRef instanceof BeanDefinitionHolder) { BeanDefinition bd = ((BeanDefinitionHolder) beanOrRef).getBeanDefinition(); assertTrue(bd instanceof AbstractBeanDefinition, "unexpected bean definition type: %s", bd); abd = (AbstractBeanDefinition) bd; } else { abd = null; unreachableCode("unexpected bean definition type: %s", beanOrRef); } return abd; } }
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { Object beanOrRef = SpringExtUtil.parseBean(element, parserContext, parserContext.getContainingBeanDefinition()); AbstractBeanDefinition abd; if (beanOrRef instanceof BeanReference) { BeanDefinitionBuilder refBean = BeanDefinitionBuilder.genericBeanDefinition(BeanReferenceFactoryBean.class); refBean.addPropertyValue("targetBeanName", ((RuntimeBeanReference) beanOrRef).getBeanName()); abd = refBean.getBeanDefinition(); } else if (beanOrRef instanceof BeanDefinitionHolder) { BeanDefinition bd = ((BeanDefinitionHolder) beanOrRef).getBeanDefinition(); assertTrue(bd instanceof AbstractBeanDefinition, "unexpected bean definition type: %s", bd); abd = (AbstractBeanDefinition) bd; } else { abd = null; unreachableCode("unexpected bean definition type: %s", beanOrRef); } return abd; } }
protected void attachSourceDefinition(ParserContext parserContext, BeanDefinition definition) { MutablePropertyValues propertyValues = parserContext.getContainingBeanDefinition() .getPropertyValues(); propertyValues.addPropertyValue("messageSource", definition); }
private void attachSourceDefinition(ParserContext parserContext, BeanDefinition definition) { MutablePropertyValues propertyValues = parserContext.getContainingBeanDefinition() .getPropertyValues(); propertyValues.addPropertyValue("messageSource", definition); } }
if (parserContext.isNested()) { builder.setScope(parserContext.getContainingBeanDefinition().getScope());
@Override public BeanDefinition parse(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(DefaultTempEntryRenamingStrategy.class); builder.addPropertyValue("tempSuffix", getString(element, ATT_TEMP_SUFFIX, DefaultTempEntryRenamingStrategy.DEFAULT_TEMP_SUFFIX)); AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); parserContext.getContainingBeanDefinition().getPropertyValues() .addPropertyValue("renamingStrategy", beanDefinition); return beanDefinition; } }
@Override public BeanDefinition parse(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(DefaultTempEntryRenamingStrategy.class); builder.addPropertyValue("tempSuffix", getString(element, ATT_TEMP_SUFFIX, DefaultTempEntryRenamingStrategy.DEFAULT_TEMP_SUFFIX)); AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); parserContext.getContainingBeanDefinition().getPropertyValues() .addPropertyValue("renamingStrategy", beanDefinition); return beanDefinition; } }
@Override public BeanDefinition parse(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(DefaultTempEntryRenamingStrategy.class); builder.addPropertyValue("tempSuffix", getString(element, ATT_TEMP_SUFFIX, DefaultTempEntryRenamingStrategy.DEFAULT_TEMP_SUFFIX)); AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); parserContext.getContainingBeanDefinition().getPropertyValues() .addPropertyValue("renamingStrategy", beanDefinition); return beanDefinition; } }
@Override public BeanDefinition parse(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(DefaultTempEntryRenamingStrategy.class); builder.addPropertyValue("tempSuffix", getString(element, ATT_TEMP_SUFFIX, DefaultTempEntryRenamingStrategy.DEFAULT_TEMP_SUFFIX)); AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); parserContext.getContainingBeanDefinition().getPropertyValues() .addPropertyValue("renamingStrategy", beanDefinition); return beanDefinition; } }
@Override protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) throws BeanDefinitionStoreException { String id = super.resolveId(element, definition, parserContext); BeanDefinition containingBeanDefinition = parserContext.getContainingBeanDefinition(); if (containingBeanDefinition != null) { String nestedChainIdPrefix = (String) containingBeanDefinition.getAttribute(SI_CHAIN_NESTED_ID_ATTRIBUTE); if (StringUtils.hasText(nestedChainIdPrefix)) { id = nestedChainIdPrefix + "$child." + id; } } definition.setAttribute(SI_CHAIN_NESTED_ID_ATTRIBUTE, id); return id; }
protected void applyDefaults(ParserContext parserContext, OsgiDefaultsDefinition defaults, BeanDefinitionBuilder builder) { if (parserContext.isNested()) { // Inner bean definition must receive same scope as containing bean. builder.setScope(parserContext.getContainingBeanDefinition().getScope()); } if (parserContext.isDefaultLazyInit()) { // Default-lazy-init applies to custom bean definitions as well. builder.setLazyInit(true); } }
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(CassandraClusterFactoryBean.class); builder.setLazyInit(parserContext.isDefaultLazyInit()); builder.getRawBeanDefinition().setDestroyMethodName("destroy"); builder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); if (parserContext.isNested()) { // inner bean definitions must have same scope as containing bean builder.setScope(parserContext.getContainingBeanDefinition().getScope()); } doParse(element, parserContext, builder); return builder.getBeanDefinition(); }