You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2015/07/21 21:11:04 UTC
[25/26] flink git commit: [FLINK-2018] [core] Add
ParameterUtil.fromGenericOptionsParser()
[FLINK-2018] [core] Add ParameterUtil.fromGenericOptionsParser()
This closes #720
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/148395bc
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/148395bc
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/148395bc
Branch: refs/heads/master
Commit: 148395bcd81a93bcb1473e4e93f267edb3b71c7e
Parents: 50344d7
Author: Ajay Bhat <Aj...@air-watch.com>
Authored: Sun May 24 11:00:09 2015 +0530
Committer: Stephan Ewen <se...@apache.org>
Committed: Tue Jul 21 17:58:16 2015 +0200
----------------------------------------------------------------------
.../org/apache/flink/api/java/utils/ParameterTool.java | 12 ++++++++++++
.../apache/flink/api/java/utils/ParameterToolTest.java | 6 ++++++
2 files changed, 18 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/148395bc/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java
----------------------------------------------------------------------
diff --git a/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java b/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java
index 2afdff2..317dce4 100644
--- a/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java
+++ b/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java
@@ -18,9 +18,11 @@
package org.apache.flink.api.java.utils;
import com.google.common.base.Preconditions;
+import org.apache.commons.cli.Option;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.flink.api.common.ExecutionConfig;
import org.apache.flink.configuration.Configuration;
+import org.apache.hadoop.util.GenericOptionsParser;
import java.io.File;
import java.io.FileInputStream;
@@ -141,6 +143,16 @@ public class ParameterTool extends ExecutionConfig.GlobalJobParameters implement
return fromMap((Map) System.getProperties());
}
+ public static ParameterTool fromGenericOptionsParser(String[] args) throws IOException {
+ Option[] options = new GenericOptionsParser(args).getCommandLine().getOptions();
+ Map<String, String> map = new HashMap<String, String>();
+ for (Option option : options) {
+ String[] split = option.getValue().split("=");
+ map.put(split[0], split[1]);
+ }
+ return fromMap(map);
+ }
+
// ------------------ ParameterUtil ------------------------
protected final Map<String, String> data;
protected final HashMap<String, String> defaultData;
http://git-wip-us.apache.org/repos/asf/flink/blob/148395bc/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java
----------------------------------------------------------------------
diff --git a/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java b/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java
index c660b7a..8987c97 100644
--- a/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java
+++ b/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java
@@ -150,6 +150,12 @@ public class ParameterToolTest {
validate(parameter);
}
+ @Test
+ public void testFromGenericOptionsParser() throws IOException {
+ ParameterTool parameter = ParameterTool.fromGenericOptionsParser(new String[]{"-D", "input=myInput", "-DexpectedCount=15"});
+ validate(parameter);
+ }
+
private void validate(ParameterTool parameter) {
ClosureCleaner.ensureSerializable(parameter);
Assert.assertEquals("myInput", parameter.getRequired("input"));