@Override public Set<String> getBeanAliases(Class<?> type, String name) { Set<String> aliases = new LinkedHashSet<>(); for(AliasDefinition ad : bds.aliasDefinitions.values()) { if(type.equals(ad.getType()) && name.equals(ad.name)) { aliases.add(ad.getAlias()); } } return aliases; }
protected void addAliasDefinition(AliasDefinition ad){ if(!Strings.isEmpty(ad.getId())){ AliasDefinition existsAliasDefinition = bds.aliasDefinitions.get(ad.getAlias()); if(null != existsAliasDefinition){ throw new BeanDefinitionException("Found duplicated bean alias '" + ad.getAlias() + "' in resource : " + ad.getSource() + ", " + ad.getSource()); } bds.aliasDefinitions.put(ad.getAlias(),ad); }else{ String key = ad.getType().getName() + "$" + ad.getAlias(); AliasDefinition existsAliasDefinition = bds.aliasDefinitions.get(key); if(null != existsAliasDefinition){ throw new BeanDefinitionException("Found duplicated bean alias '" + key + "' in resource : " + ad.getSource() + ", " + ad.getSource()); } bds.aliasDefinitions.put(key,ad); } }
if(null == findBeanDefinition(aliasDefinition.getId())){ throw new BeanDefinitionException("bean id '" + aliasDefinition.getId() + "' defined in alias '" + aliasDefinition.getAlias() + "' not found, source : " + aliasDefinition.getSource()); BeanDefinitionBase bean = findBeanDefinition(aliasDefinition.getAlias()); if(null != bean){ throw new BeanDefinitionException("the alias name '" + aliasDefinition.getAlias() + "' aleady used by another bean, please check the xmls : " + aliasDefinition.getSource() + "," + bean.getSource()); if(null == findBeanDefinition(aliasDefinition.getType(),aliasDefinition.getName())){ throw new BeanDefinitionException("Bean name '" + aliasDefinition.getName() + "' defined in alias '" + aliasDefinition.getAlias() + "' not found, source : " + aliasDefinition.getSource()); BeanDefinitionBase bean = findBeanDefinition(aliasDefinition.getType(),aliasDefinition.getAlias()); if(null != bean){ throw new BeanDefinitionException("The alias name '" + aliasDefinition.getAlias() + "' aleady used by another bean, please check the xmls : " + aliasDefinition.getSource() + "," + bean.getSource());