[jira] [Commented] (PROTON-1177) [proton-j] Source and Target interfaces are incomplete and confusing

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (PROTON-1177) [proton-j] Source and Target interfaces are incomplete and confusing

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/PROTON-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15242959#comment-15242959 ]

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
(v6.3.4#6332)