textproxy: Allow testproxy to build its own proto registry #2682
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Test proxy needs to build the proto type dynamically so it can properly construct the response message.
Change-Id: Ie930064363d92d61daad498e8380dd87ab6722dd
This is needed for the test proxy to read values from proto/enum columns, as the current API
getProtoMessage(int columnIndex, AbstractMessage message)andgetProtoEnum(int columnIndex, Function<Integer, ProtocolMessageEnum> forNumber)mandates such a message object or static function as the second argument.The solution implemented here for handling Enum is quite hacky (and implemented via Gemini), so it should be reviewed with extra attention.
The way we build the internal proto registry (messageDescriptorMap,enumDescriptorMap) from aFileDescriptorSetis also not straightforward (but tested locally).