SLIDER-961 clean up SliderClient code -methods moved to CommandLineBuilder should really have gone into JavaCommandLineBuilder
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/f1bad85f Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/f1bad85f Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/f1bad85f Branch: refs/heads/feature/SLIDER-82-pass-3.1 Commit: f1bad85f3f26622d5339abea1f3de353be06ce82 Parents: 3b9b221 Author: Steve Loughran <[email protected]> Authored: Thu Nov 5 13:24:14 2015 +0000 Committer: Steve Loughran <[email protected]> Committed: Thu Nov 5 14:04:05 2015 +0000 ---------------------------------------------------------------------- .../slider/core/launch/CommandLineBuilder.java | 55 ------------------ .../core/launch/JavaCommandLineBuilder.java | 59 +++++++++++++++++++- 2 files changed, 58 insertions(+), 56 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/f1bad85f/slider-core/src/main/java/org/apache/slider/core/launch/CommandLineBuilder.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/core/launch/CommandLineBuilder.java b/slider-core/src/main/java/org/apache/slider/core/launch/CommandLineBuilder.java index 57b8965..dbaa981 100644 --- a/slider-core/src/main/java/org/apache/slider/core/launch/CommandLineBuilder.java +++ b/slider-core/src/main/java/org/apache/slider/core/launch/CommandLineBuilder.java @@ -19,11 +19,8 @@ package org.apache.slider.core.launch; import com.google.common.base.Preconditions; -import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.yarn.api.ApplicationConstants; -import org.apache.slider.common.params.Arguments; import org.apache.slider.common.tools.SliderUtils; -import org.apache.slider.core.exceptions.BadConfigException; import java.util.ArrayList; import java.util.List; @@ -104,56 +101,4 @@ public class CommandLineBuilder { return argumentList; } - public boolean addConfOption(Configuration conf, String key) { - String val = conf.get(key); - return defineIfSet(key, val); - } - - public String addConfOptionToCLI(Configuration conf, - String key, - String defVal) { - String val = conf.get(key, defVal); - define(key, val); - return val; - } - - /** - * Add a <code>-D key=val</code> command to the CLI - * @param key key - * @param val value - */ - public void define(String key, String val) { - Preconditions.checkArgument(key != null, "null key"); - Preconditions.checkArgument(val != null, "null value"); - add(Arguments.ARG_DEFINE, key + "=" + val); - } - - /** - * Add a <code>-D key=val</code> command to the CLI if <code>val</code> - * is not null - * @param key key - * @param val value - */ - public boolean defineIfSet(String key, String val) { - Preconditions.checkArgument(key != null, "null key"); - if (val != null) { - define(key, val); - return true; - } else { - return false; - } - } - - /** - * Add a mandatory config option - * @param conf configuration - * @param key key - * @throws BadConfigException if the key is missing - */ - public void addMandatoryConfOption(Configuration conf, - String key) throws BadConfigException { - if (!addConfOption(conf, key)) { - throw new BadConfigException("Missing configuration option: " + key); - } - } } http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/f1bad85f/slider-core/src/main/java/org/apache/slider/core/launch/JavaCommandLineBuilder.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/core/launch/JavaCommandLineBuilder.java b/slider-core/src/main/java/org/apache/slider/core/launch/JavaCommandLineBuilder.java index 0b3fa10..9197e5d 100644 --- a/slider-core/src/main/java/org/apache/slider/core/launch/JavaCommandLineBuilder.java +++ b/slider-core/src/main/java/org/apache/slider/core/launch/JavaCommandLineBuilder.java @@ -20,11 +20,15 @@ package org.apache.slider.core.launch; import com.google.common.base.Preconditions; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.yarn.api.ApplicationConstants; import org.apache.slider.common.tools.SliderUtils; +import org.apache.slider.core.exceptions.BadConfigException; /** - * Command line builder purely for the Java CLI + * Command line builder purely for the Java CLI. + * Some of the <code>define</code> methods are designed to work with Hadoop tool and + * Slider launcher applications. */ public class JavaCommandLineBuilder extends CommandLineBuilder { @@ -80,4 +84,57 @@ public class JavaCommandLineBuilder extends CommandLineBuilder { sysprop("java.awt.headless", "true"); return this; } + + public boolean addConfOption(Configuration conf, String key) { + String val = conf.get(key); + return defineIfSet(key, val); + } + + public String addConfOptionToCLI(Configuration conf, + String key, + String defVal) { + String val = conf.get(key, defVal); + define(key, val); + return val; + } + + /** + * Add a <code>-D key=val</code> command to the CLI. This is very Hadoop API + * @param key key + * @param val value + */ + public void define(String key, String val) { + Preconditions.checkArgument(key != null, "null key"); + Preconditions.checkArgument(val != null, "null value"); + add("-D", key + "=" + val); + } + + /** + * Add a <code>-D key=val</code> command to the CLI if <code>val</code> + * is not null + * @param key key + * @param val value + */ + public boolean defineIfSet(String key, String val) { + Preconditions.checkArgument(key != null, "null key"); + if (val != null) { + define(key, val); + return true; + } else { + return false; + } + } + + /** + * Add a mandatory config option + * @param conf configuration + * @param key key + * @throws BadConfigException if the key is missing + */ + public void addMandatoryConfOption(Configuration conf, + String key) throws BadConfigException { + if (!addConfOption(conf, key)) { + throw new BadConfigException("Missing configuration option: " + key); + } + } }
