-
Notifications
You must be signed in to change notification settings - Fork 2
KeyReaderWriter
gerritjvv edited this page Feb 22, 2012
·
2 revisions
Programatically
private Projection buildProjection() {
Projection.Builder pbuilder = Projection.newBuilder();
pbuilder.setName("TestTable");
pbuilder.setId(100);
pbuilder.setClientId(1);
pbuilder.addColumn(Column.newBuilder().setName("a").setOrder(0)
.setType(ProjectionColumnType.INT.toString())
.setWidth(ProjectionColumnType.INT.getWidth()));
pbuilder.addColumn(Column.newBuilder().setName("b").setOrder(1)
.setType(ProjectionColumnType.LONG.toString())
.setWidth(ProjectionColumnType.LONG.getWidth()));
pbuilder.addColumn(Column.newBuilder().setName("c").setOrder(2)
.setType(ProjectionColumnType.STRING.toString()).setWidth(4));
pbuilder.addColumn(Column.newBuilder().setName("d").setOrder(3)
.setType(ProjectionColumnType.DOUBLE.toString())
.setWidth(ProjectionColumnType.DOUBLE.getWidth()));
return pbuilder.build();
}Or Parser:
String projectionStr = "TABLE mytable (a INT, b LONG, c STRING 100, d DOUBLE )"; ProjectionLexer lexer = new ProjectionLexer(new ANTLRStringStream( projectionStr)); ProjectionParser parser = new ProjectionParser(new CommonTokenStream( lexer)); projection_return preturn = parser.projection(); return preturn.builder.build();
Projection projection = buildProjection();
KeyWriterReader kwr = new KeyWriterReader(projection);
assertEquals(1, kwr.readClientId());
assertEquals(100, kwr.readProjectionId());
kwr.write("a", "10");
kwr.write("b", "1");
kwr.write("c", "1234");
kwr.write("d", "0.234D");
assertEquals(10, kwr.readInt("a"));
assertEquals(1L, kwr.readLong("b"));
assertEquals("1234", kwr.readString("c"));
assertTrue(0.234D == kwr.readDouble("d"));