[
https://issues.apache.org/jira/browse/TUSCANY-1452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matthew Sykes updated TUSCANY-1452:
-----------------------------------
Attachment: clone-2.diff
Patch to make InterfaceContract, Interface, and Operation Cloneable.
The previous attachment did not make a deep copy of the inputType associated
with the operation and that caused the reference interface contract that was
cloned to be effected by updates to the binding interface contract.
> InterfaceContract and its associated objects should be Cloneable
> ----------------------------------------------------------------
>
> Key: TUSCANY-1452
> URL: https://issues.apache.org/jira/browse/TUSCANY-1452
> Project: Tuscany
> Issue Type: Improvement
> Components: Java SCA Assembly Model, Java SCA Core Runtime
> Affects Versions: Java-SCA-0.90, Java-SCA-0.91, Java-SCA-Next
> Reporter: Matthew Sykes
> Fix For: Java-SCA-Next
>
> Attachments: clone-2.diff
>
>
> Given the current infrastructure in 0.90, it is difficult for a binding
> provider to setup a binding-specific databinding on the binding
> InterfaceContract because the InterfaceContract, Interface, and Operation
> model objects can't be easily cloned.
> While the binding providers are allowed to give the runtime an
> InterfaceContract for the binding, if the data describing the interface comes
> from something other than the binding configuration the binding will
> typically use the InterfaceContract from the componentType. Without a way to
> copy the InterfaceContract, the binding provider will need to create an
> interface from scratch by using one of the interface processors or the
> assembly model factories and custom logic.
> For example, the axis2 binding will use the portType from wsdl document
> associated with the <binding.ws ...> element in scdl to create an
> InterfaceContract or the binding. This approach requires the
> WebServiceBindngProcessor to access the interface introspector and introspect
> an interface contract.
> I've discussed this a bit with Raymond who has agreed that making the
> InterfaceContract, Interface, Operation, and associated objects cloneable
> would allow a binding provider implementation to get an instance of the
> interface contract that could be updated with a binding-specific databinding.
> This is similar to what existed in the M2 branches of days gone by.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]