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

ASF GitHub Bot commented on PROTON-964:
---------------------------------------

Github user gemmellr commented on a diff in the pull request:

    https://github.com/apache/qpid-proton/pull/48#discussion_r36522483
  
    --- Diff: 
proton-j/src/main/java/org/apache/qpid/proton/engine/impl/CollectorImpl.java ---
    @@ -57,9 +58,16 @@ public void pop()
             }
         }
     
    -    public EventImpl put(Event.Type type, Object context)
    +    public EventImpl put(EventType type, Object context)
         {
    -        if (tail != null && tail.getType() == type &&
    +        if (type == null) {
    +            throw new IllegalArgumentException("Type cannot be null");
    +        }
    +        if (!type.isValid()) {
    +            throw new IllegalArgumentException("Cannot put events of type 
" + type);
    +        }
    +        // XXX: @gemmellr points out that type equality is wrong for event 
de-duplication. What about context equality?
    --- End diff --
    
    May now be wrong rather than definitely is wrong was my point, its now 
ambiguous due to the change to an interface for the event type...though I do 
wish I had just never bothered making the comment :)
    
    Context is probably more interesting, in that as it has been used it was to 
tie a particular proton object to a particular non-proton object for reference, 
so I can see there may be cases where you actually wouldnt want to de-dup for 
equivalent contexts and so using equals() instead of == could actually be wrong 
for the context.


> Proton-J extensible event types
> -------------------------------
>
>                 Key: PROTON-964
>                 URL: https://issues.apache.org/jira/browse/PROTON-964
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: proton-j
>    Affects Versions: 0.10
>            Reporter: Bozo Dragojevic
>            Assignee: Bozo Dragojevic
>             Fix For: 0.11
>
>
> Event.Type is an enum which makes it impossible to extend.
> Introduce a separate interface EventType and make Event.Type implement it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to