Robbie Gemmell commented on PROTON-1177:

Having more of a think about this, it probably resulted from the layered nature 
of the protocol (where the transport layer, i.e links etc, doesnt actually 
define the source/target types, the messaging layer does), and the fact there 
are 2 very different types of Target (regular targets, and coordinator 
targets). We could possibly still decide that the Source interface should just 
go ahead and expose all the methods the Source impl facilitates, but the Target 
interface probably needs to remain essentially as it is.

> [proton-j] Source and Target interfaces are incomplete and confusing
> --------------------------------------------------------------------
>                 Key: PROTON-1177
>                 URL: https://issues.apache.org/jira/browse/PROTON-1177
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-j
>    Affects Versions: 0.12.1
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 0.13.0
> The org.apache.qpid.proton.amqp.transport.Source and 
> org.apache.qpid.proton.amqp.transport.Target interfaces are used on the Link 
> interface setters/getters, however they container almost none of the methods 
> needed to use the Source and Target. The impls have all the necessary 
> methods, but folks would currently need to cast the values to them in order 
> to use in almost any meaningful way, and they exist in a completely different 
> package which makes them less than obvious. Finally, most of the interfaces 
> for engine objects have a factory in their interface for creating them, the 
> Source and Target ones do not, making their use less obvious again.
> Changing the existing interface/impl names/packages would break most existing 
> uses, so we probably want to avoid that, but we should at least update the 
> interfaces to contain the required methods, and perhaps add the equivalent 
> factories to make their creation more obvious.

This message was sent by Atlassian JIRA

Reply via email to