List of usage examples for org.apache.thrift.protocol TMap TMap
public TMap()
From source file:com.ebay.nest.io.sede.thrift.TCTLSeparatedProtocol.java
License:Apache License
@Override public TMap readMapBegin() throws TException { assert (!inner); TMap map = new TMap(); if (columns[index] == null || columns[index].equals(nullString)) { index++;/*from www .java2 s . c om*/ if (returnNulls) { return null; } } else if (columns[index].isEmpty()) { index++; } else { fields = mapPattern.split(columns[index++]); map = new TMap(ORDERED_TYPE, ORDERED_TYPE, fields.length / 2); } innerIndex = 0; inner = true; isMap = true; return map; }
From source file:org.apache.hadoop.hive.serde2.TestTCTLSeparatedProtocol.java
License:Apache License
public void testWrites() throws Exception { TMemoryBuffer trans = new TMemoryBuffer(1024); TCTLSeparatedProtocol prot = new TCTLSeparatedProtocol(trans, 1024); prot.writeStructBegin(new TStruct()); prot.writeFieldBegin(new TField()); prot.writeI32(100);/*from www . j av a2s .c om*/ prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeListBegin(new TList()); prot.writeDouble(348.55); prot.writeDouble(234.22); prot.writeListEnd(); prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeString("hello world!"); prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeMapBegin(new TMap()); prot.writeString("key1"); prot.writeString("val1"); prot.writeString("key2"); prot.writeString("val2"); prot.writeString("key3"); prot.writeString("val3"); prot.writeMapEnd(); prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeListBegin(new TList()); prot.writeString("elem1"); prot.writeString("elem2"); prot.writeListEnd(); prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeString("bye!"); prot.writeFieldEnd(); prot.writeStructEnd(); trans.flush(); byte[] b = new byte[3 * 1024]; int len = trans.read(b, 0, b.length); String test = new String(b, 0, len); String testRef = "100348.55234.22hello world!key1val1key2val2key3val3elem1elem2bye!"; assertTrue(test.equals(testRef)); trans = new TMemoryBuffer(1023); trans.write(b, 0, len); // // read back! // prot = new TCTLSeparatedProtocol(trans, 10); prot.initialize(new Configuration(), new Properties()); // 100 is the start prot.readStructBegin(); prot.readFieldBegin(); assertTrue(prot.readI32() == 100); prot.readFieldEnd(); // let's see if doubles work ok prot.readFieldBegin(); TList l = prot.readListBegin(); assertTrue(l.size == 2); assertTrue(prot.readDouble() == 348.55); assertTrue(prot.readDouble() == 234.22); prot.readListEnd(); prot.readFieldEnd(); // nice message prot.readFieldBegin(); assertTrue(prot.readString().equals("hello world!")); prot.readFieldEnd(); // 3 element map prot.readFieldBegin(); TMap m = prot.readMapBegin(); assertTrue(m.size == 3); assertTrue(prot.readString().equals("key1")); assertTrue(prot.readString().equals("val1")); assertTrue(prot.readString().equals("key2")); assertTrue(prot.readString().equals("val2")); assertTrue(prot.readString().equals("key3")); assertTrue(prot.readString().equals("val3")); prot.readMapEnd(); prot.readFieldEnd(); // the 2 element list prot.readFieldBegin(); l = prot.readListBegin(); assertTrue(l.size == 2); assertTrue(prot.readString().equals("elem1")); assertTrue(prot.readString().equals("elem2")); prot.readListEnd(); prot.readFieldEnd(); // final string prot.readFieldBegin(); assertTrue(prot.readString().equals("bye!")); prot.readFieldEnd(); // shouldl return nulls at end prot.readFieldBegin(); assertNull(prot.readString()); prot.readFieldEnd(); // shouldl return nulls at end prot.readFieldBegin(); assertNull(prot.readString()); prot.readFieldEnd(); prot.readStructEnd(); }
From source file:org.apache.hadoop.hive.serde2.TestTCTLSeparatedProtocol.java
License:Apache License
public void testNulls() throws Exception { TMemoryBuffer trans = new TMemoryBuffer(1024); TCTLSeparatedProtocol prot = new TCTLSeparatedProtocol(trans, 10); prot.initialize(new Configuration(), new Properties()); prot.writeStructBegin(new TStruct()); prot.writeFieldBegin(new TField()); prot.writeString(null);/*from ww w . ja va 2 s .com*/ prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeString(null); prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeI32(100); prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeString(null); prot.writeFieldEnd(); prot.writeFieldBegin(new TField()); prot.writeMapBegin(new TMap()); prot.writeString(null); prot.writeString(null); prot.writeString("key2"); prot.writeString(null); prot.writeString(null); prot.writeString("val3"); prot.writeMapEnd(); prot.writeFieldEnd(); prot.writeStructEnd(); byte b[] = new byte[3 * 1024]; int len = trans.read(b, 0, b.length); String written = new String(b, 0, len); String testRef = "\\N\\N100\\N\\N\\Nkey2\\N\\Nval3"; assertTrue(testRef.equals(written)); trans = new TMemoryBuffer(1023); trans.write(b, 0, len); prot = new TCTLSeparatedProtocol(trans, 3); prot.initialize(new Configuration(), new Properties()); prot.readStructBegin(); prot.readFieldBegin(); String ret = prot.readString(); prot.readFieldEnd(); assertNull(ret); prot.readFieldBegin(); ret = prot.readString(); prot.readFieldEnd(); assertNull(ret); prot.readFieldBegin(); int ret1 = prot.readI32(); prot.readFieldEnd(); assertTrue(ret1 == 100); prot.readFieldBegin(); ret1 = prot.readI32(); prot.readFieldEnd(); prot.readFieldBegin(); TMap map = prot.readMapBegin(); assertTrue(map.size == 3); assertNull(prot.readString()); assertNull(prot.readString()); assertTrue(prot.readString().equals("key2")); assertNull(prot.readString()); assertNull(prot.readString()); assertTrue(prot.readString().equals("val3")); prot.readMapEnd(); prot.readFieldEnd(); assertTrue(ret1 == 0); }
From source file:org.apache.parquet.thrift.projection.amend.DefaultEventsVisitor.java
License:Apache License
@Override public Void visit(ThriftType.MapType mapType, Void v) { dummyEvents.add(new ParquetProtocol("readMapBegin()") { @Override/*from w w w . j av a2s .com*/ public TMap readMapBegin() throws TException { return new TMap(); } }); dummyEvents.add(new ParquetProtocol("readMapEnd()") { @Override public void readMapEnd() throws TException { } }); return null; }
From source file:parquet.thrift.projection.amend.DefaultEventsVisitor.java
License:Apache License
@Override public void visit(ThriftType.MapType mapType) { dummyEvents.add(new ParquetProtocol("readMapBegin()") { @Override//from w w w . ja va2 s . c o m public TMap readMapBegin() throws TException { return new TMap(); } }); dummyEvents.add(new ParquetProtocol("readMapEnd()") { @Override public void readMapEnd() throws TException { } }); }