protected void loadVariableFromProviders(BeanFactory beanFactory){ for(Entry<VariableProvider, BeanDefinition> providerEntry : beanFactory.getBeansWithDefinition(VariableProvider.class).entrySet()){ VariableProvider provider = providerEntry.getKey(); Object source = providerEntry.getValue().getSource(); List<VariableDefinition> providedVariables = provider.getVariables(); for(VariableDefinition providerVd : providedVariables){ String key = providerVd.getName().toLowerCase(); VariableDefinition vd = variables.get(key); if(null != vd){ throw new VariableConfigException("Found duplicated variable '" + vd.getName() + "', check source [" + vd.getScope() + "," + source + "]"); } variables.put(key,providerVd); } } }
protected void loadVariableFromBeans(BeanFactory beanFactory){ Map<Variable,BeanDefinition> beans = beanFactory.getBeansWithDefinition(Variable.class); beans.putAll(beanFactory.getBeansWithDefinition(VariableWithContext.class)); for(Entry<Variable,BeanDefinition> entry : beans.entrySet()){ BeanDefinition bd = entry.getValue(); String name = bd.getName(); if(!Strings.isEmpty(name)){ Variable variable = entry.getKey(); Scope scope = null; if(variable instanceof ScopedVariable){ scope = ((ScopedVariable) variable).getScope(); } if(null == scope){ scope = defaultScope; } variables.put(name.toLowerCase(), new VariableDefinition(bd.getSource(), name, scope, variable)); } } }
throw new BeanDefinitionException("No matched method '" + methodName + "' with " + md.getArguments().size() + " arguments in '" + bd + "', source : " + bd.getSource());
protected void register(EventListenerRegistration reg,BeanDefinition bd){ String[] categories = reg.getCategories(); String[] eventNames = reg.getEventNames(); if(Arrays2.isEmpty(categories) && Arrays2.isEmpty(eventNames)){ throw new EventRegistrationException("'categories' or 'eventNames' must be defined in listener registration, source : " + bd.getSource()); } EventListener listener = reg.getListener(); if(null != categories){ for(String category : categories){ if(!eventManager.isEventCategoryRegistered(category)){ throw new EventRegistrationException("event category '" + category + "' not register, make sure you type the correct name, source : " + bd.getSource()); } eventManager.addEventCategoryListener(category, listener); } } if(null != eventNames){ for(String eventName : eventNames){ if(!eventManager.isEventNameRegistered(eventName)){ throw new EventRegistrationException("event name '" + eventName + "' not register, make sure you type the correct name, source : " + bd.getSource()); } eventManager.addEventNameListener(eventName, listener); } } } }
protected void register(EventRegistration reg,BeanDefinition bd){ String category = reg.getCategory(); String[] eventNames = reg.getEventNames(); if(null == eventNames || eventNames.length == 0){ eventManager.registerEventCategory(category); }else{ for(String eventName : eventNames){ if(eventManager.isEventNameRegistered(eventName)){ throw new EventRegistrationException("event name '" + eventName + "' aleady registered, check the event registration bean in source : " + bd.getSource()); } eventManager.registerEventName(category, eventName); } } }
BeanReference beanRef = (BeanReference) vd.getDefinedValue(); if (beanRef.getTargetBeanDefinition() != null) { Class<?> refCls = beanRef.getTargetBeanDefinition().getSource().getClass(); matched = pt.isAssignableFrom(refCls); if (!matched) {
throw new BeanDefinitionException("Found duplicated " + (proxy ? "proxy" : "bean") + " name '" + definition.getName() + "' for type '" + beanType.getName() + "' in resource : " + definition.getSource() + " with exists " + (proxy ? "proxy " : "bean ") + existsBeanDefinition);