qpid-proton mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PROTON-1177) [proton-j] Source and Target interfaces are incomplete and confusing
Date Fri, 15 Apr 2016 13:36:25 GMT

    [ 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

View raw message