private void registerJsfCdiToSpring(BeanDefinition definition) {

		if (definition instanceof AnnotatedBeanDefinition) {
			AnnotatedBeanDefinition annDef = (AnnotatedBeanDefinition) definition;

			String scopeName = null;
			// firstly check whether bean is defined via configuration
			if (annDef.getFactoryMethodMetadata() != null) {
				scopeName = deduceScopeName(annDef.getFactoryMethodMetadata());
			}
			else {
				// fallback to type
				scopeName = deduceScopeName(annDef.getMetadata());
			}

			if (scopeName != null) {
				definition.setScope(scopeName);

				log.debug("{} - Scope({})", definition.getBeanClassName(), scopeName.toUpperCase());
			}
		}
	}
private void registerJsfCdiToSpring ( BeanDefinition definition ) { if ( definition instanceof AnnotatedBeanDefinition ) { AnnotatedBeanDefinition annDef = ( AnnotatedBeanDefinition ) definition ; String scopeName = null ; if ( annDef . getFactoryMethodMetadata ( ) != null ) { scopeName = deduceScopeName ( annDef . getFactoryMethodMetadata ( ) ) ; } else { scopeName = deduceScopeName ( annDef . getMetadata ( ) ) ; } if ( scopeName != null ) { definition . setScope ( scopeName ) ; log . debug ( "{} - Scope({})" , definition . getBeanClassName ( ) , scopeName . toUpperCase ( ) ) ; } } }
Checks how is bean defined and deduces scope name from JSF CDI annotations.

@param definition beanDefinition