Alex Van Boxel created BEAM-5967:
------------------------------------
Summary: ProtoCodec doesn't support DynamicMessage
Key: BEAM-5967
URL: https://issues.apache.org/jira/browse/BEAM-5967
Project: Beam
Issue Type: Improvement
Components: sdk-java-core
Affects Versions: 2.8.0
Reporter: Alex Van Boxel
Assignee: Kenneth Knowles
The ProtoCodec does make some assumptions about static messages being
available. The DynamicMessage doesn't have some of them, mainly because the
proto schema is defined at runtime and not at compile time.
Does it make sense to make a special codec for DynamicMessage or build it into
the normal ProtoCodec.
Here is an example of the assumtion being made in the current Codec:
{code:java}
try {
@SuppressWarnings("unchecked")
T protoMessageInstance = (T)
protoMessageClass.getMethod("getDefaultInstance").invoke(null);
@SuppressWarnings("unchecked")
Parser<T> tParser = (Parser<T>) protoMessageInstance.getParserForType();
memoizedParser = tParser;
} catch (IllegalAccessException | InvocationTargetException |
NoSuchMethodException e) {
throw new IllegalArgumentException(e);
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)