@Test public void shouldHandleCommandRequest() { // given final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, null, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest( serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, REQUEST_ID); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final byte[] valueBuffer = new byte[JOB_EVENT.length]; loggedEvent .getValueBuffer() .getBytes(loggedEvent.getValueOffset(), valueBuffer, 0, loggedEvent.getValueLength()); assertThat(loggedEvent.getValueLength()).isEqualTo(JOB_EVENT.length); assertThat(valueBuffer).isEqualTo(JOB_EVENT); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getRequestId()).isEqualTo(REQUEST_ID); assertThat(eventMetadata.getRequestStreamId()).isEqualTo(DEFAULT_ADDRESS.getStreamId()); }
@Test public void shouldHandleCommandRequest() { // given final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, null, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest( serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, REQUEST_ID); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final byte[] valueBuffer = new byte[JOB_EVENT.length]; loggedEvent .getValueBuffer() .getBytes(loggedEvent.getValueOffset(), valueBuffer, 0, loggedEvent.getValueLength()); assertThat(loggedEvent.getValueLength()).isEqualTo(JOB_EVENT.length); assertThat(valueBuffer).isEqualTo(JOB_EVENT); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getRequestId()).isEqualTo(REQUEST_ID); assertThat(eventMetadata.getRequestStreamId()).isEqualTo(DEFAULT_ADDRESS.getStreamId()); }
public static <T extends UnpackedObject> TypedRecord<T> toTypedEvent( LoggedEvent event, Class<T> valueClass) { final T value = ReflectUtil.newInstance(valueClass); value.wrap(event.getValueBuffer(), event.getValueOffset(), event.getValueLength()); return new CopiedTypedEvent(event, value); } }
protected static <T extends UnpackedObject> T readValueAs( final LoggedEvent event, final Class<T> valueClass) { final DirectBuffer copy = BufferUtil.cloneBuffer( event.getValueBuffer(), event.getValueOffset(), event.getValueLength()); final T valuePojo = ReflectUtil.newInstance(valueClass); valuePojo.wrap(copy); return valuePojo; }
public static <T extends UnpackedObject> TypedRecord<T> toTypedEvent( LoggedEvent event, Class<T> valueClass) { final T value = ReflectUtil.newInstance(valueClass); value.wrap(event.getValueBuffer(), event.getValueOffset(), event.getValueLength()); return new CopiedTypedEvent(event, value); } }
protected static <T extends UnpackedObject> T readValueAs( final LoggedEvent event, final Class<T> valueClass) { final DirectBuffer copy = BufferUtil.cloneBuffer( event.getValueBuffer(), event.getValueOffset(), event.getValueLength()); final T valuePojo = ReflectUtil.newInstance(valueClass); valuePojo.wrap(copy); return valuePojo; }