private List<Token> generateForMessage(final MessageSchema schema, final long messageId) { tokenList.clear(); final Message msg = schema.getMessage(messageId); addMessageSignal(msg, Signal.BEGIN_MESSAGE); addAllFields(msg.fields()); addMessageSignal(msg, Signal.END_MESSAGE); return tokenList; }
@Test public void shouldCalculateDataOffsetWithPaddingFromBlockLength() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "block-length-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(4).fields(); assertThat(valueOf(fields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(fields.get(0).type().encodedLength()), is(valueOf(8))); assertThat(valueOf(fields.get(1).computedOffset()), is(valueOf(64))); assertThat(valueOf(fields.get(1).type().encodedLength()), is(valueOf(-1))); }
@Test public void shouldCalculateGroupOffsetWithPaddingFromBlockLength() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "block-length-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(2).fields(); assertThat(valueOf(fields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(fields.get(0).type().encodedLength()), is(valueOf(8))); assertThat(valueOf(fields.get(1).computedOffset()), is(valueOf(64))); Assert.assertNull(fields.get(1).type()); assertThat(valueOf(fields.get(1).computedBlockLength()), is(valueOf(12))); final List<Field> groupFields = fields.get(1).groupFields(); assertThat(valueOf(groupFields.size()), is(valueOf(2))); assertThat(valueOf(groupFields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(groupFields.get(0).type().encodedLength()), is(valueOf(4))); assertThat(valueOf(groupFields.get(1).computedOffset()), is(valueOf(4))); assertThat(valueOf(groupFields.get(1).type().encodedLength()), is(valueOf(8))); }
@Test public void shouldCalculateDimensionSizeWithOffsetsSpecified() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "composite-offsets-schema.xml"), ParserOptions.DEFAULT); final CompositeType dimensions = schema.getMessage(1).fields().get(0).dimensionType(); assertThat(valueOf(dimensions.encodedLength()), is(valueOf(8))); } }
@Test public void shouldHandleAllTypeOffsets() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "basic-types-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(1).fields(); assertThat(valueOf(fields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(fields.get(0).type().encodedLength()), is(valueOf(8))); assertThat(valueOf(fields.get(1).computedOffset()), is(valueOf(8))); assertThat(valueOf(fields.get(1).type().encodedLength()), is(valueOf(20))); assertThat(valueOf(fields.get(2).computedOffset()), is(valueOf(28))); assertThat(valueOf(fields.get(2).type().encodedLength()), is(valueOf(1))); assertThat(valueOf(fields.get(3).computedOffset()), is(valueOf(29))); assertThat(valueOf(fields.get(3).type().encodedLength()), is(valueOf(4))); assertThat(valueOf(fields.get(4).computedOffset()), is(valueOf(33))); assertThat(valueOf(fields.get(4).type().encodedLength()), is(valueOf(8))); }
@Test public void shouldHandleAllTypeOffsetsSetByXML() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "basic-types-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(2).fields(); assertThat(valueOf(fields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(fields.get(0).type().encodedLength()), is(valueOf(8))); assertThat(valueOf(fields.get(1).computedOffset()), is(valueOf(8))); assertThat(valueOf(fields.get(1).type().encodedLength()), is(valueOf(20))); assertThat(valueOf(fields.get(2).computedOffset()), is(valueOf(32))); assertThat(valueOf(fields.get(2).type().encodedLength()), is(valueOf(1))); assertThat(valueOf(fields.get(3).computedOffset()), is(valueOf(128))); assertThat(valueOf(fields.get(3).type().encodedLength()), is(valueOf(4))); assertThat(valueOf(fields.get(4).computedOffset()), is(valueOf(136))); assertThat(valueOf(fields.get(4).type().encodedLength()), is(valueOf(8))); }
@Test public void shouldCalculateGroupOffsetWithPaddingFromBlockLengthAndGroupBlockLength() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "block-length-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(3).fields(); assertThat(valueOf(fields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(fields.get(0).type().encodedLength()), is(valueOf(8))); assertThat(valueOf(fields.get(1).computedOffset()), is(valueOf(64))); Assert.assertNull(fields.get(1).type()); assertThat(valueOf(fields.get(1).computedBlockLength()), is(valueOf(16))); final List<Field> groupFields = fields.get(1).groupFields(); assertThat(valueOf(groupFields.size()), is(valueOf(2))); assertThat(valueOf(groupFields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(groupFields.get(0).type().encodedLength()), is(valueOf(4))); assertThat(valueOf(groupFields.get(1).computedOffset()), is(valueOf(4))); assertThat(valueOf(groupFields.get(1).type().encodedLength()), is(valueOf(8))); }
@Test public void shouldCalculateGroupOffsetWithNoPaddingFromBlockLength() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "block-length-schema.xml"), ParserOptions.DEFAULT); final Message msg = schema.getMessage(1); assertThat(valueOf(msg.blockLength()), is(valueOf(8))); final List<Field> fields = msg.fields(); assertThat(valueOf(fields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(fields.get(0).type().encodedLength()), is(valueOf(8))); assertThat(valueOf(fields.get(1).computedOffset()), is(valueOf(8))); Assert.assertNull(fields.get(1).type()); final List<Field> groupFields = fields.get(1).groupFields(); assertThat(valueOf(groupFields.size()), is(valueOf(2))); assertThat(valueOf(groupFields.get(0).computedOffset()), is(valueOf(0))); assertThat(valueOf(groupFields.get(0).type().encodedLength()), is(valueOf(4))); assertThat(valueOf(groupFields.get(1).computedOffset()), is(valueOf(4))); assertThat(valueOf(groupFields.get(1).type().encodedLength()), is(valueOf(8))); }
@Test public void shouldHandleEmbeddedCountForGroup() throws Exception { final MessageSchema schema = parse( TestUtil.getLocalResource("embedded-length-and-count-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(1).fields(); assertThat(fields.get(1).name(), is("ListOrdGrp")); assertThat(valueOf(fields.get(1).id()), is(valueOf(73))); Assert.assertNotNull(fields.get(1).dimensionType()); final List<Field> groupFields = fields.get(1).groupFields(); Assert.assertNotNull(groupFields); }
@Test public void shouldHandleBasicAllTypes() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource("basic-types-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(1).fields(); assertThat(fields.get(0).name(), is("header")); assertThat(fields.get(1).name(), is("EDTField")); assertThat(fields.get(2).name(), is("ENUMField")); assertThat(fields.get(3).name(), is("SETField")); assertThat(fields.get(4).name(), is("int64Field")); } }
@Test public void shouldHandleEncodingTypesWithNamedTypes() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "encoding-types-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(1).fields(); assertNotNull(fields); EnumType type = (EnumType)fields.get(1).type(); assertThat(type.encodingType(), is(PrimitiveType.CHAR)); type = (EnumType)fields.get(2).type(); assertThat(type.encodingType(), is(PrimitiveType.UINT8)); }
@Test public void shouldHandleEncodingTypesWithNamedTypes() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "encoding-types-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(1).fields(); assertNotNull(fields); SetType type = (SetType)fields.get(3).type(); assertThat(type.encodingType(), is(PrimitiveType.UINT8)); type = (SetType)fields.get(4).type(); assertThat(type.encodingType(), is(PrimitiveType.UINT16)); type = (SetType)fields.get(5).type(); assertThat(type.encodingType(), is(PrimitiveType.UINT32)); type = (SetType)fields.get(6).type(); assertThat(type.encodingType(), is(PrimitiveType.UINT64)); }
final List<Field> fields = schema.getMessage(1).fields(); final Field composite = fields.get(0);
@Test public void shouldParseSchemaSuccessfully() throws Exception { final MessageSchema schema = parse(TestUtil.getLocalResource( "group-with-data-schema.xml"), ParserOptions.DEFAULT); final List<Field> fields = schema.getMessage(1).fields(); final Field entriesGroup = fields.get(1); final CompositeType dimensionType = entriesGroup.dimensionType(); final List<Field> entriesFields = entriesGroup.groupFields(); assertThat(entriesGroup.name(), is("Entries")); assertThat(dimensionType.name(), is("groupSizeEncoding")); final Field varDataField = entriesFields.get(2); assertThat(varDataField.name(), is("varDataField")); assertTrue(varDataField.isVariableLength()); } }
private List<Token> generateForMessage(final MessageSchema schema, final long messageId) { tokenList.clear(); final Message msg = schema.getMessage(messageId); addMessageSignal(msg, Signal.BEGIN_MESSAGE); addAllFields(msg.fields()); addMessageSignal(msg, Signal.END_MESSAGE); return tokenList; }
private List<Token> generateForMessage(final MessageSchema schema, final long messageId) { tokenList.clear(); final Message msg = schema.getMessage(messageId); addMessageSignal(msg, Signal.BEGIN_MESSAGE); addAllFields(msg.fields()); addMessageSignal(msg, Signal.END_MESSAGE); return tokenList; }
private List<Token> generateForMessage(final MessageSchema schema, final long messageId) { tokenList.clear(); byteOrder = schema.byteOrder(); version = schema.version(); final Message msg = schema.getMessage(messageId); addMessageSignal(msg, Signal.BEGIN_MESSAGE); addAllFields(msg.fields()); addMessageSignal(msg, Signal.END_MESSAGE); return tokenList; }