[ https://issues.apache.org/jira/browse/BEAM-5967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16675375#comment-16675375 ]
Kenneth Knowles commented on BEAM-5967: --------------------------------------- [~alexvanboxel] I don't understand the details here. Can the `protoMessageClass` still provide a parser? Then it would be fine. Would you like to try to add this support? > ProtoCoder 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 > Priority: Major > > The ProtoCoder 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 coder for DynamicMessage or build it > into the normal ProtoCoder. > 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)