You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Kai Jiang (JIRA)" <ji...@apache.org> on 2017/08/21 23:21:00 UTC
[jira] [Assigned] (BEAM-2779) PipelineOptionsFactory should prevent
non PipelineOptions interfaces from being constructed.
[ https://issues.apache.org/jira/browse/BEAM-2779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kai Jiang reassigned BEAM-2779:
-------------------------------
Assignee: Kai Jiang
> PipelineOptionsFactory should prevent non PipelineOptions interfaces from being constructed.
> --------------------------------------------------------------------------------------------
>
> Key: BEAM-2779
> URL: https://issues.apache.org/jira/browse/BEAM-2779
> Project: Beam
> Issue Type: Bug
> Components: sdk-java-core
> Affects Versions: 2.0.0
> Reporter: Luke Cwik
> Assignee: Kai Jiang
> Priority: Minor
> Labels: starter
>
> PipelineOptions currently serializes information about all getter/setter pairs on interfaces which don't extend PipelineOptions.
> For example:
> {code:java}
> interface Foo extends PipelineOptions, Bar {
> String getFoo();
> void setFoo(String value);
> }
> interface Bar {
> String getBar();
> void setBar(String value);
> }
> {code}
> The serialization of the above (when both *foo* and *bar* are set) will produce JSON where we only include display data for *foo* but data for both *foo* and *bar*. During validation of an interface in *PipelineOptionsFactory*, we should throw an error if one of the users interfaces doesn't extend *PipelineOptions* (note that we should ignore the HasDisplayData interface).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)