From 73626787fda3b4d2b823017b9836d534ab2843d8 Mon Sep 17 00:00:00 2001 From: David Mollitor Date: Wed, 7 Oct 2020 22:14:22 -0400 Subject: THRIFT-5292: No Need to Explicitly Print Null --- compiler/cpp/src/thrift/generate/t_java_generator.cc | 11 ----------- lib/java/src/org/apache/thrift/TBaseHelper.java | 10 ++++++++++ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/compiler/cpp/src/thrift/generate/t_java_generator.cc b/compiler/cpp/src/thrift/generate/t_java_generator.cc index ceabe6687..38ead207c 100644 --- a/compiler/cpp/src/thrift/generate/t_java_generator.cc +++ b/compiler/cpp/src/thrift/generate/t_java_generator.cc @@ -2645,13 +2645,6 @@ void t_java_generator::generate_java_struct_tostring(ostream& out, t_struct* tst indent(out) << "if (!first) sb.append(\", \");" << endl; } indent(out) << "sb.append(\"" << (*f_iter)->get_name() << ":\");" << endl; - bool can_be_null = type_can_be_null(field->get_type()); - if (can_be_null) { - indent(out) << "if (this." << (*f_iter)->get_name() << " == null) {" << endl; - indent(out) << " sb.append(\"null\");" << endl; - indent(out) << "} else {" << endl; - indent_up(); - } if (get_true_type(field->get_type())->is_binary()) { indent(out) << "org.apache.thrift.TBaseHelper.toString(this." << field->get_name() << ", sb);" @@ -2668,10 +2661,6 @@ void t_java_generator::generate_java_struct_tostring(ostream& out, t_struct* tst indent(out) << "sb.append(this." << (*f_iter)->get_name() << ");" << endl; } - if (can_be_null) { - indent_down(); - indent(out) << "}" << endl; - } indent(out) << "first = false;" << endl; if (could_be_unset) { diff --git a/lib/java/src/org/apache/thrift/TBaseHelper.java b/lib/java/src/org/apache/thrift/TBaseHelper.java index 6f6c6ebf5..18471b4ba 100644 --- a/lib/java/src/org/apache/thrift/TBaseHelper.java +++ b/lib/java/src/org/apache/thrift/TBaseHelper.java @@ -191,6 +191,11 @@ public final class TBaseHelper { } public static void toString(Collection bbs, StringBuilder sb) { + if (bbs == null) { + sb.append(bbs); + return; + } + Iterator it = bbs.iterator(); if (!it.hasNext()) { sb.append("[]"); @@ -210,6 +215,11 @@ public final class TBaseHelper { } public static void toString(ByteBuffer bb, StringBuilder sb) { + if (bb == null) { + sb.append(bb); + return; + } + byte[] buf = bb.array(); int arrayOffset = bb.arrayOffset(); -- cgit v1.2.1