private void createServices(Component<?> component, LogicalComponent<?> logicalComponent, ComponentType componentType) { for (Service<ComponentType> service : componentType.getServices().values()) { String name = service.getName(); URI serviceUri = logicalComponent.getUri().resolve('#' + name); LogicalService logicalService = new LogicalService(serviceUri, service, logicalComponent); for (Binding binding : service.getBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalService); logicalService.addBinding(logicalBinding); } for (Binding binding : service.getCallbackBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalService); logicalService.addCallbackBinding(logicalBinding); } // service is configured in the component definition Service<Component> componentService = component.getServices().get(name); if (componentService != null) { for (Binding binding : componentService.getBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalService); logicalService.addBinding(logicalBinding); } for (Binding binding : componentService.getCallbackBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalService); logicalService.addCallbackBinding(logicalBinding); } } logicalComponent.addService(logicalService); } }
private void createServices(Component<?> component, LogicalComponent<?> logicalComponent, ComponentType componentType) { for (Service<ComponentType> service : componentType.getServices().values()) { String name = service.getName(); URI serviceUri = logicalComponent.getUri().resolve('#' + name); LogicalService logicalService = new LogicalService(serviceUri, service, logicalComponent); for (Binding binding : service.getBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalService); logicalService.addBinding(logicalBinding); } for (Binding binding : service.getCallbackBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalService); logicalService.addCallbackBinding(logicalBinding); } // service is configured in the component definition Service<Component> componentService = component.getServices().get(name); if (componentService != null) { for (Binding binding : componentService.getBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalService); logicalService.addBinding(logicalBinding); } for (Binding binding : componentService.getCallbackBindings()) { LogicalBinding<Binding> logicalBinding = new LogicalBinding<>(binding, logicalService); logicalService.addCallbackBinding(logicalBinding); } } logicalComponent.addService(logicalService); } }