protected Binding map(Binding scaBinding, QName newBindingType) { try { Binding binding = createDelegatingBinding(newBindingType); binding.setName(scaBinding.getName()); if (((SCABinding)scaBinding).getDelegateBindingURI() != null){ // if this is an SCA binding that's been resolved via the registry then // the URI of the target service is delegate specific and is stored // in this new slot in the binding model binding.setURI(((SCABinding)scaBinding).getDelegateBindingURI()); } else { binding.setURI(scaBinding.getURI()); } binding.setOperationSelector(scaBinding.getOperationSelector()); binding.setRequestWireFormat(scaBinding.getRequestWireFormat()); binding.setResponseWireFormat(scaBinding.getResponseWireFormat()); if (binding instanceof PolicySubject && scaBinding instanceof PolicySubject) { PolicySubject subject1 = (PolicySubject)binding; PolicySubject subject2 = (PolicySubject)scaBinding; subject1.getPolicySets().addAll(subject2.getPolicySets()); subject1.getRequiredIntents().addAll(subject2.getRequiredIntents()); } return binding; } catch (Throwable e) { throw new ServiceRuntimeException(e); } }
public synchronized void removeEndpoint(Endpoint endpoint) { endpoints.remove(endpoint); endpointRemoved(endpoint); if (logger.isLoggable(quietLogging ? Level.FINE : Level.INFO)) { String uri = null; Binding b = endpoint.getBinding(); if (b != null) { uri = b.getURI(); if (uri != null && uri.startsWith("/")) { uri = uri.substring(1); } } String msg = "Remove endpoint - " + (uri == null ? endpoint.getURI() : b.getType().getLocalPart()+" - "+uri); if (quietLogging) { logger.fine(msg); } else { logger.info(msg); } } }
@Override public Object clone() throws CloneNotSupportedException { ServiceImpl clone = (ServiceImpl)super.clone(); clone.bindings = new ArrayList<Binding>(); for (Binding binding : getBindings()){ clone.bindings.add((Binding)binding.clone()); } return clone; }
public Interceptor createInterceptor() { if (jaxrs) { return null; } if( (binding.getRequestWireFormat() != null && binding.getRequestWireFormat() instanceof JSONWireFormat) || (binding.getResponseWireFormat() != null && binding.getResponseWireFormat() instanceof JSONWireFormat) ){ return new JSONWireFormatInterceptor(extensionPoints, endpoint); } return null; }
public void setBindingURI(String uri) { binding.setURI(uri); bindingURIaltered = true; BindingBuilder builder = builders.getBindingBuilder(binding.getType()); if (builder != null) { BuilderContext builderContext = new BuilderContext(null, null, null); builder.build(component, reference, binding, builderContext, true); } }
@Override public String getDeployedURI() { return deployedURI == null ? (binding == null ? null : binding.getURI()) : deployedURI; }
boolean includeBindingName = !service.getName().equals(binding.getName()); URI bindingURI = binding.getURI() == null ? null : new URI(binding.getURI()); if (binding instanceof SCABinding) { if (binding.getName() != null) { bindingName = binding.getName(); } else { bindingName = serviceName; List<String> uris = defaultBindings.get(binding.getType()); if (uris != null && uris.size() > 0) { baseURI = new URI(addSlashToPath(uris.get(0))); binding.setURI(constructBindingURI(baseURI, componentURI, bindingURI, componentURIString, service.getName(), binding.getName());
public Binding getBinding(String name) { for (Binding binding : bindings) { if (binding.getName().equals(name)) { return binding; } } return null; }
if(loopCallbackEndpoint.getBinding().getType().equals(endpointReference.getBinding().getType())){ callbackEndpoint = (RuntimeEndpoint)loopCallbackEndpoint; break match1; if(loopCallbackBinding.getType().equals(endpointReference.getBinding().getType())){ callbackBinding = loopCallbackBinding; break; if (loopEndpointReference.getBinding().getType().equals(endpointReference.getBinding().getType())){ callbackBinding = loopEndpointReference.getBinding(); break; callbackBinding = (Binding)forwardBinding.clone(); } catch (CloneNotSupportedException ex){ callbackBinding.setURI(null); for (Endpoint endpoint : callbackService.getEndpoints()){ if (endpoint.getBinding().getType().equals(SCABinding.TYPE)){ callbackBinding.setURI(endpoint.getBinding().getURI());
/** * Select an endpoint reference from the component reference * @param ref * @return */ private EndpointReference getEndpointReference(ComponentReference ref) { List<EndpointReference> eprs = ref.getEndpointReferences(); if (eprs.size() == 1) { // Return 1st one return eprs.get(0); } else { for (EndpointReference epr : eprs) { // Try to see if there is an EPR using binding.sca if (epr.getBinding().getType().equals(SCABinding.TYPE)) { return epr; } } return eprs.get(0); } }
private RuntimeEndpointReference selectCallbackWire( org.apache.tuscany.sca.assembly.Endpoint endpoint, RuntimeComponentReference componentReference) { // Look for callback binding with same name as service binding if (endpoint == null) { throw new RuntimeException("Destination for forward call is not available"); } for (EndpointReference epr : componentReference.getEndpointReferences()) { if (epr.getBinding().getName().equals(endpoint.getBinding().getName())) { return (RuntimeEndpointReference) epr; } } // if no match, look for callback binding with same type as service binding for (EndpointReference epr : componentReference.getEndpointReferences()) { if (epr.getBinding().getType().equals(endpoint.getBinding().getType())) { return (RuntimeEndpointReference) epr; } } // no suitable callback wire was found return null; } // end method selectCallbackWire
public void start() { ComponentService service = endpoint.getService(); Interface serviceInterface = service.getInterfaceContract().getInterface(); for (Operation op : serviceInterface.getOperations()) { JSONPServlet servlet = new JSONPServlet(endpoint, op); String path = endpoint.getBinding().getURI() + "/" + op.getName(); String mappedURI = servletHost.addServletMapping(path, servlet); String endpointURI = mappedURI.substring(0, mappedURI.lastIndexOf("/" + op.getName())); endpoint.setDeployedURI(endpointURI); endpoint.getBinding().setURI(endpointURI); } }
if (binding.getName() == null) { binding.setName(contract.getName()); Binding existed = bindingMap.put(binding.getName(), binding); .getName(), binding.getName()); } else { Monitor.error(monitor, "MultipleBindingsForReference", contract.getName(), binding.getName()); if (binding.getName() == null) { binding.setName(contract.getName()); Binding existed = bindingMap.put(binding.getName(), binding); "MultipleBindingsForServiceCallback", contract.getName(), binding.getName()); } else { Monitor.error(monitor, Messages.ASSEMBLY_VALIDATION, "MultipleBindingsForReferenceCallback", contract.getName(), binding.getName());
QName bindingName = matchBinding.getType(); String bindingXML = "<ns1:" + bindingName.getLocalPart() + " xmlns:ns1='" + bindingName.getNamespaceURI() + "'/>"; reader.next(); Binding newBinding = (Binding) processor.read(reader, context ); newBinding.setName(reference.getName()); BindingBuilder builder = builders.getBindingBuilder(newBinding.getType()); if (builder != null) { org.apache.tuscany.sca.assembly.builder.BuilderContext builderContext = new BuilderContext(registry);
public void stop() { endpoint.getBinding().setURI(null); getDelegatingProvider().stop(); }
public Interceptor createInterceptor() { if(binding.getOperationSelector() != null && binding.getOperationSelector() instanceof RPCOperationSelector) { return new RPCOperationSelectorInterceptor(extensionPoints, endpoint); } return null; }