[ https://issues.apache.org/jira/browse/PROTON-964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14653515#comment-14653515 ]
ASF GitHub Bot commented on PROTON-964: --------------------------------------- Github user bozzzzo commented on a diff in the pull request: https://github.com/apache/qpid-proton/pull/48#discussion_r36179971 --- 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 -- Frankly, I'm not even sure why this check is needed at all. But extensibe events don't need to change collector semantics. the change here is a mostly about robustness and a bit about the fact that not only core events are now possible. If needed this should be a separate change with separate justification. > 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)