You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Robert Metzger (JIRA)" <ji...@apache.org> on 2015/09/04 14:18:45 UTC

[jira] [Commented] (FLINK-2621) Add support for positional arguments to ParameterTool

    [ https://issues.apache.org/jira/browse/FLINK-2621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14730709#comment-14730709 ] 

Robert Metzger commented on FLINK-2621:
---------------------------------------

Looks good. I think that the check for conditional arguments {{arg.contains("--")}} is a bit too weak. 

Why aren't you adding a `fromPositionalArgs()` static method?

> Add support for positional arguments to ParameterTool
> -----------------------------------------------------
>
>                 Key: FLINK-2621
>                 URL: https://issues.apache.org/jira/browse/FLINK-2621
>             Project: Flink
>          Issue Type: Sub-task
>          Components: flink-contrib
>            Reporter: Behrouz Derakhshan
>             Fix For: 0.9
>
>
> While working on FLINK-2021, we noticed we need to have support for positional arguments, since after FLINK-2021 is merged, all training materials and guides that are pointing to the old way of executing the examples will not work. 
> What I have in mind is something like this:
> {code}
> // ------------------ Constructors ------------------------
> 	public static ParameterTool fromArgs(String[] args) {
> 		isPositional = true;
> 		// check if arg type is positional
> 		for(String arg:args){
> 			if (arg.contains("--")){
> 				isPositional = false;
> 			}
> 		}
> 		if(isPositional){
> 			return fromPositionalArgument(args);
> 		}
> 		...
> 	// create ParameterTool for positional arguments
> 	public static ParameterTool fromPositionalArgument(String[] args){
> 		return new ParameterTool(args);
> 	}
> 		...
> 	// underlying storage for arguments 
> 	private String[] dataPositional;
> 	private ParameterTool(String[] args){
> 		this.dataPositional = args;
> 	}
> 	// return the positional argument based on the given index
> 	public String get(int position){
> 		if(!isPositional){
> 			throw new RuntimeException("Arguments are of type of key, value");
> 		}
> 		return dataPositional[position];
> 	}
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)