Author: bryanduxbury
Date: Thu Aug 12 17:21:06 2010
New Revision: 984868

URL: http://svn.apache.org/viewvc?rev=984868&view=rev
Log:
THRIFT-832. html: HTML generator shows unspecified struct fields as 'required'

This patch causes required/optional/default to reported appropriately.

Modified:
    incubator/thrift/trunk/compiler/cpp/src/generate/t_html_generator.cc

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_html_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_html_generator.cc?rev=984868&r1=984867&r2=984868&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_html_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_html_generator.cc Thu 
Aug 12 17:21:06 2010
@@ -534,7 +534,7 @@ void t_html_generator::generate_struct(t
   vector<t_field*> members = tstruct->get_members();
   vector<t_field*>::iterator mem_iter = members.begin();
   f_out_ << "<table>";
-  f_out_ << 
"<tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th><th>Default
 value</th></tr>"
+  f_out_ << 
"<tr><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></tr>"
         << endl;
   for ( ; mem_iter != members.end(); mem_iter++) {
     f_out_ << "<tr><td>" << (*mem_iter)->get_name() << "</td><td>";
@@ -542,10 +542,12 @@ void t_html_generator::generate_struct(t
     f_out_ << "</td><td>";
     f_out_ << (*mem_iter)->get_doc();
     f_out_ << "</td><td>";
-    if ((*mem_iter)->get_req() != t_field::T_OPTIONAL) {
-      f_out_ << "yes";
+    if ((*mem_iter)->get_req() == t_field::T_OPTIONAL) {
+      f_out_ << "optional";
+    } else if ((*mem_iter)->get_req() == t_field::T_REQUIRED) {
+      f_out_ << "required";
     } else {
-      f_out_ << "no";
+      f_out_ << "default";
     }
     f_out_ << "</td><td>";
     t_const_value* default_val = (*mem_iter)->get_value();


Reply via email to