return null; ComponentReference reference = new ComponentReference(name); reference.setAutowire(autowire); Multiplicity multiplicity = Multiplicity.fromString(value); if (multiplicity != null) { reference.setMultiplicity(multiplicity); reference.getTargets().addAll(uris); reference.setServiceContract((ServiceContract<?>) type); } else if (type instanceof BindingDefinition) { if (callback) { reference.addCallbackBinding((BindingDefinition) type); } else { reference.addBinding((BindingDefinition) type); reference.addOperation((OperationDefinition) type); } else if (type == null) {
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); } }
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); } }
List<Target> serviceTargets = componentReference.getTargets(); List<SCABinding> scaBindings = new ArrayList<SCABinding>(); for (BindingDefinition binding : componentReference.getBindings()) { if (binding instanceof SCABinding) { SCABinding scaBinding = (SCABinding) binding;
List<Target> targets = componentReference.getTargets(); if (!targets.isEmpty()) { return; if (componentReference.getAutowire() == Autowire.ON || (componentReference.getAutowire() == Autowire.INHERITED && component.getAutowire() == Autowire.ON)) { AbstractReference referenceDefinition = logicalReference.getDefinition(); ServiceContract requiredContract = referenceDefinition.getServiceContract();
if (!componentReference.getBindings().isEmpty()) { List<LogicalBinding<?>> bindings = new ArrayList<LogicalBinding<?>>(); List<BindingDefinition> overrideBindings = componentReference.getBindings(); for (BindingDefinition binding : overrideBindings) { LogicalBinding<BindingDefinition> logicalBinding = new LogicalBinding<BindingDefinition>(binding, logicalReference); logicalReference.addIntents(componentReference.getIntents());