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/02/14 15:23:40 UTC
[1/2] stratos git commit: This closes #220 on GitHub
Repository: stratos
Updated Branches:
refs/heads/master f948707fc -> 187a24730
This closes #220 on GitHub
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/187a2473
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/187a2473
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/187a2473
Branch: refs/heads/master
Commit: 187a24730d8f1464a160a215cd5e89b33b0ebddf
Parents: cadfb9f
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sat Feb 14 19:53:34 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sat Feb 14 19:53:34 2015 +0530
----------------------------------------------------------------------
----------------------------------------------------------------------
[2/2] stratos git commit: list-cartridges-by-filter command added to
CLI
Posted by im...@apache.org.
list-cartridges-by-filter command added to CLI
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/cadfb9f7
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/cadfb9f7
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/cadfb9f7
Branch: refs/heads/master
Commit: cadfb9f79a99456f38a204d8247995b625b740e5
Parents: f948707
Author: Dinithi <di...@wso2.com>
Authored: Thu Feb 12 17:09:13 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sat Feb 14 19:53:34 2015 +0530
----------------------------------------------------------------------
.../stratos/cli/RestCommandLineService.java | 45 +++++++++
.../apache/stratos/cli/StratosApplication.java | 3 +
.../commands/ListCartridgesByFilterCommand.java | 98 ++++++++++++++++++++
.../apache/stratos/cli/utils/CliConstants.java | 10 +-
.../common/beans/cartridge/CartridgeBean.java | 4 +-
.../common/beans/cartridge/PersistenceBean.java | 8 +-
6 files changed, 161 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/cadfb9f7/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
index 476e060..a698744 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
@@ -105,6 +105,7 @@ public class RestCommandLineService {
private static final String ENDPOINT_LIST_SERVICE_GROUP = API_CONTEXT + "/cartridgeGroups/{groupDefinitionName}";
private static final String ENDPOINT_LIST_APPLICATION = API_CONTEXT + "/applications";
private static final String ENDPOINT_LIST_NETWORK_PARTITIONS = API_CONTEXT + "/networkPartitions";
+ private static final String ENDPOINT_LIST_CARTRIDGES_BY_FILTER = API_CONTEXT + "/cartridges/filter/{filter}";
private static final String ENDPOINT_DOMAIN_MAPPINGS = API_CONTEXT + "/applications/{applicationId}/domainMappings";
@@ -298,6 +299,50 @@ public class RestCommandLineService {
}
/**
+ * List cartridges By Filter
+ * @throws CommandException
+ */
+ public void listCartridgesByFilter(String filter) throws CommandException {
+ try {
+ Type listType = new TypeToken<ArrayList<CartridgeBean>>() {
+ }.getType();
+ List<CartridgeBean> cartridgeList = (List<CartridgeBean>) restClient.listEntity(ENDPOINT_LIST_CARTRIDGES_BY_FILTER.replace("{filter}",filter),
+ listType, "cartridges");
+
+ System.out.println("Test:"+ENDPOINT_LIST_CARTRIDGES_BY_FILTER.replace("{filter}",filter));
+
+ if ((cartridgeList == null) || (cartridgeList.size() == 0)) {
+ System.out.println("No cartridges found");
+ return;
+ }
+
+ RowMapper<CartridgeBean> cartridgeMapper = new RowMapper<CartridgeBean>() {
+ public String[] getData(CartridgeBean cartridge) {
+ String[] data = new String[6];
+ data[0] = cartridge.getType();
+ data[1] = cartridge.getCategory();
+ data[2] = cartridge.getDisplayName();
+ data[3] = cartridge.getDescription();
+ data[4] = cartridge.getVersion();
+ data[5] = String.valueOf(cartridge.isMultiTenant());
+ return data;
+ }
+ };
+
+ CartridgeBean[] cartridges = new CartridgeBean[cartridgeList.size()];
+ cartridges = cartridgeList.toArray(cartridges);
+
+ System.out.println("Cartridges found:");
+ CliUtils.printTable(cartridges, cartridgeMapper, "Type", "Category", "Name", "Description", "Version",
+ "Multi-Tenant");
+ } catch (Exception e) {
+ String message = "Error in listing cartridges";
+ printError(message, e);
+ }
+ }
+
+
+ /**
* List cartridge groups
*
* @throws CommandException
http://git-wip-us.apache.org/repos/asf/stratos/blob/cadfb9f7/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java
index af99c1d..863adcf 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/StratosApplication.java
@@ -222,6 +222,9 @@ public class StratosApplication extends CommandLineApplication<StratosCommandCon
command = new AddApplicationSignupCommand();
commands.put(command.getName(), command);
+ command = new ListCartridgesByFilterCommand();
+ commands.put(command.getName(), command);
+
if (logger.isDebugEnabled()) {
logger.debug("Created {} commands for the application. {}", commands.size(), commands.keySet());
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cadfb9f7/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/ListCartridgesByFilterCommand.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/ListCartridgesByFilterCommand.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/ListCartridgesByFilterCommand.java
new file mode 100644
index 0000000..1fcf70f
--- /dev/null
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/commands/ListCartridgesByFilterCommand.java
@@ -0,0 +1,98 @@
+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;
+
+/**
+ * Created by dinithi on 2/11/15.
+ */
+public class ListCartridgesByFilterCommand implements Command<StratosCommandContext>{
+
+ private static final Logger logger = LoggerFactory.getLogger(ListCartridgesByFilterCommand.class);
+
+ private final Options options;
+
+ public ListCartridgesByFilterCommand(){
+ options = constructOptions();
+ }
+
+ private Options constructOptions() {
+ final Options options = new Options();
+
+ Option filterOption = new Option(CliConstants.CARTRIDGE_FILTER_OPTION, CliConstants.CARTRIDGE_FILTER_LONG_OPTION, true,
+ "Filter");
+ filterOption.setArgName("filter");
+ options.addOption(filterOption);
+
+ return options;
+ }
+
+ public String getName() {
+ return "list-cartridges-by-filter";
+ }
+
+ public String getDescription() {
+ return "List cartridges by a filter";
+ }
+
+ public String getArgumentSyntax() {
+ return null;
+ }
+
+ public int execute(StratosCommandContext context, String[] args) throws CommandException {
+ if (logger.isDebugEnabled()) {
+ logger.debug("Executing {} command...", getName());
+ }
+
+ if (args != null && args.length > 0) {
+ String filter= null;
+
+ final CommandLineParser parser = new GnuParser();
+ CommandLine commandLine;
+
+ try {
+ commandLine = parser.parse(options, args);
+
+ if (logger.isDebugEnabled()) {
+ logger.debug("List cartridges by a filter");
+ }
+
+ if (commandLine.hasOption(CliConstants.CARTRIDGE_FILTER_OPTION)) {
+ if (logger.isTraceEnabled()) {
+ logger.trace("Filter option is passed");
+ }
+ filter = commandLine.getOptionValue(CliConstants.CARTRIDGE_FILTER_OPTION);
+ }
+
+ if (filter == null) {
+ System.out.println("usage: " + getName() + "usage: " + getName() + " [-f <filter>]");
+ return CliConstants.COMMAND_FAILED;
+ }
+
+ RestCommandLineService.getInstance().listCartridgesByFilter(filter);
+ return CliConstants.COMMAND_SUCCESSFULL;
+
+ } catch (ParseException e) {
+ if (logger.isErrorEnabled()) {
+ logger.error("Error parsing arguments", e);
+ }
+ System.out.println(e.getMessage());
+ return CliConstants.COMMAND_FAILED;
+ }
+
+ } else {
+ context.getStratosApplication().printUsage(getName());
+ return CliConstants.COMMAND_FAILED;
+ }
+ }
+
+ public Options getOptions() {
+ return options;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cadfb9f7/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java
index 4e39bca..415577a 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/utils/CliConstants.java
@@ -66,6 +66,11 @@ public class CliConstants {
public static final String CARTRIDGES_ACTION = "list-cartridges";
/**
+ * List the available cartridges by filter
+ */
+ public static final String CARTRIDGES_BY_FILTER_ACTION = "list-cartridges-by-filter";
+
+ /**
* List the available network partitions
*/
public static final String NETWORK_PARTITION_ACTION = "list-network-partitions";
@@ -93,7 +98,7 @@ public class CliConstants {
/**
* Add application signup
*/
- public static final String ADD_APPLICATION_SIGNUP = "add-application";
+ public static final String ADD_APPLICATION_SIGNUP = "add-application-signup";
/**
* Add user
@@ -312,6 +317,9 @@ public class CliConstants {
public static final String CARTRIDGE_TYPE_OPTION = "t";
public static final String CARTRIDGE_TYPE_LONG_OPTION = "cartridge-type";
+ public static final String CARTRIDGE_FILTER_OPTION = "f";
+ public static final String CARTRIDGE_FILTER_LONG_OPTION = "filter";
+
public static final String FULL_OPTION = "f";
public static final String FULL_LONG_OPTION = "full";
http://git-wip-us.apache.org/repos/asf/stratos/blob/cadfb9f7/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeBean.java
index 6c7f46b..38c09c6 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeBean.java
@@ -54,8 +54,8 @@ public class CartridgeBean {
return "Type: " + getType() + ", Provider: " + getProvider() + ", Category: " + getCategory() + ", Host: " + getHost() + ", Display Name: " + getDisplayName() +
", Description: " + getDescription() + ", Version: " + getVersion() + ", Multitenant " + isMultiTenant() +", Public " + isPublic() + "\n" +
getDeploymentDetails() + "\n PortMapping: " + getPortMappings() + "\n IaaS: " + getIaasProviders() +
- "\n Properties: " + getProperties() +"\n VolumeBean mappings "+ getPersistence().toString()
- + "\n Exports " + getExportingProperties().toString();
+ "\n Properties: " + getProperties() +"\n VolumeBean mappings "+ (getPersistence() == null ? "" : getPersistence().toString())
+ + "\n Exports " + (getExportingProperties() == null ? "" : getExportingProperties().toString()) ;
}
private String getDeploymentDetails () {
http://git-wip-us.apache.org/repos/asf/stratos/blob/cadfb9f7/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PersistenceBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PersistenceBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PersistenceBean.java
index 70ef494..f35eb82 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PersistenceBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PersistenceBean.java
@@ -26,7 +26,7 @@ import java.util.List;
public class PersistenceBean {
private boolean isRequired;
- private List<VolumeBean> volume;
+ private List<VolumeBean> volumes;
public String toString () {
return " [ Persistence Required : " + isRequired() + "\n" +
@@ -52,10 +52,10 @@ public class PersistenceBean {
}
public List<VolumeBean> getVolume() {
- return volume;
+ return volumes;
}
- public void setVolume(List<VolumeBean> volume) {
- this.volume = volume;
+ public void setVolume(List<VolumeBean> volumes) {
+ this.volumes = volumes;
}
}