Hi,
I'm using the Java output feature of protobuf for my app.
I found that protobuf doesn't handle null values as well as i would
expect it.
for example:
message MyMessage {
required int32 id = 1;
optional string code = 2;
}
in java:
MyMessage message = MyMessage.newBuilder().setId(3).setCode(null).build
();
message.writeTo(System.out); // <--- this will result a
NullPointerException when trying to write the code field
the reason is that in the created java source the setCode() method
looks like this:
public Builder setCode(java.lang.String value) {
result.hasCode = true; // the field flag indicate a value
while there isn't!
result.code_ = value;
return this;
}
method should look like:
// for optional fields
public Builder setCode(java.lang.String value) {
result.hasCode = (value != null) ;
result.code_ = value;
return this;
}
// for required fields
public Builder setCode(java.lang.String value) {
assert value != null;
result.hasCode = true;
result.code_ = value;
return this;
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/protobuf?hl=en
-~----------~----~----~----~------~----~------~--~---