private Map<String, String> handleDefaultReferenceMappings(ComponentDefinition<SpringImplementation> componentDefinition, ComponentType type) { Map<String, String> mappings = new HashMap<String, String>(); for (ReferenceDefinition reference : type.getReferences().values()) { SpringReferenceDefinition springReference = (SpringReferenceDefinition) reference; String defaultStr = springReference.getDefaultValue(); if (defaultStr == null) { continue; } String refName = springReference.getName(); if (componentDefinition.getReferences().containsKey(refName)) { continue; } mappings.put(defaultStr, refName); } return mappings; }
private void createReferences(ComponentDefinition<?> definition, LogicalComponent<?> component, ComponentType componentType) { for (AbstractReference reference : componentType.getReferences().values()) { String name = reference.getName(); URI referenceUri = component.getUri().resolve('#' + name); LogicalReference logicalReference = new LogicalReference(referenceUri, reference, component); // reference is configured in the component definition ComponentReference componentReference = definition.getReferences().get(name); if (componentReference != null) { logicalReference.addIntents(componentReference.getIntents()); for (BindingDefinition binding : componentReference.getBindings()) { LogicalBinding<BindingDefinition> logicalBinding = new LogicalBinding<BindingDefinition>(binding, logicalReference); logicalReference.addBinding(logicalBinding); } for (BindingDefinition binding : componentReference.getCallbackBindings()) { LogicalBinding<BindingDefinition> logicalBinding = new LogicalBinding<BindingDefinition>(binding, logicalReference); logicalReference.addCallbackBinding(logicalBinding); } } component.addReference(logicalReference); } }
ComponentReference componentReference = definition.getReferences().get(name); if (componentReference != null) {
private void parseReference(ComponentDefinition<Implementation<?>> componentDefinition, AbstractComponentType<?, ?, ?, ?> componentType, XMLStreamReader reader, IntrospectionContext context) throws XMLStreamException, UnrecognizedElementException { ComponentReference reference; reference = registry.load(reader, ComponentReference.class, context); if (reference == null) { // there was an error with the reference configuration, just skip it return; } if (!componentType.hasReference(reference.getName())) { // ensure the reference exists ComponentReferenceNotFound failure = new ComponentReferenceNotFound(reference.getName(), componentDefinition, reader); context.addError(failure); return; } String refKey = reference.getName(); if (componentDefinition.getReferences().containsKey(refKey)) { DuplicateComponentReference failure = new DuplicateComponentReference(refKey, componentDefinition.getName(), reader); context.addError(failure); } else { componentDefinition.add(reference); } }