String[] aliases = beanFactory.getAliases(beanName); for (String alias : aliases) { if (isMatch(alias, mappedName)) {
@Override public String[] getAliases(String name) { String beanName = transformedBeanName(name); List<String> aliases = new ArrayList<>(); boolean factoryPrefix = name.startsWith(FACTORY_BEAN_PREFIX); String fullBeanName = beanName; if (factoryPrefix) { fullBeanName = FACTORY_BEAN_PREFIX + beanName; } if (!fullBeanName.equals(name)) { aliases.add(fullBeanName); } String[] retrievedAliases = super.getAliases(beanName); for (String retrievedAlias : retrievedAliases) { String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias; if (!alias.equals(name)) { aliases.add(alias); } } if (!containsSingleton(beanName) && !containsBeanDefinition(beanName)) { BeanFactory parentBeanFactory = getParentBeanFactory(); if (parentBeanFactory != null) { aliases.addAll(Arrays.asList(parentBeanFactory.getAliases(fullBeanName))); } } return StringUtils.toStringArray(aliases); }
private void aliasesAreRespected(Class<?> testClass, Supplier<TestBean> testBeanSupplier, String beanName) { TestBean testBean = testBeanSupplier.get(); BeanFactory factory = initBeanFactory(testClass); assertSame(testBean, factory.getBean(beanName)); Arrays.stream(factory.getAliases(beanName)).map(factory::getBean).forEach(alias -> assertSame(testBean, alias)); // method name should not be registered exception.expect(NoSuchBeanDefinitionException.class); factory.getBean("methodName"); }
for (String alias : beanFactory.getAliases(beanName)) { if (qualifier.test(alias)) { return true;
@Override public String[] getAliases(String name) { String beanName = transformedBeanName(name); List<String> aliases = new ArrayList<>(); boolean factoryPrefix = name.startsWith(FACTORY_BEAN_PREFIX); String fullBeanName = beanName; if (factoryPrefix) { fullBeanName = FACTORY_BEAN_PREFIX + beanName; } if (!fullBeanName.equals(name)) { aliases.add(fullBeanName); } String[] retrievedAliases = super.getAliases(beanName); for (String retrievedAlias : retrievedAliases) { String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias; if (!alias.equals(name)) { aliases.add(alias); } } if (!containsSingleton(beanName) && !containsBeanDefinition(beanName)) { BeanFactory parentBeanFactory = getParentBeanFactory(); if (parentBeanFactory != null) { aliases.addAll(Arrays.asList(parentBeanFactory.getAliases(fullBeanName))); } } return StringUtils.toStringArray(aliases); }
for (String alias : beanFactory.getAliases(beanName)) { if (qualifier.test(alias)) { return true;
TestBean alias1 = (TestBean) getBeanFactory().getBean("myalias"); assertTrue(tb1 == alias1); List tb1Aliases = Arrays.asList(getBeanFactory().getAliases("aliased")); assertEquals(2, tb1Aliases.size()); assertTrue(tb1Aliases.contains("myalias")); assertTrue(tb2 == alias3b); List tb2Aliases = Arrays.asList(getBeanFactory().getAliases("multiAliased")); assertEquals(4, tb2Aliases.size()); assertTrue(tb2Aliases.contains("alias1")); assertTrue(tb3 == alias4); assertTrue(tb3 == alias5); List tb3Aliases = Arrays.asList(getBeanFactory().getAliases("aliasWithoutId1")); assertEquals(2, tb3Aliases.size()); assertTrue(tb3Aliases.contains("aliasWithoutId2"));
@Override public String[] getAliases(String name) { String beanName = transformedBeanName(name); List<String> aliases = new ArrayList<String>(); boolean factoryPrefix = name.startsWith(FACTORY_BEAN_PREFIX); String fullBeanName = beanName; if (factoryPrefix) { fullBeanName = FACTORY_BEAN_PREFIX + beanName; } if (!fullBeanName.equals(name)) { aliases.add(fullBeanName); } String[] retrievedAliases = super.getAliases(beanName); for (String retrievedAlias : retrievedAliases) { String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias; if (!alias.equals(name)) { aliases.add(alias); } } if (!containsSingleton(beanName) && !containsBeanDefinition(beanName)) { BeanFactory parentBeanFactory = getParentBeanFactory(); if (parentBeanFactory != null) { aliases.addAll(Arrays.asList(parentBeanFactory.getAliases(fullBeanName))); } } return StringUtils.toStringArray(aliases); }
private boolean isMatch(String mappedName, String beanName) { boolean matched = PatternMatchUtils.simpleMatch(mappedName, beanName); if (!matched) { BeanFactory beanFactory = getBeanFactory(); if (beanFactory != null) { String[] aliases = beanFactory.getAliases(beanName); for (String alias : aliases) { matched = PatternMatchUtils.simpleMatch(mappedName, alias); if (matched) { break; } } } } return matched; }
TransactionManagerDto(String beanName,String dsName,BeanFactory beanFactory,BeanDefinition beanDefinition) { this.beanName = beanName; this.dsAliasNames = beanFactory.getAliases(dsName); this.dsName = dsName; this.beanDefinition = beanDefinition; //this.platformTransactionManager = (PlatformTransactionManager) beanFactory.getBean(beanName); } }
@Override public String[] getAliases(String name) { for (BeanFactory f : factories) { try { String[] s = f.getAliases(name); if (s != null) { return s; } } catch (BeansException e) { LOG.info("bean exception", e); } } return null; } }
/** * Resolves all names (including aliases) from the given Spring {@link BeanFactory} * assigned to the {@link #getAssociatedBeanName()}. * * @param beanFactory {@link BeanFactory} used to resolve the names assigned to the Spring bean * identified by the {@link #getAssociatedBeanName()}. * @return a {@link Set} of all the names assigned to the Spring bean identified by * the {@link #getAssociatedBeanName()} using the provided Spring {@link BeanFactory}. * @see org.springframework.beans.factory.BeanFactory * @see #getAssociatedBeanName() */ Set<String> resolveAndInitializeBeanNamesWithAliases(BeanFactory beanFactory) { String associatedBeanName = getAssociatedBeanName(); if (beanFactory != null && StringUtils.hasText(associatedBeanName)) { String[] beanAliases = beanFactory.getAliases(associatedBeanName); this.associatedBeanNameWithAliases = new TreeSet<>(); this.associatedBeanNameWithAliases.add(associatedBeanName); Collections.addAll(this.associatedBeanNameWithAliases, beanAliases); } return this.associatedBeanNameWithAliases; }
/** * Resolves all names (including aliases) from the given Spring {@link BeanFactory} * assigned to the {@link #getAssociatedBeanName()}. * * @param beanFactory {@link BeanFactory} used to resolve the names assigned to the Spring bean * identified by the {@link #getAssociatedBeanName()}. * @return a {@link Set} of all the names assigned to the Spring bean identified by * the {@link #getAssociatedBeanName()} using the provided Spring {@link BeanFactory}. * @see org.springframework.beans.factory.BeanFactory * @see #getAssociatedBeanName() */ Set<String> resolveAndInitializeBeanNamesWithAliases(BeanFactory beanFactory) { String associatedBeanName = getAssociatedBeanName(); if (beanFactory != null && StringUtils.hasText(associatedBeanName)) { String[] beanAliases = beanFactory.getAliases(associatedBeanName); this.associatedBeanNameWithAliases = new TreeSet<>(); this.associatedBeanNameWithAliases.add(associatedBeanName); Collections.addAll(this.associatedBeanNameWithAliases, beanAliases); } return this.associatedBeanNameWithAliases; }
public String[] getAliases(String name) throws NoSuchBeanDefinitionException { String beanName = transformedBeanName(name); // Check if bean actually exists in this bean factory. if (containsSingleton(beanName) || containsBeanDefinition(beanName)) { // If found, gather aliases. List aliases = new ArrayList(); synchronized (this.aliasMap) { for (Iterator it = this.aliasMap.entrySet().iterator(); it.hasNext();) { Map.Entry entry = (Map.Entry) it.next(); if (entry.getValue().equals(beanName)) { aliases.add(entry.getKey()); } } } return (String[]) aliases.toArray(new String[aliases.size()]); } else { // Not found -> check parent. if (this.parentBeanFactory != null) { return this.parentBeanFactory.getAliases(name); } throw new NoSuchBeanDefinitionException(beanName, toString()); } }
/** * Identify as bean to proxy if the bean name is in the configured list of names. */ @Override protected Object[] getAdvicesAndAdvisorsForBean(Class<?> beanClass, String beanName, TargetSource targetSource) { if (this.beanNames != null) { for (String mappedName : this.beanNames) { if (FactoryBean.class.isAssignableFrom(beanClass)) { if (!mappedName.startsWith(BeanFactory.FACTORY_BEAN_PREFIX)) { continue; } mappedName = mappedName.substring(BeanFactory.FACTORY_BEAN_PREFIX.length()); } if (isMatch(beanName, mappedName)) { return PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS; } BeanFactory beanFactory = getBeanFactory(); if (beanFactory != null) { String[] aliases = beanFactory.getAliases(beanName); for (String alias : aliases) { if (isMatch(alias, mappedName)) { return PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS; } } } } } return DO_NOT_PROXY; }
String[] aliases = beanFactory.getAliases(beanName); for (String alias : aliases) { if (isMatch(alias, mappedName)) {
@Override public String[] getAliases(String name) { String beanName = transformedBeanName(name); List<String> aliases = new ArrayList<String>(); boolean factoryPrefix = name.startsWith(FACTORY_BEAN_PREFIX); String fullBeanName = beanName; if (factoryPrefix) { fullBeanName = FACTORY_BEAN_PREFIX + beanName; } if (!fullBeanName.equals(name)) { aliases.add(fullBeanName); } String[] retrievedAliases = super.getAliases(beanName); for (String retrievedAlias : retrievedAliases) { String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias; if (!alias.equals(name)) { aliases.add(alias); } } if (!containsSingleton(beanName) && !containsBeanDefinition(beanName)) { BeanFactory parentBeanFactory = getParentBeanFactory(); if (parentBeanFactory != null) { aliases.addAll(Arrays.asList(parentBeanFactory.getAliases(fullBeanName))); } } return StringUtils.toStringArray(aliases); }
private boolean isMatch(String mappedName, String beanName) { boolean matched = PatternMatchUtils.simpleMatch(mappedName, beanName); if (!matched) { BeanFactory beanFactory = getBeanFactory(); if (beanFactory != null) { String[] aliases = beanFactory.getAliases(beanName); for (String alias : aliases) { matched = PatternMatchUtils.simpleMatch(mappedName, alias); if (matched) { break; } } } } return matched; }
/** * @see org.springframework.beans.factory.BeanFactory#getAliases(java.lang.String) */ public String[] getAliases(String name) throws NoSuchBeanDefinitionException { final IContextResolver contextResolver = this.getContextResolver(); final ContextResolverAnswer answer = contextResolver.resolveFactoryAndName(this, name); final String leafBeanName = answer.getLeafBeanName(); if (NormalizedPath.CURRENT_ELEMENT_NAME.equals(leafBeanName)) { return new String[0]; } else { final BeanFactory factory = answer.getOwnerFactory(); if (this == factory) { return super.getAliases(leafBeanName); } else { return factory.getAliases(leafBeanName); } } }
/** * @see org.springframework.beans.factory.BeanFactory#getAliases(java.lang.String) */ public String[] getAliases(String name) throws NoSuchBeanDefinitionException { final IContextResolver contextResolver = this.getContextResolver(); final ContextResolverAnswer answer = contextResolver.resolveFactoryAndName(this, name); final String leafBeanName = answer.getLeafBeanName(); if (NormalizedPath.CURRENT_ELEMENT_NAME.equals(leafBeanName)) { return new String[0]; } else { final BeanFactory factory = answer.getOwnerFactory(); if (this == factory) { return super.getAliases(leafBeanName); } else { return factory.getAliases(leafBeanName); } } }