On Fri, Feb 13, 2009 at 12:19 PM, Simon Nash <n...@apache.org> wrote:
> Simon Laws wrote: > >> Around line 155 of DataBindingRuntimeWireProcessor there is the code >> >> // assume pass-by-values copies are required if interfaces >> are remotable and there is no data binding >> // transformation, i.e. a transformation will result in a >> copy so another pass-by-value copy is unnecessary >> if (!isOnMessage(targetOperation) && isRemotable(chain, >> sourceOperation, targetOperation)) { >> interceptor = >> new PassByValueInterceptor(dataBindings, >> faultExceptionMapper, chain, targetOperation); >> } >> >> We should only be doing this if binding.sca is being used. >> >> TUSCANY-2586 records this problem but there seems to be some question as >> to the solution. Why can't we check here what type of binding is being used? >> Iassuming that that approach was discounted. >> >> Simon >> > > > It isn't safe to assume that all bindings other than binding.sca > force copies to be made. A user could write binding.foo that > works similarly to binding.sca in that it doesn't do copies on > local invocations. > > The solution proposed in the discussion of TUSCANY-2586 solves > this problem by making every binding responsible for deciding > whether the copying needs to be done. > > Simon > > > Ok, good point. My thought was also rubbish as binding.sca doesn't always need the PBV interceptor:-( So we need a new binding operation to ask the question whether a copy is required. In the binding.sca case it needs to take account of whether it's operating in local or remote mode. Simon