[ https://issues.apache.org/jira/browse/PROTON-964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14653659#comment-14653659 ]
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_r36188742 --- Diff: proton-j/src/main/java/org/apache/qpid/proton/engine/impl/CollectorImpl.java --- @@ -57,9 +58,13 @@ 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); + if (tail != null && tail.getEventType() == type && --- End diff -- 'wrong thing' as in fail to coalesce the 'duplicate' events like it is trying to, in the case an EventType instance ever finds its way in there that is not an Enum and isn't used via a single instance, which wouldnt have been possible before but is now, however unlikely. There are other cases where the code does an == that I didn't say anything about because they are comparing against a specific enum value so their behaviour can't change, but it just seemed like in this case when the line was already being changed anyway it would be simple to avoid any future issues by making the update now. The comment wasnt meant to be some big thing :) > 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)