[
https://issues.apache.org/jira/browse/ZOOKEEPER-139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jakob Homan updated ZOOKEEPER-139:
----------------------------------
Attachment: ZOOKEEPER-139.patch
The named constants in the EventWatcher for KeeperState and EventType are
particularly confusing. I've created enums for them, which simplifies and
clarifies the client-side code quite a bit. As usual, the rub is with Jute and
enums. Since there is no way to use enums in Jute, I changed the original
generated WatcherEvent class to a wrapper for these values, which are wrapped
and unwrapped right before/after transmission from server/client. The actual
new WatcherEvent class is used in all interactions in the code. If at some
point, a different serialization protocol is used that supports enums, the
wrapper class can be disposed of.
This patch:
* Creates enums for KeeperState and EventType that were previously named
constants in Watcher.java
* Provides for conversion of these enums to/from integer values for sending
over the wire
* Creates a full-fledged WatcherEvent class. The previous Jute-generated
WatcherEvent class becomes a wrapper for the enums during transmission.
* Changes all references to the old named constants to the shiny new enums.
* Provides unit tests for everything new.
While doing this, I had to resolve ZOOKEEPER-18. Since it looked like a bug, I
eliminated the KeeperStateChanged value as it doesn't appear anywhere else in
the source code.
Let me know if this looks good. If so I'll start on converting the permissions.
> Create Enums for WatcherEvent's KeeperState and EventType
> ---------------------------------------------------------
>
> Key: ZOOKEEPER-139
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-139
> Project: Zookeeper
> Issue Type: Sub-task
> Affects Versions: 3.0.0
> Reporter: Jakob Homan
> Assignee: Jakob Homan
> Fix For: 3.0.0
>
> Attachments: ZOOKEEPER-139.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.