This is an automated email from the ASF dual-hosted git repository.

dmollitor pushed a commit to branch THRIFT-5292
in repository https://gitbox.apache.org/repos/asf/thrift.git

commit 73626787fda3b4d2b823017b9836d534ab2843d8
Author: David Mollitor <[email protected]>
AuthorDate: Wed Oct 7 22:14:22 2020 -0400

    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 ceabe66..38ead20 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 6f6c6eb..18471b4 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<ByteBuffer> bbs, StringBuilder sb) {
+    if (bbs == null) {
+      sb.append(bbs);
+      return;
+    }
+
     Iterator<ByteBuffer> 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();

Reply via email to