This is some initial error handling support which I am sure is likely to change one all of the operations are ported to handlers. Prior to this though we were simply swallowing the exception. The client would hang indefinitely waiting for a response, making debugging difficult. With this we are propagating the stack trace back to the client which should really help with debugging errors.
This commit also re-enabled another filter test in RawJsonITest.
When a request is created, a new FilterHandler is registered on the event bus. A FilterHandler wraps a Filter object. The operation response is sent back on the event bus after the filter has been applied to all of the rows. This commit adds filter support to SliceHandler. I will add support in GetHandler in my next commit. Then I need to see about minimizing some of the json object creation/mapping overhead.
- Created interface and abstract base class for all HttpServerRequest handlers to implement - Initial utility class for extracting virgil's ConsistencyLevel headers - Imported mockito for handling smoother testing with HttpServerRequest
My previous changes to the readCf() method introduced some regressions around the logic that determines how to calculate the column name and column value. I needed to check if there is meta data for the column name and value. If and only if there is meta data, the component value is calculated with a type conversion; otherwise, we just take the raw byte buffer. Note that the ByteBuffer cannot be stored as is in JsonObject. We need to get the bytes which are in turn encoded. We might want to see about providing an alternate implementation that will be more efficient, if that is possible.