From 68839504c2f13a058b17391414f40012e54ff398 Mon Sep 17 00:00:00 2001 From: Bryan Duxbury Date: Thu, 1 Mar 2012 23:43:54 +0000 Subject: [PATCH] THRIFT-1527. java: Generated implementation of tupleReadStruct in unions return null when the setfield is unrecognized Unrecognized fields will now result in a TProtocolException when reading with the TupleProtocol. git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1295997 13f79535-47bb-0310-9956-ffa450edef68 --- compiler/cpp/src/generate/t_java_generator.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc index 3f832226..6ef38388 100644 --- a/compiler/cpp/src/generate/t_java_generator.cc +++ b/compiler/cpp/src/generate/t_java_generator.cc @@ -353,6 +353,7 @@ string t_java_generator::java_type_imports() { "import org.apache.thrift.scheme.StandardScheme;\n\n" + "import org.apache.thrift.scheme.TupleScheme;\n" + "import org.apache.thrift.protocol.TTupleProtocol;\n" + + "import org.apache.thrift.protocol.TProtocolException;\n" + "import org.apache.thrift.EncodingUtils;\n" + "import java.util.List;\n" + "import java.util.ArrayList;\n" + @@ -1082,7 +1083,7 @@ void t_java_generator::generate_tuple_scheme_read_value(ofstream& out, t_struct* indent_down(); indent(out) << "} else {" << endl; indent_up(); - indent(out) << "return null;" << endl; + indent(out) << "throw new TProtocolException(\"Couldn't find a field with field id \" + fieldID);" << endl; indent_down(); indent(out) << "}" << endl; indent_down(); -- 2.17.1