You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/05/13 07:14:06 UTC

[4/7] stratos git commit: Changes to the CLI commands

Changes to the CLI commands


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/31df3a78
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/31df3a78
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/31df3a78

Branch: refs/heads/master
Commit: 31df3a783cbc601cbbc63ecbbaa42b3c5f27b8f4
Parents: 2540ade
Author: Dinithi <di...@wso2.com>
Authored: Tue May 12 13:32:49 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Wed May 13 10:43:56 2015 +0530

----------------------------------------------------------------------
 .../commands/RemoveDomainMappingCommand.java    | 125 +++++++++++++++++++
 .../commands/RemoveDomainMappingsCommand.java   |  77 ------------
 2 files changed, 125 insertions(+), 77 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/31df3a78/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/RemoveDomainMappingCommand.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/RemoveDomainMappingCommand.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/RemoveDomainMappingCommand.java
new file mode 100644
index 0000000..6cd822c
--- /dev/null
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/RemoveDomainMappingCommand.java
@@ -0,0 +1,125 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.stratos.cli.commands;
+
+import org.apache.commons.cli.*;
+import org.apache.stratos.cli.Command;
+import org.apache.stratos.cli.RestCommandLineService;
+import org.apache.stratos.cli.StratosCommandContext;
+import org.apache.stratos.cli.exception.CommandException;
+import org.apache.stratos.cli.utils.CliConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.apache.stratos.cli.utils.CliUtils.mergeOptionArrays;
+
+/**
+ * Remove domain mappings command.
+ */
+public class RemoveDomainMappingCommand implements Command<StratosCommandContext> {
+
+    private static final Logger log = LoggerFactory.getLogger(RemoveDomainMappingCommand.class);
+
+    private Options options;
+
+    public RemoveDomainMappingCommand() {
+        options = new Options();
+        Option applicationIdOption = new Option(CliConstants.APPLICATION_ID_OPTION,
+                CliConstants.APPLICATION_ID_LONG_OPTION, true,
+                "Application Id");
+        applicationIdOption.setArgName("application id");
+        Option domainNameOption = new Option(CliConstants.DOMAIN_NAME_OPTION, CliConstants.DOMAIN_NAME_LONG_OPTION,
+                true, "Domain name");
+        domainNameOption.setArgName("domain name");
+        options.addOption(applicationIdOption);
+        options.addOption(domainNameOption);
+    }
+
+    @Override
+    public String getName() {
+        return "remove-domain-mappings";
+    }
+
+    @Override
+    public String getDescription() {
+        return "Remove domain mappings";
+    }
+
+    @Override
+    public String getArgumentSyntax() {
+        return null;
+    }
+
+    @Override
+    public Options getOptions() {
+        return options;
+    }
+
+    @Override
+    public int execute(StratosCommandContext context, String[] args, Option[] alreadyParsedOpts) throws CommandException {
+        if (log.isDebugEnabled()) {
+            log.debug("Executing command: ", getName());
+        }
+
+        if ((args == null) || (args.length <= 0)) {
+            context.getStratosApplication().printUsage(getName());
+            return CliConstants.COMMAND_FAILED;
+        }
+
+        try {
+            CommandLineParser parser = new GnuParser();
+            CommandLine commandLine = parser.parse(options, args);
+            //merge newly discovered options with previously discovered ones.
+            Options opts = mergeOptionArrays(alreadyParsedOpts, commandLine.getOptions());
+
+            if ((opts.hasOption(CliConstants.APPLICATION_ID_OPTION)) && (opts.hasOption(CliConstants.DOMAIN_NAME_OPTION))) {
+
+                // get application id arg value
+                String applicationId = opts.getOption(CliConstants.APPLICATION_ID_OPTION).getValue();
+                if (applicationId == null) {
+                    context.getStratosApplication().printUsage(getName());
+                    return CliConstants.COMMAND_FAILED;
+                }
+
+                // get domain name arg value
+                String domainName = opts.getOption(CliConstants.DOMAIN_NAME_OPTION).getValue();
+                if (domainName == null) {
+                    context.getStratosApplication().printUsage(getName());
+                    return CliConstants.COMMAND_FAILED;
+                }
+                RestCommandLineService.getInstance().removeDomainMappings(applicationId, domainName);
+                return CliConstants.COMMAND_SUCCESSFULL;
+            } else {
+                context.getStratosApplication().printUsage(getName());
+                return CliConstants.COMMAND_FAILED;
+            }
+        } catch (ParseException e) {
+            log.error("Error parsing arguments", e);
+            System.out.println(e.getMessage());
+            return CliConstants.COMMAND_FAILED;
+        } catch (Exception e) {
+            String message = "Unknown error occurred: " + e.getMessage();
+            System.out.println(message);
+            log.error(message, e);
+            return CliConstants.COMMAND_FAILED;
+        }
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/31df3a78/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/RemoveDomainMappingsCommand.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/RemoveDomainMappingsCommand.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/RemoveDomainMappingsCommand.java
deleted file mode 100644
index 08d0010..0000000
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/RemoveDomainMappingsCommand.java
+++ /dev/null
@@ -1,77 +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
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * 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.stratos.cli.commands;
-
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.apache.stratos.cli.Command;
-import org.apache.stratos.cli.RestCommandLineService;
-import org.apache.stratos.cli.StratosCommandContext;
-import org.apache.stratos.cli.exception.CommandException;
-import org.apache.stratos.cli.utils.CliConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Remove domain mappings command.
- */
-public class RemoveDomainMappingsCommand implements Command<StratosCommandContext> {
-
-    private static final Logger log = LoggerFactory.getLogger(RemoveDomainMappingsCommand.class);
-
-    public RemoveDomainMappingsCommand() {
-    }
-
-    @Override
-    public String getName() {
-        return "remove-domain-mappings";
-    }
-
-    @Override
-    public String getDescription() {
-        return "Remove domain mappings";
-    }
-
-    @Override
-    public String getArgumentSyntax() {
-        return "[application-id]";
-    }
-
-    @Override
-    public Options getOptions() {
-        return null;
-    }
-
-    @Override
-    public int execute(StratosCommandContext context, String[] args, Option[] alreadyParsedOpts) throws CommandException {
-        if (log.isDebugEnabled()) {
-            log.debug("Executing command: ", getName());
-        }
-
-        if ((args == null) || (args.length <= 0)) {
-            context.getStratosApplication().printUsage(getName());
-            return CliConstants.COMMAND_FAILED;
-        }
-
-        String applicationId = args[0];
-        RestCommandLineService.getInstance().removeDomainMappings(applicationId);
-        return CliConstants.COMMAND_SUCCESSFULL;
-    }
-}