Skip to content

Commit

Permalink
Convert message to builder if necessary
Browse files Browse the repository at this point in the history
  • Loading branch information
angushe committed Dec 10, 2014
1 parent cb35d46 commit 84c836c
Showing 1 changed file with 9 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,15 @@ public Object getStructFieldData(Object data, StructField structField) {
if (data == null) {
return null;
}
Message.Builder builder = (Message.Builder) data;
Message.Builder builder;
if (data instanceof Message.Builder) {
builder = (Message.Builder)data;
} else if (data instanceof Message) {
builder = ((Message)data).toBuilder();
} else {
throw new RuntimeException("Type Message or Message.Builder expected: " +
data.getClass().getCanonicalName());
}
ProtobufStructField psf = (ProtobufStructField) structField;
FieldDescriptor fieldDescriptor = psf.getFieldDescriptor();
Object result = builder.getField(fieldDescriptor);
Expand Down

0 comments on commit 84c836c

Please sign in to comment.