http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java deleted file mode 100644 index da1b0e5..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import com.beust.jcommander.Parameters; -import org.apache.slider.common.SliderKeys; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; -import org.apache.slider.core.exceptions.UsageException; -import org.apache.slider.core.registry.docstore.ConfigFormat; - -import static org.apache.slider.common.params.SliderActions.ACTION_REGISTRY; -import static org.apache.slider.common.params.SliderActions.DESCRIBE_ACTION_REGISTRY; -import java.io.File; - -/** - * Registry actions - * - * --instance {app name}, if a / is in it, refers underneath? - * --dest {destfile} - * --list : list instances of slider service - * --listfiles - */ -@Parameters(commandNames = {ACTION_REGISTRY}, - commandDescription = DESCRIBE_ACTION_REGISTRY) - -public class ActionRegistryArgs extends AbstractActionArgs { - - public static final String USAGE = - "Usage: " + SliderActions.ACTION_REGISTRY - + " (" - + Arguments.ARG_LIST + "|" - + Arguments.ARG_LISTCONF + "|" - + Arguments.ARG_LISTEXP + "|" - + Arguments.ARG_LISTFILES + "|" - + Arguments.ARG_GETCONF + "|" - + Arguments.ARG_GETEXP + "> " - + Arguments.ARG_NAME + " <name> " - + " )" - + "[" + Arguments.ARG_VERBOSE + "] " - + "[" + Arguments.ARG_USER + "] " - + "[" + Arguments.ARG_OUTPUT + " <filename> ] " - + "[" + Arguments.ARG_SERVICETYPE + " <servicetype> ] " - + "[" + Arguments.ARG_FORMAT + " <xml|json|properties>] " - + System.getProperty("line.separator") - + "Arguments.ARG_GETEXP only supports " + Arguments.ARG_FORMAT + " json" - ; - public ActionRegistryArgs() { - } - - public ActionRegistryArgs(String name) { - this.name = name; - } - - @Override - public String getActionName() { - return ACTION_REGISTRY; - } - - /** - * Get the min #of params expected - * @return the min number of params in the {@link #parameters} field - */ - @Override - public int getMinParams() { - return 0; - } - - @Parameter(names = {ARG_LIST}, - description = "list services") - public boolean list; - - @Parameter(names = {ARG_LISTCONF}, - description = "list configurations") - public boolean listConf; - - @Parameter(names = {ARG_GETCONF}, - description = "get configuration") - public String getConf; - - @Parameter(names = {ARG_LISTEXP}, - description = "list exports") - public boolean listExports; - - @Parameter(names = {ARG_GETEXP}, - description = "get export") - public String getExport; - - @Parameter(names = {ARG_LISTFILES}, - description = "list files") - public String listFiles; - - @Parameter(names = {ARG_GETFILES}, - description = "get files") - public String getFiles; - - //--format - @Parameter(names = ARG_FORMAT, - description = "Format for a response: <xml|json|properties>") - public String format = ConfigFormat.XML.toString() ; - - @Parameter(names = {ARG_OUTPUT, ARG_OUTPUT_SHORT, ARG_DEST}, - description = "Output destination") - public File out; - - @Parameter(names = {ARG_NAME}, - description = "name of an instance") - public String name; - - @Parameter(names = {ARG_SERVICETYPE}, - description = "optional service type") - public String serviceType = SliderKeys.APP_TYPE; - - @Parameter(names = {ARG_VERBOSE}, - description = "verbose output") - public boolean verbose; - - @Parameter(names = {ARG_INTERNAL}, - description = "fetch internal registry entries") - public boolean internal; - - @Parameter(names = {ARG_USER}, - description = "the name of the user whose application is being resolved") - public String user; - - /** - * validate health of all the different operations - * @throws BadCommandArgumentsException - */ - @Override - public void validate() throws BadCommandArgumentsException, UsageException { - super.validate(); - - //verify that at most one of the operations is set - int gets = s(getConf) + s(getFiles) + s(getExport); - int lists = s(list) + s(listConf) + s(listFiles) + s(listExports); - int set = lists + gets; - if (set > 1) { - throw new UsageException(USAGE); - } - - if (out != null && ( set == 0)) { - throw new UsageException("output path" - + " is only supported on 'get' operations: "); - } - if (!list && !is(name)) { - throw new UsageException("Argument " + ARG_NAME - +" missing: "); - - } - } - - private int s(String arg) { - return is(arg) ? 1 : 0; - } - - private boolean is(String arg) { - return arg != null; - } - - private int s(boolean arg) { - return arg ? 1 : 0; - } - - private String ifdef(String arg, boolean val) { - return val ? (arg + " "): ""; - } - - private String ifdef(String arg, String val) { - if (is(val)) { - return arg + " " + val + " "; - } else { - return ""; - } - } - - @Override - public String toString() { - final StringBuilder sb = - new StringBuilder(ACTION_REGISTRY); - sb.append(' '); - sb.append(ifdef(ARG_LIST, list)); - sb.append(ifdef(ARG_LISTCONF, listConf)); - sb.append(ifdef(ARG_LISTFILES, listFiles)); - sb.append(ifdef(ARG_GETCONF, getConf)); - sb.append(ifdef(ARG_GETFILES, getFiles)); - - sb.append(ifdef(ARG_NAME, name)); - sb.append(ifdef(ARG_SERVICETYPE, serviceType)); - - - sb.append(ifdef(ARG_VERBOSE, verbose)); - sb.append(ifdef(ARG_INTERNAL, internal)); - - if (out != null) { - sb.append(ifdef(ARG_OUTPUT, out.toString())); - } - sb.append(ifdef(ARG_FORMAT, format)); - - return sb.toString(); - } -}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionResolveArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionResolveArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionResolveArgs.java deleted file mode 100644 index 2ee075a..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionResolveArgs.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import com.beust.jcommander.Parameters; -import org.apache.commons.lang.StringUtils; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; -import org.apache.slider.core.exceptions.UsageException; - -import java.io.File; - -import static org.apache.slider.common.params.SliderActions.ACTION_RESOLVE; -import static org.apache.slider.common.params.SliderActions.DESCRIBE_ACTION_REGISTRY; - -/** - * Resolve registry entries - * - * --path {path} - * --out {destfile} - * --verbose - * --list - */ -@Parameters(commandNames = {ACTION_RESOLVE}, - commandDescription = DESCRIBE_ACTION_REGISTRY) -public class ActionResolveArgs extends AbstractActionArgs { - - public static final String USAGE = - "Usage: " + SliderActions.ACTION_RESOLVE - + " " - + ARG_PATH + " <path> " - + "[" + ARG_LIST + "] " - + "[" + ARG_OUTPUT + " <filename> ] " - + "[" + ARG_DESTDIR + " <directory> ] " - ; - public ActionResolveArgs() { - } - - @Override - public String getActionName() { - return ACTION_RESOLVE; - } - - /** - * Get the min #of params expected - * @return the min number of params in the {@link #parameters} field - */ - @Override - public int getMinParams() { - return 0; - } - - @Parameter(names = {ARG_LIST}, - description = "list services") - public boolean list; - - @Parameter(names = {ARG_PATH}, - description = "resolve a path") - public String path; - - @Parameter(names = {ARG_DESTDIR}, - description = "destination directory for operations") - public File destdir; - - @Parameter(names = {ARG_OUTPUT, ARG_OUTPUT_SHORT}, - description = "dest file") - public File out; - - @Override - public String toString() { - final StringBuilder sb = - new StringBuilder(ACTION_RESOLVE).append(" "); - sb.append(ARG_PATH).append(" ").append(path).append(" "); - if (list) { - sb.append(ARG_LIST).append(" "); - } - if (destdir != null) { - sb.append(ARG_DESTDIR).append(" ").append(destdir).append(" "); - } - if (out != null) { - sb.append(ARG_OUTPUT).append(" ").append(out).append(" "); - } - return sb.toString(); - } - - @Override - public void validate() throws BadCommandArgumentsException, UsageException { - super.validate(); - if (StringUtils.isEmpty(path)) { - throw new BadCommandArgumentsException("Missing mandatory argument " - + ARG_PATH); - } - if (list && out != null) { - throw new BadCommandArgumentsException("Argument " - + ARG_OUTPUT + - " not supported for " + ARG_LIST); - } - if (out != null && destdir != null) { - throw new BadCommandArgumentsException( - ARG_OUTPUT + " and " + ARG_DESTDIR + " cannot be used together" - ); - } - } - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } - - public boolean isList() { - return list; - } - - public void setList(boolean list) { - this.list = list; - } - - public File getDestdir() { - return destdir; - } - - public void setDestdir(File destdir) { - this.destdir = destdir; - } - - public File getOut() { - return out; - } - - public void setOut(File out) { - this.out = out; - } - -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionResourceArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionResourceArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionResourceArgs.java deleted file mode 100644 index 60fcc87..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionResourceArgs.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import com.beust.jcommander.Parameters; - -@Parameters(commandNames = {SliderActions.ACTION_RESOURCE}, - commandDescription = SliderActions.DESCRIBE_ACTION_RESOURCE) - -public class ActionResourceArgs extends AbstractActionArgs { - - @Override - public String getActionName() { - return SliderActions.ACTION_RESOURCE; - } - - @Parameter(names = {ARG_INSTALL}, - description = "Install the resource(s)") - public boolean install; - - @Parameter(names = {ARG_DELETE}, - description = "Delete the file") - public boolean delete; - - @Parameter(names = {ARG_LIST}, - description = "List of installed files") - public boolean list; - - @Parameter(names = {ARG_RESOURCE}, - description = "Name of the file or directory") - public String resource; - - @Parameter(names = {ARG_DESTDIR}, - description = "The name of the folder in which to store the resources") - public String folder; - - @Parameter(names = {ARG_OVERWRITE}, description = "Overwrite existing resource(s)") - public boolean overwrite = false; - - /** - * Get the min #of params expected - * @return the min number of params in the {@link #parameters} field - */ - public int getMinParams() { - return 0; - } - - @Override - public int getMaxParams() { - return 3; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionStatusArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionStatusArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionStatusArgs.java deleted file mode 100644 index 00178df..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionStatusArgs.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import com.beust.jcommander.Parameters; - -@Parameters(commandNames = {SliderActions.ACTION_STATUS}, - commandDescription = SliderActions.DESCRIBE_ACTION_STATUS) - -public class ActionStatusArgs extends AbstractActionArgs { - - @Override - public String getActionName() { - return SliderActions.ACTION_STATUS; - } - - @Parameter(names = {ARG_OUTPUT, ARG_OUTPUT_SHORT}, - description = "Output file for the status information") - public String output; - - public String getOutput() { - return output; - } - - public void setOutput(String output) { - this.output = output; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionThawArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionThawArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionThawArgs.java deleted file mode 100644 index b43a14e..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionThawArgs.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameters; -import com.beust.jcommander.ParametersDelegate; - -import java.io.File; - -@Parameters(commandNames = {SliderActions.ACTION_THAW}, - commandDescription = SliderActions.DESCRIBE_ACTION_THAW) -public class ActionThawArgs extends AbstractActionArgs implements - WaitTimeAccessor, - LaunchArgsAccessor { - - - @Override - public String getActionName() { - return SliderActions.ACTION_THAW; - } - - @Override - public int getWaittime() { - return launchArgs.getWaittime(); - } - - @ParametersDelegate - LaunchArgsDelegate launchArgs = new LaunchArgsDelegate(); - - @Override - public String getRmAddress() { - return launchArgs.getRmAddress(); - } - - @Override - public void setWaittime(int waittime) { - launchArgs.setWaittime(waittime); - } - - - @Override - public File getOutputFile() { - return launchArgs.getOutputFile(); - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionTokensArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionTokensArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionTokensArgs.java deleted file mode 100644 index 9f93c4e..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionTokensArgs.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import com.beust.jcommander.Parameters; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; -import org.apache.slider.core.exceptions.UsageException; - -import java.io.File; - -@Parameters(commandNames = {SliderActions.ACTION_TOKENS}, - commandDescription = "save tokens to a file or list tokens in a file") -public class ActionTokensArgs extends AbstractActionArgs { - - public static final String DUPLICATE_ARGS = "Only one of " + - ARG_SOURCE + " and " + ARG_OUTPUT + " allowed"; - - public static final String MISSING_KT_PROVIDER = - "Both " + ARG_KEYTAB + " and " + ARG_PRINCIPAL - + " must be provided"; - - @Override - public String getActionName() { - return SliderActions.ACTION_TOKENS; - } - - @Parameter(names = {ARG_OUTPUT}, - description = "File to write") - public File output; - - @Parameter(names = {ARG_SOURCE}, - description = "source file") - public File source; - - @Parameter(names = {ARG_KEYTAB}, description = "keytab to use") - public File keytab; - - @Parameter(names = {ARG_PRINCIPAL}, description = "principal to log in from a keytab") - public String principal=""; - - /** - * Get the min #of params expected - * @return the min number of params in the {@link #parameters} field - */ - public int getMinParams() { - return 0; - } - - @Override - public void validate() throws BadCommandArgumentsException, UsageException { - super.validate(); - if (output != null && source != null) { - throw new BadCommandArgumentsException(DUPLICATE_ARGS); - } - - // this is actually a !xor - if (keytab != null ^ !principal.isEmpty()) { - throw new BadCommandArgumentsException(MISSING_KT_PROVIDER); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionUpdateArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionUpdateArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionUpdateArgs.java deleted file mode 100644 index 9d76bd8..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionUpdateArgs.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameters; - -@Parameters(commandNames = {SliderActions.ACTION_UPDATE}, - commandDescription = SliderActions.DESCRIBE_ACTION_UPDATE) - -public class ActionUpdateArgs extends AbstractClusterBuildingActionArgs { - - @Override - public String getActionName() { - return SliderActions.ACTION_UPDATE; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionUpgradeArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionUpgradeArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionUpgradeArgs.java deleted file mode 100644 index 6ef51b2..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionUpgradeArgs.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import com.beust.jcommander.Parameter; -import com.beust.jcommander.Parameters; -import com.beust.jcommander.ParametersDelegate; - -@Parameters(commandNames = { SliderActions.ACTION_UPGRADE }, - commandDescription = SliderActions.DESCRIBE_ACTION_UPGRADE) -public class ActionUpgradeArgs extends AbstractClusterBuildingActionArgs - implements WaitTimeAccessor, LaunchArgsAccessor { - - @Override - public String getActionName() { - return SliderActions.ACTION_UPGRADE; - } - - @ParametersDelegate - LaunchArgsDelegate launchArgs = new LaunchArgsDelegate(); - - @Override - public File getOutputFile() { - return launchArgs.getOutputFile(); - } - - @Override - public String getRmAddress() { - return launchArgs.getRmAddress(); - } - - @Override - public int getWaittime() { - return launchArgs.getWaittime(); - } - - @Override - public void setWaittime(int waittime) { - launchArgs.setWaittime(waittime); - } - - @Parameter(names={ARG_CONTAINERS}, variableArity = true, - description = "stop specific containers") - public List<String> containers = new ArrayList<>(0); - - @Parameter(names={ARG_COMPONENTS}, variableArity = true, - description = "stop all containers of specific components") - public List<String> components = new ArrayList<>(0); - - @Parameter(names = {ARG_FORCE}, - description = "force spec upgrade operation") - public boolean force; -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ActionVersionArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionVersionArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionVersionArgs.java deleted file mode 100644 index b9d212b..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ActionVersionArgs.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameters; - -/** - * The version command - */ -@Parameters(commandNames = {SliderActions.ACTION_VERSION}, - commandDescription = SliderActions.DESCRIBE_ACTION_VERSION) -public class ActionVersionArgs extends AbstractActionArgs { - @Override - public String getActionName() { - return SliderActions.ACTION_VERSION; - } - - public int getMinParams() { - return 0; - } - - /** - * This action does not need hadoop services - * @return false - */ - @Override - public boolean getHadoopServicesRequired() { - return false; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/AddonArgsDelegate.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/AddonArgsDelegate.java b/slider-core/src/main/java/org/apache/slider/common/params/AddonArgsDelegate.java deleted file mode 100644 index 3ef8e19..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/AddonArgsDelegate.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class AddonArgsDelegate extends AbstractArgsDelegate { - - /** - * This is a listing of addon packages - */ - @Parameter(names = {ARG_ADDON}, - arity = 2, - description = "--addon <name> <folder or package>", - splitter = DontSplitArguments.class) - public List<String> addonTuples = new ArrayList<>(0); - - - /** - * Get the list of addons (may be empty, but never null) - * - * @return map of named addons - * - * @throws BadCommandArgumentsException parse problem - */ - public Map<String, String> getAddonMap() throws BadCommandArgumentsException { - return convertTupleListToMap("addon", addonTuples); - } - - public List<String> getAddonTuples() { - return addonTuples; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/AppAndResouceOptionArgsDelegate.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/AppAndResouceOptionArgsDelegate.java b/slider-core/src/main/java/org/apache/slider/common/params/AppAndResouceOptionArgsDelegate.java deleted file mode 100644 index f171708..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/AppAndResouceOptionArgsDelegate.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * Delegate for application and resource options - */ -public class AppAndResouceOptionArgsDelegate extends AbstractArgsDelegate { - - - /** - * Options key value - */ - @Parameter(names = {ARG_OPTION, ARG_OPTION_SHORT}, arity = 2, - description = ARG_OPTION + "<name> <value>", - splitter = DontSplitArguments.class) - public List<String> optionTuples = new ArrayList<>(0); - - - /** - * All the app component option triples - */ - @Parameter(names = {ARG_COMP_OPT, ARG_COMP_OPT_SHORT, ARG_ROLEOPT}, arity = 3, - description = "Component option " + ARG_COMP_OPT + - " <component> <name> <option>", - splitter = DontSplitArguments.class) - public List<String> compOptTriples = new ArrayList<>(0); - - /** - * Resource Options - */ - @Parameter(names = {ARG_RESOURCE_OPT, ARG_RESOURCE_OPT_SHORT}, arity = 2, - description = "Resource option "+ ARG_RESOURCE_OPT + "<name> <value>", - splitter = DontSplitArguments.class) - public List<String> resOptionTuples = new ArrayList<>(0); - - - /** - * All the resource component option triples - */ - @Parameter(names = {ARG_RES_COMP_OPT, ARG_RES_COMP_OPT_SHORT,}, arity = 3, - description = "Component resource option " + ARG_RES_COMP_OPT + - " <component> <name> <option>", - splitter = DontSplitArguments.class) - public List<String> resCompOptTriples = new ArrayList<>(0); - - - public Map<String, String> getOptionsMap() throws - BadCommandArgumentsException { - return convertTupleListToMap(ARG_OPTION, optionTuples); - } - - /** - * Get the role heap mapping (may be empty, but never null) - * @return role heap mapping - * @throws BadCommandArgumentsException parse problem - */ - public Map<String, Map<String, String>> getCompOptionMap() throws - BadCommandArgumentsException { - return convertTripleListToMaps(ARG_COMP_OPT, compOptTriples); - } - - public Map<String, String> getResourceOptionsMap() throws - BadCommandArgumentsException { - return convertTupleListToMap(ARG_RESOURCE_OPT, resOptionTuples); - } - - /** - * Get the role heap mapping (may be empty, but never null) - * @return role heap mapping - * @throws BadCommandArgumentsException parse problem - */ - public Map<String, Map<String, String>> getResourceCompOptionMap() throws - BadCommandArgumentsException { - return convertTripleListToMaps(ARG_RES_COMP_OPT, resCompOptTriples); - } - - public void setOption(String key, String value) { - optionTuples.add(key); - optionTuples.add(value); - } - - public void setResourceOption(String key, String value) { - resOptionTuples.add(key); - resOptionTuples.add(value); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ArgOps.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ArgOps.java b/slider-core/src/main/java/org/apache/slider/common/params/ArgOps.java deleted file mode 100644 index 12a2032..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ArgOps.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FileSystem; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; -import org.apache.slider.core.exceptions.ErrorStrings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.net.URI; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Static argument manipulation operations - */ -public class ArgOps { - - private static final Logger - log = LoggerFactory.getLogger(ArgOps.class); - - /** - * create a 3-tuple - */ - public static List<Object> triple(String msg, int min, int max) { - List<Object> l = new ArrayList<>(3); - l.add(msg); - l.add(min); - l.add(max); - return l; - } - - public static void applyFileSystemBinding(String filesystemBinding, - Configuration conf) { - if (filesystemBinding != null) { - //filesystem argument was set -this overwrites any defaults in the - //configuration - FileSystem.setDefaultUri(conf, filesystemBinding); - } - } - - public static void splitPairs(Collection<String> pairs, - Map<String, String> dest) { - for (String prop : pairs) { - String[] keyval = prop.split("=", 2); - if (keyval.length == 2) { - dest.put(keyval[0], keyval[1]); - } - } - } - - - public static void applyDefinitions(Map<String, String> definitionMap, - Configuration conf) { - for (Map.Entry<String, String> entry : definitionMap.entrySet()) { - String key = entry.getKey(); - String val = entry.getValue(); - log.debug("configuration[{}]<=\"{}\"", key, val); - conf.set(key, val, "command line"); - } - } - - /** - * Create a map from a tuple list like ['worker','2','master','1] into a map - * ['worker':'2',"master":'1']; - * Duplicate entries also trigger errors - * @param description description for errors - * @param list list to conver to tuples - * @return the map of key value pairs -unordered. - * @throws BadCommandArgumentsException odd #of arguments received - */ - public static Map<String, String> convertTupleListToMap(String description, - List<String> list) throws - BadCommandArgumentsException { - Map<String, String> results = new HashMap<>(); - if (list != null && !list.isEmpty()) { - int size = list.size(); - if (size % 2 != 0) { - //odd number of elements, not permitted - throw new BadCommandArgumentsException( - ErrorStrings.ERROR_PARSE_FAILURE + description); - } - for (int count = 0; count < size; count += 2) { - String key = list.get(count); - String val = list.get(count + 1); - if (results.get(key) != null) { - throw new BadCommandArgumentsException( - ErrorStrings.ERROR_DUPLICATE_ENTRY + description - + ": " + key); - } - results.put(key, val); - } - } - return results; - } - - /** - * Create a map from a tuple list like - * ['worker','heapsize','5G','master','heapsize','2M'] into a map - * ['worker':'2',"master":'1']; - * Duplicate entries also trigger errors - - * @throws BadCommandArgumentsException odd #of arguments received - */ - public static Map<String, Map<String, String>> convertTripleListToMaps(String description, - List<String> list) throws BadCommandArgumentsException { - - Map<String, Map<String, String>> results = new HashMap<>(); - if (list != null && !list.isEmpty()) { - int size = list.size(); - if (size % 3 != 0) { - //wrong number of elements, not permitted - throw new BadCommandArgumentsException( - ErrorStrings.ERROR_PARSE_FAILURE + description); - } - for (int count = 0; count < size; count += 3) { - String role = list.get(count); - String key = list.get(count + 1); - String val = list.get(count + 2); - Map<String, String> roleMap = results.get(role); - if (roleMap == null) { - //demand create new role map - roleMap = new HashMap<>(); - results.put(role, roleMap); - } - if (roleMap.get(key) != null) { - throw new BadCommandArgumentsException( - ErrorStrings.ERROR_DUPLICATE_ENTRY + description - + ": for key " + key + " under " + role); - } - roleMap.put(key, val); - } - } - return results; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java b/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java deleted file mode 100644 index aec4e26..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -/** - * Here are all the arguments that may be parsed by the client or server - * command lines. - * - * Important: Please keep the main list in alphabetical order - * so it is easier to see what arguments are there - */ -public interface Arguments { - String ARG_ADDON = "--addon"; - String ARG_ALL = "--all"; - String ARG_ALIAS = "--alias"; - String ARG_APPLICATION = "--application"; - String ARG_APPDEF = "--appdef"; - String ARG_APP_HOME = "--apphome"; - String ARG_BASE_PATH = "--basepath"; - String ARG_CLIENT = "--client"; - String ARG_CONFDIR = "--appconf"; - String ARG_COMPONENT = "--component"; - String ARG_COMPONENT_SHORT = "--comp"; - String ARG_COMPONENTS = "--components"; - String ARG_COMP_OPT= "--compopt"; - String ARG_COMP_OPT_SHORT = "--co"; - String ARG_CONFIG = "--config"; - String ARG_CONTAINERS = "--containers"; - String ARG_CREDENTIALS = "--credentials"; - String ARG_DEBUG = "--debug"; - String ARG_DEFINE = "-D"; - String ARG_DELETE = "--delete"; - String ARG_DEST = "--dest"; - String ARG_DESTDIR = "--destdir"; - String ARG_DESTFILE = "--destfile"; - String ARG_EXITCODE = "--exitcode"; - String ARG_FAIL = "--fail"; - /** - filesystem-uri: {@value} - */ - String ARG_FILESYSTEM = "--fs"; - String ARG_FILESYSTEM_LONG = "--filesystem"; - String ARG_FOLDER = "--folder"; - String ARG_FORCE = "--force"; - String ARG_FORMAT = "--format"; - String ARG_GETCERTSTORE = "--getcertstore"; - String ARG_GETCONF = "--getconf"; - String ARG_GETEXP = "--getexp"; - String ARG_GETFILES = "--getfiles"; - String ARG_HEALTHY= "--healthy"; - String ARG_HELP = "--help"; - String ARG_HOSTNAME = "--hostname"; - String ARG_ID = "--id"; - String ARG_IMAGE = "--image"; - String ARG_INSTALL = "--install"; - String ARG_INTERNAL = "--internal"; - String ARG_KEYLEN = "--keylen"; - String ARG_KEYTAB = "--keytab"; - String ARG_KEYSTORE = "--keystore"; - String ARG_KEYTABINSTALL = ARG_INSTALL; - String ARG_KEYTABDELETE = ARG_DELETE; - String ARG_KEYTABLIST = "--list"; - String ARG_LABEL = "--label"; - String ARG_LEVEL = "--level"; - String ARG_LIST = "--list"; - String ARG_LISTCONF = "--listconf"; - String ARG_LISTEXP = "--listexp"; - String ARG_LISTFILES = "--listfiles"; - String ARG_LIVE = "--live"; - String ARG_MANAGER = "--manager"; - String ARG_MANAGER_SHORT = "--m"; - String ARG_MESSAGE = "--message"; - String ARG_METAINFO = "--metainfo"; - String ARG_METAINFO_JSON = "--metainfojson"; - String ARG_NAME = "--name"; - String ARG_OPTION = "--option"; - String ARG_OPTION_SHORT = "-O"; - String ARG_OUTPUT = "--out"; - String ARG_OUTPUT_SHORT = "-o"; - String ARG_OVERWRITE = "--overwrite"; - String ARG_PACKAGE = "--package"; - String ARG_PASSWORD = "--password"; - String ARG_PATH = "--path"; - String ARG_PKGDELETE = ARG_DELETE; - String ARG_PKGINSTANCES = "--instances"; - String ARG_PKGLIST = ARG_LIST; - String ARG_PRINCIPAL = "--principal"; - String ARG_PROVIDER = "--provider"; - String ARG_QUEUE = "--queue"; - String ARG_REPLACE_PKG = "--replacepkg"; - String ARG_RESOURCE = "--resource"; - String ARG_RESOURCES = "--resources"; - String ARG_RES_COMP_OPT = "--rescompopt"; - String ARG_RES_COMP_OPT_SHORT = "--rco"; - String ARG_RESOURCE_MANAGER = "--rm"; - String ARG_RESOURCE_OPT = "--resopt"; - String ARG_RESOURCE_OPT_SHORT = "-ro"; - String ARG_SECURE = "--secure"; - String ARG_SERVICETYPE = "--servicetype"; - String ARG_SERVICES = "--services"; - String ARG_SLIDER = "--slider"; - String ARG_SOURCE = "--source"; - String ARG_STATE = "--state"; - String ARG_SYSPROP = "-S"; - String ARG_TEMPLATE = "--template"; - String ARG_TRUSTSTORE = "--truststore"; - String ARG_USER = "--user"; - String ARG_UPLOAD = "--upload"; - String ARG_VERBOSE = "--verbose"; - String ARG_VERSION = "--version"; - String ARG_WAIT = "--wait"; - String ARG_YARN = "--yarn"; - String ARG_ZKHOSTS = "--zkhosts"; - String ARG_ZKPATH = "--zkpath"; - String ARG_ZKPORT = "--zkport"; -/* - STOP: DO NOT ADD YOUR ARGUMENTS HERE. GO BACK AND INSERT THEM IN THE - RIGHT PLACE IN THE LIST - */ - - - /** - * Deprecated: use ARG_COMPONENT - */ - @Deprecated - String ARG_ROLE = "--role"; - - /** - * Deprecated: use ARG_COMP_OPT - */ - @Deprecated - String ARG_ROLEOPT = "--roleopt"; - - /** - * server: URI for the cluster - */ - String ARG_CLUSTER_URI = "-cluster-uri"; - - - /** - * server: Path for the resource manager instance (required) - */ - String ARG_RM_ADDR = "--rm"; - - -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java deleted file mode 100644 index 4016cc9..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java +++ /dev/null @@ -1,385 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.yarn.conf.YarnConfiguration; -import org.apache.slider.common.SliderXmlConfKeys; -import org.apache.slider.common.tools.SliderUtils; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; -import org.apache.slider.core.exceptions.ErrorStrings; -import org.apache.slider.core.exceptions.SliderException; - -import java.util.Collection; - -/** - * Slider Client CLI Args - */ - -public class ClientArgs extends CommonArgs { - - /* - - All the arguments for specific actions - - */ - /** - * This is not bonded to jcommander, it is set up - * after the construction to point to the relevant - * entry - * - * KEEP IN ALPHABETICAL ORDER - */ - private AbstractClusterBuildingActionArgs buildingActionArgs; - - // ========================================================= - // Keep all of these in alphabetical order. Thanks. - // ========================================================= - - private final ActionAMSuicideArgs actionAMSuicideArgs = new ActionAMSuicideArgs(); - private final ActionBuildArgs actionBuildArgs = new ActionBuildArgs(); - private final ActionClientArgs actionClientArgs = new ActionClientArgs(); - private final ActionCreateArgs actionCreateArgs = new ActionCreateArgs(); - private final ActionDependencyArgs actionDependencyArgs = new ActionDependencyArgs(); - private final ActionDestroyArgs actionDestroyArgs = new ActionDestroyArgs(); - private final ActionDiagnosticArgs actionDiagnosticArgs = new ActionDiagnosticArgs(); - private final ActionExistsArgs actionExistsArgs = new ActionExistsArgs(); - private final ActionFlexArgs actionFlexArgs = new ActionFlexArgs(); - private final ActionFreezeArgs actionFreezeArgs = new ActionFreezeArgs(); - private final ActionHelpArgs actionHelpArgs = new ActionHelpArgs(); - private final ActionInstallPackageArgs actionInstallPackageArgs = new ActionInstallPackageArgs(); - private final ActionInstallKeytabArgs actionInstallKeytabArgs = new ActionInstallKeytabArgs(); - private final ActionKDiagArgs actionKDiagArgs = new ActionKDiagArgs(); - private final ActionKeytabArgs actionKeytabArgs = new ActionKeytabArgs(); - private final ActionKillContainerArgs actionKillContainerArgs = - new ActionKillContainerArgs(); - private final ActionListArgs actionListArgs = new ActionListArgs(); - private final ActionLookupArgs actionLookupArgs = new ActionLookupArgs(); - private final ActionNodesArgs actionNodesArgs = new ActionNodesArgs(); - private final ActionPackageArgs actionPackageArgs = new ActionPackageArgs(); - private final ActionRegistryArgs actionRegistryArgs = new ActionRegistryArgs(); - private final ActionResolveArgs actionResolveArgs = new ActionResolveArgs(); - private final ActionResourceArgs actionResourceArgs = new ActionResourceArgs(); - private final ActionStatusArgs actionStatusArgs = new ActionStatusArgs(); - private final ActionThawArgs actionThawArgs = new ActionThawArgs(); - private final ActionTokensArgs actionTokenArgs = new ActionTokensArgs(); - private final ActionUpdateArgs actionUpdateArgs = new ActionUpdateArgs(); - private final ActionUpgradeArgs actionUpgradeArgs = new ActionUpgradeArgs(); - private final ActionVersionArgs actionVersionArgs = new ActionVersionArgs(); - - public ClientArgs(String[] args) { - super(args); - } - - public ClientArgs(Collection args) { - super(args); - } - - @Override - protected void addActionArguments() { - - addActions( - actionAMSuicideArgs, - actionBuildArgs, - actionClientArgs, - actionCreateArgs, - actionDependencyArgs, - actionDestroyArgs, - actionDiagnosticArgs, - actionExistsArgs, - actionFlexArgs, - actionFreezeArgs, - actionHelpArgs, - actionInstallKeytabArgs, - actionInstallPackageArgs, - actionKDiagArgs, - actionKeytabArgs, - actionKillContainerArgs, - actionListArgs, - actionLookupArgs, - actionNodesArgs, - actionPackageArgs, - actionRegistryArgs, - actionResolveArgs, - actionResourceArgs, - actionStatusArgs, - actionThawArgs, - actionTokenArgs, - actionUpdateArgs, - actionUpgradeArgs, - actionVersionArgs - ); - } - - @Override - public void applyDefinitions(Configuration conf) throws - BadCommandArgumentsException { - super.applyDefinitions(conf); - //RM - if (getManager() != null) { - log.debug("Setting RM to {}", getManager()); - conf.set(YarnConfiguration.RM_ADDRESS, getManager()); - } - if (getBasePath() != null) { - log.debug("Setting basePath to {}", getBasePath()); - conf.set(SliderXmlConfKeys.KEY_SLIDER_BASE_PATH, - getBasePath().toString()); - } - } - - public ActionDiagnosticArgs getActionDiagnosticArgs() { - return actionDiagnosticArgs; - } - - public AbstractClusterBuildingActionArgs getBuildingActionArgs() { - return buildingActionArgs; - } - - public ActionAMSuicideArgs getActionAMSuicideArgs() { - return actionAMSuicideArgs; - } - - public ActionBuildArgs getActionBuildArgs() { - return actionBuildArgs; - } - - public ActionInstallPackageArgs getActionInstallPackageArgs() { return actionInstallPackageArgs; } - - public ActionClientArgs getActionClientArgs() { return actionClientArgs; } - - public ActionPackageArgs getActionPackageArgs() { return actionPackageArgs; } - - public ActionInstallKeytabArgs getActionInstallKeytabArgs() { return actionInstallKeytabArgs; } - - public ActionKDiagArgs getActionKDiagArgs() { - return actionKDiagArgs; - } - - public ActionKeytabArgs getActionKeytabArgs() { return actionKeytabArgs; } - - public ActionUpdateArgs getActionUpdateArgs() { - return actionUpdateArgs; - } - - public ActionUpgradeArgs getActionUpgradeArgs() { - return actionUpgradeArgs; - } - - public ActionCreateArgs getActionCreateArgs() { - return actionCreateArgs; - } - - public ActionDependencyArgs getActionDependencyArgs() { - return actionDependencyArgs; - } - - public ActionDestroyArgs getActionDestroyArgs() { - return actionDestroyArgs; - } - - public ActionExistsArgs getActionExistsArgs() { - return actionExistsArgs; - } - - public ActionFlexArgs getActionFlexArgs() { - return actionFlexArgs; - } - - public ActionFreezeArgs getActionFreezeArgs() { - return actionFreezeArgs; - } - - public ActionKillContainerArgs getActionKillContainerArgs() { - return actionKillContainerArgs; - } - - public ActionListArgs getActionListArgs() { - return actionListArgs; - } - - public ActionNodesArgs getActionNodesArgs() { - return actionNodesArgs; - } - - public ActionLookupArgs getActionLookupArgs() { - return actionLookupArgs; - } - - public ActionRegistryArgs getActionRegistryArgs() { - return actionRegistryArgs; - } - - public ActionResolveArgs getActionResolveArgs() { - return actionResolveArgs; - } - - public ActionResourceArgs getActionResourceArgs() { - return actionResourceArgs; - } - - public ActionStatusArgs getActionStatusArgs() { - return actionStatusArgs; - } - - public ActionThawArgs getActionThawArgs() { - return actionThawArgs; - } - - public ActionTokensArgs getActionTokenArgs() { - return actionTokenArgs; - } - - /** - * Look at the chosen action and bind it as the core action for the operation. - * @throws SliderException bad argument or similar - */ - @Override - public void applyAction() throws SliderException { - String action = getAction(); - if (SliderUtils.isUnset(action)) { - action = ACTION_HELP; - } - switch (action) { - case ACTION_BUILD: - bindCoreAction(actionBuildArgs); - //its a builder, so set those actions too - buildingActionArgs = actionBuildArgs; - break; - - case ACTION_CREATE: - bindCoreAction(actionCreateArgs); - //its a builder, so set those actions too - buildingActionArgs = actionCreateArgs; - break; - - case ACTION_FREEZE: - bindCoreAction(actionFreezeArgs); - break; - - case ACTION_THAW: - bindCoreAction(actionThawArgs); - break; - - case ACTION_AM_SUICIDE: - bindCoreAction(actionAMSuicideArgs); - break; - - case ACTION_CLIENT: - bindCoreAction(actionClientArgs); - break; - - case ACTION_DEPENDENCY: - bindCoreAction(actionDependencyArgs); - break; - - case ACTION_DESTROY: - bindCoreAction(actionDestroyArgs); - break; - - case ACTION_DIAGNOSTICS: - bindCoreAction(actionDiagnosticArgs); - break; - - case ACTION_EXISTS: - bindCoreAction(actionExistsArgs); - break; - - case ACTION_FLEX: - bindCoreAction(actionFlexArgs); - break; - - case ACTION_HELP: - bindCoreAction(actionHelpArgs); - break; - - case ACTION_INSTALL_KEYTAB: - bindCoreAction(actionInstallKeytabArgs); - break; - - case ACTION_INSTALL_PACKAGE: - bindCoreAction(actionInstallPackageArgs); - break; - - case ACTION_KDIAG: - bindCoreAction(actionKDiagArgs); - break; - - case ACTION_KEYTAB: - bindCoreAction(actionKeytabArgs); - break; - - case ACTION_KILL_CONTAINER: - bindCoreAction(actionKillContainerArgs); - break; - - case ACTION_LIST: - bindCoreAction(actionListArgs); - break; - - case ACTION_LOOKUP: - bindCoreAction(actionLookupArgs); - break; - - case ACTION_NODES: - bindCoreAction(actionNodesArgs); - break; - - case ACTION_PACKAGE: - bindCoreAction(actionPackageArgs); - break; - - case ACTION_REGISTRY: - bindCoreAction(actionRegistryArgs); - break; - - case ACTION_RESOLVE: - bindCoreAction(actionResolveArgs); - break; - - case ACTION_RESOURCE: - bindCoreAction(actionResourceArgs); - break; - - case ACTION_STATUS: - bindCoreAction(actionStatusArgs); - break; - - case ACTION_TOKENS: - bindCoreAction(actionTokenArgs); - break; - - case ACTION_UPDATE: - bindCoreAction(actionUpdateArgs); - break; - - case ACTION_UPGRADE: - bindCoreAction(actionUpgradeArgs); - break; - - case ACTION_VERSION: - bindCoreAction(actionVersionArgs); - break; - - default: - throw new BadCommandArgumentsException(ErrorStrings.ERROR_UNKNOWN_ACTION - + " " + action); - } - } - -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/CommonArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/CommonArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/CommonArgs.java deleted file mode 100644 index 162a87d..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/CommonArgs.java +++ /dev/null @@ -1,303 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.JCommander; -import com.beust.jcommander.Parameter; -import com.beust.jcommander.ParameterDescription; -import com.beust.jcommander.ParameterException; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.Path; -import org.apache.slider.common.tools.SliderUtils; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; -import org.apache.slider.core.exceptions.ErrorStrings; -import org.apache.slider.core.exceptions.SliderException; -import org.apache.slider.core.exceptions.UsageException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * This class contains the common argument set for all tne entry points, - * and the core parsing logic to verify that the action is on the list - * of allowed actions -and that the remaining number of arguments is - * in the range allowed - */ - -public abstract class CommonArgs extends ArgOps implements SliderActions, - Arguments { - - protected static final Logger log = LoggerFactory.getLogger(CommonArgs.class); - - - private static final int DIFF_BETWEEN_DESCIPTION_AND_COMMAND_NAME = 30; - - - @Parameter(names = ARG_HELP, help = true) - public boolean help; - - - /** - -D name=value - - Define an HBase configuration option which overrides any options in - the configuration XML files of the image or in the image configuration - directory. The values will be persisted. - Configuration options are only passed to the cluster when creating or reconfiguring a cluster. - - */ - - public Map<String, String> definitionMap = new HashMap<String, String>(); - /** - * System properties - */ - public Map<String, String> syspropsMap = new HashMap<String, String>(); - - - /** - * fields - */ - public final JCommander commander; - private final String[] args; - - private AbstractActionArgs coreAction; - - /** - * get the name: relies on arg 1 being the cluster name in all operations - * @return the name argument, null if there is none - */ - public String getClusterName() { - return coreAction.getClusterName(); - } - - protected CommonArgs(String[] args) { - this.args = args; - commander = new JCommander(this); - } - - protected CommonArgs(Collection args) { - List<String> argsAsStrings = SliderUtils.collectionToStringList(args); - this.args = argsAsStrings.toArray(new String[argsAsStrings.size()]); - commander = new JCommander(this); - } - - public String usage() { - return usage(this, null); - } - - public static String usage(CommonArgs serviceArgs, String commandOfInterest) { - String result = null; - StringBuilder helperMessage = new StringBuilder(); - if (commandOfInterest == null) { - // JCommander.usage is too verbose for a command with many options like - // slider no short version of that is found Instead, we compose our msg by - helperMessage.append("\nUsage: slider COMMAND [options]\n"); - helperMessage.append("where COMMAND is one of\n"); - for (String jcommand : serviceArgs.commander.getCommands().keySet()) { - helperMessage.append(String.format("\t%-" - + DIFF_BETWEEN_DESCIPTION_AND_COMMAND_NAME + "s%s", jcommand, - serviceArgs.commander.getCommandDescription(jcommand) + "\n")); - } - helperMessage - .append("Most commands print help when invoked without parameters or with --help"); - result = helperMessage.toString(); - } else { - helperMessage.append("\nUsage: slider ").append(commandOfInterest); - helperMessage.append(serviceArgs.coreAction.getMinParams() > 0 ? " <application>" : ""); - helperMessage.append("\n"); - for (ParameterDescription paramDesc : serviceArgs.commander.getCommands() - .get(commandOfInterest).getParameters()) { - String optional = paramDesc.getParameter().required() ? " (required)" - : " (optional)"; - String paramName = paramDesc.getParameterized().getType() == Boolean.TYPE ? paramDesc - .getLongestName() : paramDesc.getLongestName() + " <" - + paramDesc.getParameterized().getName() + ">"; - helperMessage.append(String.format("\t%-" - + DIFF_BETWEEN_DESCIPTION_AND_COMMAND_NAME + "s%s", paramName, - paramDesc.getDescription() + optional + "\n")); - result = helperMessage.toString(); - } - } - return result; - } - - public static String usage(CommonArgs serviceArgs) { - return usage(serviceArgs, null); - } - - /** - * Parse routine -includes registering the action-specific argument classes - * and postprocess it - * @throws SliderException on any problem - */ - public void parse() throws SliderException { - addActionArguments(); - try { - commander.parse(getArgs()); - } catch (ParameterException e) { - throw new BadCommandArgumentsException(e, "%s in %s", - e.toString(), - (getArgs() != null - ? (SliderUtils.join(getArgs(), - " ", false)) - : "[]")); - } - //now copy back to this class some of the attributes that are common to all - //actions - postProcess(); - } - - /** - * Add a command - * @param name action - * @param arg value - */ - protected void addAction(String name, Object arg) { - commander.addCommand(name, arg); - } - - protected void addActions(Object... actions) { - for (Object action : actions) { - commander.addCommand(action); - } - } - - /** - * Override point to add a set of actions - */ - protected void addActionArguments() { - - } - - /** - * validate args via {@link #validate()} - * then postprocess the arguments - */ - public void postProcess() throws SliderException { - applyAction(); - validate(); - - //apply entry set - for (Map.Entry<String, String> entry : syspropsMap.entrySet()) { - System.setProperty(entry.getKey(), entry.getValue()); - } - } - - - /** - * Implementors must implement their action apply routine here - */ - public abstract void applyAction() throws SliderException; - - - /** - * Bind the core action; this extracts any attributes that are used - * across routines - * @param action action to bind - */ - protected void bindCoreAction(AbstractActionArgs action) { - coreAction = action; - - splitPairs(coreAction.definitions, definitionMap); - splitPairs(coreAction.sysprops, syspropsMap); - } - - /** - * Get the core action -type depends on the action - * @return the action class - */ - public AbstractActionArgs getCoreAction() { - return coreAction; - } - - /** - * Validate the arguments against the action requested - */ - public void validate() throws BadCommandArgumentsException, UsageException { - if (coreAction == null) { - throw new UsageException(ErrorStrings.ERROR_NO_ACTION + usage()); - } - log.debug("action={}", getAction()); - // let the action validate itself - try { - coreAction.validate(); - } catch (BadCommandArgumentsException e) { - StringBuilder badArgMsgBuilder = new StringBuilder(); - badArgMsgBuilder.append(e.toString()).append("\n"); - badArgMsgBuilder.append(usage(this, coreAction.getActionName())); - throw new BadCommandArgumentsException(badArgMsgBuilder.toString()); - } catch (UsageException e) { - StringBuilder badArgMsgBuilder = new StringBuilder(); - badArgMsgBuilder.append(e.toString()).append("\n"); - badArgMsgBuilder.append(usage(this, coreAction.getActionName())); - throw new UsageException(badArgMsgBuilder.toString()); - } - } - - /** - * Apply all the definitions on the command line to the configuration - * @param conf config - */ - public void applyDefinitions(Configuration conf) throws - BadCommandArgumentsException { - applyDefinitions(definitionMap, conf); - } - - - /** - * If the Filesystem binding was provided, it overrides anything in - * the configuration - * @param conf configuration - */ - public void applyFileSystemBinding(Configuration conf) { - ArgOps.applyFileSystemBinding(getFilesystemBinding(), conf); - } - - public boolean isDebug() { - return coreAction.debug; - } - - - public String getFilesystemBinding() { - return coreAction.filesystemBinding; - } - - public Path getBasePath() { return coreAction.basePath; } - - public String getManager() { - return coreAction.manager; - } - - public String getAction() { - return commander.getParsedCommand(); - } - - public List<String> getActionArgs() { - return coreAction.parameters; - } - - public String[] getArgs() { - return args; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/ComponentArgsDelegate.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ComponentArgsDelegate.java b/slider-core/src/main/java/org/apache/slider/common/params/ComponentArgsDelegate.java deleted file mode 100644 index 5140059..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/ComponentArgsDelegate.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import org.apache.slider.core.exceptions.BadCommandArgumentsException; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class ComponentArgsDelegate extends AbstractArgsDelegate { - - /** - * This is a listing of the roles to create - */ - @Parameter(names = {ARG_COMPONENT, ARG_COMPONENT_SHORT, ARG_ROLE}, - arity = 2, - description = "--component <name> <count> e.g. +1 incr by 1, -2 decr by 2, and 3 makes final count 3", - splitter = DontSplitArguments.class) - public List<String> componentTuples = new ArrayList<>(0); - - - /** - * Get the role mapping (may be empty, but never null) - * @return role mapping - * @throws BadCommandArgumentsException parse problem - */ - public Map<String, String> getComponentMap() throws BadCommandArgumentsException { - return convertTupleListToMap("component", componentTuples); - } - - public List<String> getComponentTuples() { - return componentTuples; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/DontSplitArguments.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/DontSplitArguments.java b/slider-core/src/main/java/org/apache/slider/common/params/DontSplitArguments.java deleted file mode 100644 index 0344305..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/DontSplitArguments.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.converters.IParameterSplitter; - -import java.util.ArrayList; -import java.util.List; - -public class DontSplitArguments implements IParameterSplitter { - - @Override - public List<String> split(String value) { - List<String> list = new ArrayList<>(1); - list.add(value); - return list; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/LaunchArgsAccessor.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/LaunchArgsAccessor.java b/slider-core/src/main/java/org/apache/slider/common/params/LaunchArgsAccessor.java deleted file mode 100644 index 7524053..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/LaunchArgsAccessor.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import java.io.File; - -/** - * Launch args for create and start and anything else that can start something - */ -public interface LaunchArgsAccessor extends WaitTimeAccessor { - String getRmAddress(); - - File getOutputFile(); -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/LaunchArgsDelegate.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/LaunchArgsDelegate.java b/slider-core/src/main/java/org/apache/slider/common/params/LaunchArgsDelegate.java deleted file mode 100644 index bc7e94c..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/LaunchArgsDelegate.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; - -import java.io.File; - -/** - * Any launch-time args - */ -public class LaunchArgsDelegate extends WaitArgsDelegate implements - LaunchArgsAccessor { - - - //TODO: do we need this? - @Parameter(names = ARG_RESOURCE_MANAGER, - description = "Resource manager hostname:port ", - required = false) - private String rmAddress; - - @Override - public String getRmAddress() { - return rmAddress; - } - - @Parameter(names = {ARG_OUTPUT, ARG_OUTPUT_SHORT}, - description = "output file for any application report") - public File outputFile; - - @Override - public File getOutputFile() { - return outputFile; - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/PathArgumentConverter.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/PathArgumentConverter.java b/slider-core/src/main/java/org/apache/slider/common/params/PathArgumentConverter.java deleted file mode 100644 index ccb526c..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/PathArgumentConverter.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.converters.BaseConverter; -import org.apache.hadoop.fs.Path; - -public class PathArgumentConverter extends BaseConverter<Path> { - - public PathArgumentConverter(String optionName) { - super(optionName); - } - - @Override - public Path convert(String value) { - return new Path(value); - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/SliderAMArgs.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/SliderAMArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/SliderAMArgs.java deleted file mode 100644 index f9516d1..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/SliderAMArgs.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -package org.apache.slider.common.params; - -/** - * Parameters sent by the Client to the AM - */ -public class SliderAMArgs extends CommonArgs { - - SliderAMCreateAction createAction = new SliderAMCreateAction(); - - public SliderAMArgs(String[] args) { - super(args); - } - - @Override - protected void addActionArguments() { - addActions(createAction); - } - - public String getImage() { - return createAction.image; - } - - /** - * This is the URI in the FS to the Slider cluster; the conf file (and any - * other cluster-specifics) can be picked up here - */ - public String getSliderClusterURI() { - return createAction.sliderClusterURI; - } - - /** - * Am binding is simple: there is only one action - */ - @Override - public void applyAction() { - bindCoreAction(createAction); - } -} http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/common/params/SliderAMCreateAction.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/params/SliderAMCreateAction.java b/slider-core/src/main/java/org/apache/slider/common/params/SliderAMCreateAction.java deleted file mode 100644 index 197c22b..0000000 --- a/slider-core/src/main/java/org/apache/slider/common/params/SliderAMCreateAction.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.slider.common.params; - -import com.beust.jcommander.Parameter; -import com.beust.jcommander.Parameters; -import com.beust.jcommander.ParametersDelegate; - -import java.io.File; - - -@Parameters(commandNames = {SliderActions.ACTION_CREATE}, - commandDescription = SliderActions.DESCRIBE_ACTION_CREATE) - -public class SliderAMCreateAction extends AbstractActionArgs implements - LaunchArgsAccessor { - - - @Override - public String getActionName() { - return SliderActions.ACTION_CREATE; - } - - @Parameter(names = ARG_IMAGE, description = "image", required = false) - public String image; - - /** - * This is the URI in the FS to the Slider cluster; the conf file (and any - * other cluster-specifics) can be picked up here - */ - @Parameter(names = ARG_CLUSTER_URI, - description = "URI to the Slider cluster", required = true) - public String sliderClusterURI; - - @ParametersDelegate - LaunchArgsDelegate launchArgs = new LaunchArgsDelegate(); - - @Override - public String getRmAddress() { - return launchArgs.getRmAddress(); - } - - @Override - public int getWaittime() { - return launchArgs.getWaittime(); - } - - @Override - public void setWaittime(int waittime) { - launchArgs.setWaittime(waittime); - } - - @Override - public File getOutputFile() { - return launchArgs.getOutputFile(); - } - -}