/** * Add a reference to this component. * * @param reference the reference to add */ public void add(Reference<Component> reference) { reference.setParent(this); references.put(reference.getName(), reference); }
/** * Adds a reference defined by the implementation. * * @param reference the reference to add */ public void add(Reference<ComponentType> reference) { reference.setParent(this); references.put(reference.getName(), reference); }
private void generateReferenceInjectionMapping(Reference<ComponentType> definition, WebComponentType type, Map<String, Map<String, InjectionSite>> mappings) { Map<String, InjectionSite> mapping = mappings.get(definition.getName()); if (mapping == null) { mapping = new HashMap<>(); mappings.put(definition.getName(), mapping); } for (Map.Entry<String, Map<InjectionSite, Injectable>> entry : type.getInjectionSites().entrySet()) { for (Map.Entry<InjectionSite, Injectable> siteMap : entry.getValue().entrySet()) { if (siteMap.getValue().getName().equals(definition.getName())) { mapping.put(entry.getKey(), siteMap.getKey()); } } } ServiceContract contract = definition.getServiceContract(); Class<?> interfaceClass = contract.getInterfaceClass(); // inject the reference into the session context WebContextInjectionSite site = new WebContextInjectionSite(interfaceClass, SESSION_CONTEXT); mapping.put(SESSION_CONTEXT_SITE, site); // also inject the reference into the servlet context WebContextInjectionSite servletContextSite = new WebContextInjectionSite(interfaceClass, SERVLET_CONTEXT); mapping.put(SERVLET_CONTEXT_SITE, servletContextSite); }
/** * Add a reference and its associated with an injection site. * * @param reference the reference to add * @param injectionSite the injection site for the reference */ public void add(Reference<ComponentType> reference, InjectionSite injectionSite) { super.add(reference); Injectable injectable = new Injectable(InjectableType.REFERENCE, reference.getName()); addInjectionSite(injectionSite, injectable); injectionSiteMapping.put(reference, injectionSite); }
/** * Gets the explicit reference associated with this logical reference. * * @return Component reference if defined, otherwise null. */ public Reference<Component> getComponentReference() { return getParent().getDefinition().getReferences().get(getDefinition().getName()); }
public PhysicalWireSource generateSource(LogicalReference reference) throws Fabric3Exception { ServiceContract contract = reference.getServiceContract(); if (!(contract instanceof JavaServiceContract)) { // Spring reference contracts are always defined by Java interfaces throw new Fabric3Exception("Unexpected interface type for " + reference.getUri() + ": " + contract.getClass().getName()); } String interfaze = contract.getQualifiedInterfaceName(); URI uri = reference.getParent().getUri(); String referenceName = reference.getDefinition().getName(); return new SpringWireSource(referenceName, interfaze, uri); }
public PhysicalWireSource generateSource(LogicalReference reference) throws Fabric3Exception { ServiceContract contract = reference.getServiceContract(); if (!(contract instanceof JavaServiceContract)) { // Spring reference contracts are always defined by Java interfaces throw new Fabric3Exception("Unexpected interface type for " + reference.getUri() + ": " + contract.getClass().getName()); } String interfaze = contract.getQualifiedInterfaceName(); URI uri = reference.getParent().getUri(); String referenceName = reference.getDefinition().getName(); return new SpringWireSource(referenceName, interfaze, uri); }
protected Binding processReference(ZeroMQ annotation, Reference reference, Class<?> implClass, IntrospectionContext context) { if(!isActiveForEnvironment(annotation.environments())) { return null; } ZeroMQMetadata metadata = new ZeroMQMetadata(); String bindingName = "ZMQ" + reference.getName(); ZeroMQBinding binding = new ZeroMQBinding(bindingName, metadata); parseTarget(annotation, binding, implClass, context); parseAddresses(annotation, metadata, implClass, context); processMetadata(annotation, metadata); return binding; }
private void createReferences(Component<?> component, LogicalComponent<?> logicalComponent, ComponentType componentType) { for (Reference<ComponentType> reference : componentType.getReferences().values()) { String name = reference.getName(); URI referenceUri = logicalComponent.getUri().resolve('#' + name); LogicalReference logicalReference = new LogicalReference(referenceUri, reference, logicalComponent); Reference<Component> componentReference = component.getReferences().get(name); if (componentReference != null) { // reference is configured in the component definition for (Binding binding : componentReference.getBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalReference); logicalReference.addBinding(logicalBinding); } for (Binding binding : componentReference.getCallbackBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalReference); logicalReference.addCallbackBinding(logicalBinding); } } else { // check if reference is configured with bindings in the component type for (Binding binding : reference.getBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalReference); logicalReference.addBinding(logicalBinding); } for (Binding binding : reference.getCallbackBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalReference); logicalReference.addCallbackBinding(logicalBinding); } } logicalComponent.addReference(logicalReference); } }
private void createReferences(Component<?> component, LogicalComponent<?> logicalComponent, ComponentType componentType) { for (Reference<ComponentType> reference : componentType.getReferences().values()) { String name = reference.getName(); URI referenceUri = logicalComponent.getUri().resolve('#' + name); LogicalReference logicalReference = new LogicalReference(referenceUri, reference, logicalComponent); Reference<Component> componentReference = component.getReferences().get(name); if (componentReference != null) { // reference is configured in the component definition for (Binding binding : componentReference.getBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalReference); logicalReference.addBinding(logicalBinding); } for (Binding binding : componentReference.getCallbackBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalReference); logicalReference.addCallbackBinding(logicalBinding); } } else { // check if reference is configured with bindings in the component type for (Binding binding : reference.getBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalReference); logicalReference.addBinding(logicalBinding); } for (Binding binding : reference.getCallbackBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalReference); logicalReference.addCallbackBinding(logicalBinding); } } logicalComponent.addReference(logicalReference); } }
URI callbackUri = generateCallbackUri(component, callbackContract, referenceDefinition.getName()); target.setCallbackUri(callbackUri);
URI callbackUri = generateCallbackUri(component, callbackContract, referenceDefinition.getName()); target.setCallbackUri(callbackUri);
if (callbackContract != null) { URI callbackUri = generateCallbackUri(sourceComponent, callbackContract, referenceDefinition.getName()); target.setCallbackUri(callbackUri);
if (callbackContract != null) { URI callbackUri = generateCallbackUri(sourceComponent, callbackContract, referenceDefinition.getName()); target.setCallbackUri(callbackUri);