private Set<Signature> getOperations(Collection<AbstractService> services) { Set<Signature> operations = new HashSet<Signature>(); for (AbstractService definition : services) { List<? extends Operation> ops = definition.getServiceContract().getOperations(); for (Operation operation : ops) { String name = operation.getName(); List<? extends DataType<?>> inputTypes = operation.getInputTypes(); List<String> paramTypes = new ArrayList<String>(inputTypes.size()); for (DataType<?> inputType : inputTypes) { paramTypes.add(inputType.getPhysical().getName()); } operations.add(new Signature(name, paramTypes)); } } return operations; }
public JUnitImplementation load(XMLStreamReader reader, IntrospectionContext context) throws XMLStreamException { String className = reader.getAttributeValue(null, "class"); JUnitImplementation implementation = new JUnitImplementation(className); validateAttributes(reader, context, implementation); InjectingComponentType componentType = implementationProcessor.introspect(className, context); implementation.setComponentType(componentType); // Add a binding only on the JUnit service (which is the impl class) so wires are generated to the test operations. // These wires will be used by the testing runtime to dispatch to the JUnit components. ContextConfiguration configuration = loadConfiguration(reader, implementation, context); for (AbstractService serviceDefinition : implementation.getComponentType().getServices().values()) { if (serviceDefinition.getServiceContract().getQualifiedInterfaceName().equals(implementation.getImplementationClass())) { JUnitBindingDefinition bindingDefinition = new JUnitBindingDefinition(configuration); serviceDefinition.addBinding(bindingDefinition); break; } } return implementation; }
private void createServices(ComponentDefinition<?> definition, LogicalComponent<?> component, ComponentType componentType) { for (AbstractService<?> service : componentType.getServices().values()) { String name = service.getName(); URI serviceUri = component.getUri().resolve('#' + name); LogicalService logicalService = new LogicalService(serviceUri, service, component); for (BindingDefinition binding : service.getBindings()) { LogicalBinding<BindingDefinition> logicalBinding = new LogicalBinding<BindingDefinition>(binding, logicalService); logicalService.addBinding(logicalBinding); } for (BindingDefinition binding : service.getCallbackBindings()) { LogicalBinding<BindingDefinition> logicalBinding = new LogicalBinding<BindingDefinition>(binding, logicalService); logicalService.addCallbackBinding(logicalBinding); } // service is configured in the component definition ComponentService componentService = definition.getServices().get(name); if (componentService != null) { logicalService.addIntents(componentService.getIntents()); for (BindingDefinition binding : componentService.getBindings()) { LogicalBinding<BindingDefinition> logicalBinding = new LogicalBinding<BindingDefinition>(binding, logicalService); logicalService.addBinding(logicalBinding); } for (BindingDefinition binding : componentService.getCallbackBindings()) { LogicalBinding<BindingDefinition> logicalBinding = new LogicalBinding<BindingDefinition>(binding, logicalService); logicalService.addCallbackBinding(logicalBinding); } } component.addService(logicalService); } }
private <S extends LogicalComponent<?>> URI generateCallbackUri(S source, ServiceContract contract, String referenceName) throws GenerationException { LogicalService candidate = null; for (LogicalService entry : source.getServices()) { MatchResult result = matcher.isAssignableFrom(contract, entry.getServiceContract(), false); if (result.isAssignable()) { candidate = entry; break; } } if (candidate == null) { String name = contract.getInterfaceName(); URI uri = source.getUri(); throw new CallbackServiceNotFoundException("Callback service not found: " + name + " on component: " + uri + " originating from reference :" + referenceName, name); } return URI.create(source.getUri().toString() + "#" + candidate.getDefinition().getName()); }
@SuppressWarnings({"unchecked"}) public PhysicalSourceDefinition generateCallbackSource(LogicalService service, EffectivePolicy policy) throws GenerationException { JavaSourceDefinition definition = new JavaSourceDefinition(); ServiceContract callbackContract = service.getDefinition().getServiceContract().getCallbackContract(); LogicalComponent<JavaImplementation> source = (LogicalComponent<JavaImplementation>) service.getLeafComponent(); generationHelper.generateCallbackWireSource(definition, source, callbackContract, policy); return definition; }
QName deployable = source.getParent().getDeployable(); ServiceContract targetContract = target.getDefinition().getServiceContract();
ServiceContract targetContract = target.getDefinition().getServiceContract(); if (targetContract.getCallbackContract() != null) {