Thanks Kenn and JB, I just filed https://issues.apache.org/jira/browse/BEAM-2514 and PR https://github.com/apache/beam/pull/3438 Please help to review.
Thanks, Manu On Mon, Jun 26, 2017 at 12:20 PM Jean-Baptiste Onofré <[email protected]> wrote: > Hi Manu, > > Agree, it makes sense. > > Regards > JB > > On 06/25/2017 12:57 PM, Manu Zhang wrote: > > Hi all, > > > > Currently, if a required option is missing for a Beam pipeline, the error > > message is like > > > >> > >> Exception in thread "main" java.lang.IllegalArgumentException: Missing > >> required value for [public abstract java.lang.String > >> org.apache.beam.examples.WordCount$WordCountOptions.getOutput(), "Path > of > >> the file to write to"]. > > > > > > This is quite long but doesn't give any hint to users about the required > > option. Instead, I'm thinking about something like > > > > Exception in thread "main" java.lang.IllegalArgumentException: Missing > >> required option [--output, "Path of the file to write to"]. > > > > > > It can be achieved by adding a method that *returns the option from a > > method* to ProxyInvocationHandler > > < > https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/options/ProxyInvocationHandler.java > > > > class. > > > > public String getOption(Method method) { > > return gettersToPropertyNames.get(method.getName()); > > } > > > > > > This may look general for ProxyInvocationHandler but you get the idea. > > > > WDYT? > > > > Thanks, > > Manu > > > > -- > Jean-Baptiste Onofré > [email protected] > http://blog.nanthrax.net > Talend - http://www.talend.com >
