Source:
private BeanDefinition resolveComponent(ComponentModel parentComponentModel, SpringComponentModel componentModel, BeanDefinitionRegistry registry, BiConsumer<ComponentModel, BeanDefinitionRegistry> componentDefinitionModelProcessor, SpringConfigurationComponentLocator componentLocator) { if (isComponentIgnored(componentModel.getIdentifier())) { return null; } if (!componentModel.isEnabled()) { componentLocator.addComponentLocation(componentModel.getComponentLocation()); return null; } resolveComponentBeanDefinition(parentComponentModel, componentModel); componentDefinitionModelProcessor.accept(componentModel, registry); processMuleConfiguration(componentModel, registry); processMuleSecurityManager(componentModel, registry); processRaiseError(componentModel); componentBuildingDefinitionRegistry.getBuildingDefinition(componentModel.getIdentifier()) .ifPresent(componentBuildingDefinition -> { if ((componentModel.getType() != null) && Component.class.isAssignableFrom(componentModel.getType())) { addAnnotation(ANNOTATION_NAME, componentModel.getIdentifier(), componentModel); addAnnotation(ANNOTATION_PARAMETERS, new HashMap<>(componentModel.getFilteredParameters()), componentModel); List<ComponentModel> errorMappingComponents = componentModel.getInnerComponents().stream() .filter(innerComponent -> ERROR_MAPPING_IDENTIFIER.equals(innerComponent.getIdentifier())).collect(toList()); if (!errorMappingComponents.isEmpty()) { addAnnotation(ANNOTATION_ERROR_MAPPINGS, errorMappingComponents.stream().map(innerComponent -> { Map<String, String> parameters = innerComponent.getParameters(); ComponentIdentifier source = parameters.containsKey(SOURCE_TYPE) ? buildFromStringRepresentation(parameters.get(SOURCE_TYPE)) : ANY; ErrorType errorType = errorTypeRepository .lookupErrorType(source) .orElseThrow(() -> new MuleRuntimeException(createStaticMessage("Could not find error '%s'.", source))); ErrorTypeMatcher errorTypeMatcher = new SingleErrorTypeMatcher(errorType); ErrorType targetValue = resolveErrorType(parameters.get(TARGET_TYPE)); return new ErrorMapping(errorTypeMatcher, targetValue); }).collect(toList()), componentModel); } componentLocator.addComponentLocation(componentModel.getComponentLocation()); addAnnotation(ANNOTATION_COMPONENT_CONFIG, componentModel.getConfiguration(), componentModel); } }); addAnnotation(LOCATION_KEY, componentModel.getComponentLocation(), componentModel); BeanDefinition beanDefinition = componentModel.getBeanDefinition(); return beanDefinition; }

Target:
private BeanDefinition resolveComponent(ComponentModel parentComponentModel, SpringComponentModel componentModel, BeanDefinitionRegistry registry, BiConsumer<ComponentModel, BeanDefinitionRegistry> componentDefinitionModelProcessor, SpringConfigurationComponentLocator componentLocator) { if (isComponentIgnored(componentModel.getIdentifier())) { return null; } if (!componentModel.isEnabled()) { componentLocator.addComponentLocation(componentModel.getComponentLocation()); return null; } resolveComponentBeanDefinition(parentComponentModel, componentModel); componentDefinitionModelProcessor.accept(componentModel, registry); processMuleConfiguration(componentModel, registry); processMuleSecurityManager(componentModel, registry); processRaiseError(componentModel); componentBuildingDefinitionRegistry.getBuildingDefinition(componentModel.getIdentifier()) .ifPresent(componentBuildingDefinition -> { if ((componentModel.getType() != null) && Component.class.isAssignableFrom(componentModel.getType())) { addAnnotation(ANNOTATION_NAME, componentModel.getIdentifier(), componentModel); addAnnotation(ANNOTATION_PARAMETERS, new HashMap<>(componentModel.getParameters()), componentModel); List<ComponentModel> errorMappingComponents = componentModel.getInnerComponents().stream() .filter(innerComponent -> ERROR_MAPPING_IDENTIFIER.equals(innerComponent.getIdentifier())).collect(toList()); if (!errorMappingComponents.isEmpty()) { addAnnotation(ANNOTATION_ERROR_MAPPINGS, errorMappingComponents.stream().map(innerComponent -> { Map<String, String> parameters = innerComponent.getParameters(); ComponentIdentifier source = parameters.containsKey(SOURCE_TYPE) ? buildFromStringRepresentation(parameters.get(SOURCE_TYPE)) : ANY; ErrorType errorType = errorTypeRepository .lookupErrorType(source) .orElseThrow(() -> new MuleRuntimeException(createStaticMessage("Could not find error '%s'.", source))); ErrorTypeMatcher errorTypeMatcher = new SingleErrorTypeMatcher(errorType); ErrorType targetValue = resolveErrorType(parameters.get(TARGET_TYPE)); return new ErrorMapping(errorTypeMatcher, targetValue); }).collect(toList()), componentModel); } componentLocator.addComponentLocation(componentModel.getComponentLocation()); addAnnotation(ANNOTATION_COMPONENT_CONFIG, componentModel.getConfiguration(), componentModel); } }); addAnnotation(LOCATION_KEY, componentModel.getComponentLocation(), componentModel); BeanDefinition beanDefinition = componentModel.getBeanDefinition(); return beanDefinition; }