提交 7ed31799 编写于 作者: G gyfora 提交者: Stephan Ewen

[streaming] streamrecord tupleBasicTypesFromLong update

上级 edd89686
......@@ -74,9 +74,10 @@ public class StreamRecord implements IOReadableWritable, Serializable {
private int numOfFields;
private int numOfTuples;
private static final Class<?>[] CLASSES = new Class<?>[] { Tuple1.class, Tuple2.class, Tuple3.class, Tuple4.class,
Tuple5.class, Tuple6.class, Tuple7.class, Tuple8.class, Tuple9.class, Tuple10.class, Tuple11.class,
Tuple12.class, Tuple13.class, Tuple14.class, Tuple15.class, Tuple16.class, Tuple17.class, Tuple18.class,
private static final Class<?>[] CLASSES = new Class<?>[] { Tuple1.class, Tuple2.class,
Tuple3.class, Tuple4.class, Tuple5.class, Tuple6.class, Tuple7.class, Tuple8.class,
Tuple9.class, Tuple10.class, Tuple11.class, Tuple12.class, Tuple13.class,
Tuple14.class, Tuple15.class, Tuple16.class, Tuple17.class, Tuple18.class,
Tuple19.class, Tuple20.class, Tuple21.class, Tuple22.class };
// TODO implement equals, clone
......@@ -189,7 +190,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Object getField(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Object getField(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
Tuple tuple;
try {
tuple = tupleBatch.get(tupleNumber);
......@@ -203,7 +205,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
}
}
public Object getFieldFast(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Object getFieldFast(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
Tuple tuple;
try {
tuple = tupleBatch.get(tupleNumber);
......@@ -242,7 +245,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* , NoSuchFieldException
*/
// TODO: add exception for cast for all getters
public Boolean getBoolean(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Boolean getBoolean(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (Boolean) getField(tupleNumber, fieldNumber);
}
......@@ -270,7 +274,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Byte getByte(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Byte getByte(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (Byte) getField(tupleNumber, fieldNumber);
}
......@@ -283,7 +288,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Character getCharacter(int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Character getCharacter(int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return getCharacter(0, fieldNumber);
}
......@@ -298,7 +304,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Character getCharacter(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Character getCharacter(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (Character) getField(tupleNumber, fieldNumber);
}
......@@ -326,7 +333,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Double getDouble(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Double getDouble(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (Double) getField(tupleNumber, fieldNumber);
}
......@@ -354,7 +362,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Float getFloat(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Float getFloat(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (Float) getField(tupleNumber, fieldNumber);
}
......@@ -382,7 +391,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Integer getInteger(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Integer getInteger(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (Integer) getField(tupleNumber, fieldNumber);
}
......@@ -410,7 +420,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Long getLong(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Long getLong(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (Long) getField(tupleNumber, fieldNumber);
}
......@@ -438,7 +449,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , NoSuchFieldException
*/
public Short getShort(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public Short getShort(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (Short) getField(tupleNumber, fieldNumber);
}
......@@ -464,7 +476,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* Position of the field in the tuple
* @return value of the field as String
*/
public String getString(int tupleNumber, int fieldNumber) throws NoSuchTupleException, NoSuchFieldException {
public String getString(int tupleNumber, int fieldNumber) throws NoSuchTupleException,
NoSuchFieldException {
return (String) getField(tupleNumber, fieldNumber);
}
......@@ -585,7 +598,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* New value
* @throws NoSuchFieldException
*/
public void setCharacter(int tupleNumber, int fieldNumber, Character c) throws NoSuchFieldException {
public void setCharacter(int tupleNumber, int fieldNumber, Character c)
throws NoSuchFieldException {
setField(tupleNumber, fieldNumber, c);
}
......@@ -808,7 +822,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , TupleSizeMismatchException
*/
public void getTupleInto(int tupleNumber, Tuple tuple) throws NoSuchTupleException, TupleSizeMismatchException {
public void getTupleInto(int tupleNumber, Tuple tuple) throws NoSuchTupleException,
TupleSizeMismatchException {
if (tuple.getArity() == numOfFields) {
try {
......@@ -847,7 +862,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
* @throws NoSuchTupleException
* , TupleSizeMismatchException
*/
public void setTuple(int tupleNumber, Tuple tuple) throws NoSuchTupleException, TupleSizeMismatchException {
public void setTuple(int tupleNumber, Tuple tuple) throws NoSuchTupleException,
TupleSizeMismatchException {
if (tuple.getArity() == numOfFields) {
try {
tupleBatch.set(tupleNumber, copyTuple(tuple));
......@@ -1025,43 +1041,39 @@ public class StreamRecord implements IOReadableWritable, Serializable {
@SuppressWarnings("rawtypes")
Class[] basicTypes = new Class[typeNums.length];
try {
for (int i = 0; i < basicTypes.length; i++) {
switch (typeNums[i]) {
case 0:
basicTypes[i] = Class.forName("java.lang.Boolean");
break;
case 1:
basicTypes[i] = Class.forName("java.lang.Byte");
break;
case 2:
basicTypes[i] = Class.forName("java.lang.Character");
break;
case 3:
basicTypes[i] = Class.forName("java.lang.Double");
break;
case 4:
basicTypes[i] = Class.forName("java.lang.Float");
break;
case 5:
basicTypes[i] = Class.forName("java.lang.Integer");
break;
case 6:
basicTypes[i] = Class.forName("java.lang.Long");
break;
case 7:
basicTypes[i] = Class.forName("java.lang.Short");
break;
case 8:
basicTypes[i] = Class.forName("java.lang.String");
break;
default:
basicTypes[i] = Class.forName("java.lang.String");
break;
}
for (int i = 0; i < basicTypes.length; i++) {
switch (typeNums[i]) {
case 0:
basicTypes[i] = java.lang.Boolean.class;
break;
case 1:
basicTypes[i] = java.lang.Byte.class;
break;
case 2:
basicTypes[i] = java.lang.Character.class;
break;
case 3:
basicTypes[i] = java.lang.Double.class;
break;
case 4:
basicTypes[i] = java.lang.Float.class;
break;
case 5:
basicTypes[i] = java.lang.Integer.class;
break;
case 6:
basicTypes[i] = java.lang.Long.class;
break;
case 7:
basicTypes[i] = java.lang.Short.class;
break;
case 8:
basicTypes[i] = java.lang.String.class;
break;
default:
basicTypes[i] = java.lang.String.class;
break;
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return basicTypes;
}
......@@ -1090,8 +1102,10 @@ public class StreamRecord implements IOReadableWritable, Serializable {
StringValue typeVal = new StringValue(basicTypeNames.toString());
@SuppressWarnings("unchecked")
TupleSerializer<Tuple> tupleSerializer = (TupleSerializer<Tuple>) typeInfo.createSerializer();
SerializationDelegate<Tuple> serializationDelegate = new SerializationDelegate<Tuple>(tupleSerializer);
TupleSerializer<Tuple> tupleSerializer = (TupleSerializer<Tuple>) typeInfo
.createSerializer();
SerializationDelegate<Tuple> serializationDelegate = new SerializationDelegate<Tuple>(
tupleSerializer);
serializationDelegate.setInstance(tuple);
try {
typeVal.write(out);
......@@ -1129,7 +1143,8 @@ public class StreamRecord implements IOReadableWritable, Serializable {
TypeInformation<? extends Tuple> typeInfo = TupleTypeInfo.getBasicTupleTypeInfo(basicTypes);
@SuppressWarnings("unchecked")
TupleSerializer<Tuple> tupleSerializer = (TupleSerializer<Tuple>) typeInfo.createSerializer();
TupleSerializer<Tuple> tupleSerializer = (TupleSerializer<Tuple>) typeInfo
.createSerializer();
DeserializationDelegate<Tuple> dd = new DeserializationDelegate<Tuple>(tupleSerializer);
dd.setInstance(tupleSerializer.createInstance());
......
......@@ -111,6 +111,7 @@ public class StreamRecordTest {
assertEquals((Character) '\0', record.getCharacter(0, 6));
assertEquals((Float) 0.f, record.getFloat(0, 7));
assertEquals((Short) (short) 0, record.getShort(0, 8));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册