fixing volume option to be displayed in the front end and cartridge categorization issue
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/e1e6a7b9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/e1e6a7b9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/e1e6a7b9 Branch: refs/heads/master Commit: e1e6a7b9cf71e1dc6fa09d2816d279c25ab41d3f Parents: 5615e8d Author: rekathiru <[email protected]> Authored: Fri Feb 14 12:35:18 2014 +0530 Committer: rekathiru <[email protected]> Committed: Fri Feb 14 12:35:18 2014 +0530 ---------------------------------------------------------------------- .../cloud/controller/pojo/CartridgeInfo.java | 18 +- .../controller/util/CloudControllerUtil.java | 11 +- .../console/cartridges.jag | 2 +- .../console/configure_stratos_wizard.jag | 1 + .../partials/configure_stratos_wizard.hbs | 2 +- .../console/themes/theme1/partials/header.hbs | 24 +- .../theme1/renderers/configure_stratos.js | 56 +- .../console/themes/theme1/ui/css/main.css | 8 +- .../console/util/utility.jag | 33 +- .../apache/stratos/manager/dto/Cartridge.java | 22 +- .../rest/endpoint/services/ServiceUtils.java | 7 + .../rest/endpoint/services/StratosAdmin.java | 11 + .../main/resources/CloudControllerService.wsdl | 617 ++++++++++--------- 13 files changed, 458 insertions(+), 354 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java index cb06bb4..0056077 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java @@ -55,7 +55,9 @@ public class CartridgeInfo { private String defaultDeploymentPolicy; private LoadbalancerConfig lbConfig; - + + private PersistanceMapping[] peristanceMappings; + public CartridgeInfo(){ } @@ -190,4 +192,18 @@ public class CartridgeInfo { public void setDefaultDeploymentPolicy(String defaultDeploymentPolicy) { this.defaultDeploymentPolicy = defaultDeploymentPolicy; } + + /** + * @return the peristanceMappings + */ + public PersistanceMapping[] getPeristanceMappings() { + return peristanceMappings; + } + + /** + * @param peristanceMappings the peristanceMappings to set + */ + public void setPeristanceMappings(PersistanceMapping[] peristanceMappings) { + this.peristanceMappings = peristanceMappings; + } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java index 9358441..5a2e731 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java @@ -26,14 +26,7 @@ import org.apache.stratos.cloud.controller.exception.InvalidIaasProviderExceptio import org.apache.stratos.cloud.controller.interfaces.Iaas; import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil; import org.apache.stratos.cloud.controller.persist.Deserializer; -import org.apache.stratos.cloud.controller.pojo.AppType; -import org.apache.stratos.cloud.controller.pojo.Cartridge; -import org.apache.stratos.cloud.controller.pojo.CartridgeConfig; -import org.apache.stratos.cloud.controller.pojo.CartridgeInfo; -import org.apache.stratos.cloud.controller.pojo.IaasConfig; -import org.apache.stratos.cloud.controller.pojo.IaasProvider; -import org.apache.stratos.cloud.controller.pojo.PortMapping; -import org.apache.stratos.cloud.controller.pojo.Property; +import org.apache.stratos.cloud.controller.pojo.*; import org.apache.stratos.cloud.controller.registry.RegistryManager; import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder; import org.apache.stratos.messaging.domain.topology.Topology; @@ -187,6 +180,8 @@ public class CloudControllerUtil { .size()])); List<Property> propList = new ArrayList<Property>(); + carInfo.setPeristanceMappings(cartridge.getPeristanceMappings(). + toArray(new PersistanceMapping[cartridge.getPeristanceMappings().size()])); for (Iterator<?> iterator = cartridge.getProperties().entrySet().iterator(); iterator.hasNext();) { @SuppressWarnings("unchecked") http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.manager.console/console/cartridges.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/cartridges.jag b/components/org.apache.stratos.manager.console/console/cartridges.jag index ecb3795..9c020bb 100644 --- a/components/org.apache.stratos.manager.console/console/cartridges.jag +++ b/components/org.apache.stratos.manager.console/console/cartridges.jag @@ -1,7 +1,7 @@ <% var caramel = require('caramel') var utils = require('/util/utility.jag'); -var availableSingleTenantCartridges = utils.consoleAppUtil.getAvailableSingleTenantCartridges(); +var availableSingleTenantCartridges = utils.consoleAppUtil.getCartridges(); caramel.render({ cartridges:availableSingleTenantCartridges }); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag b/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag index 3a3baf1..edb22d1 100644 --- a/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag +++ b/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag @@ -13,6 +13,7 @@ var wizard = { var utils = require('/util/utility.jag'); + if(wizard.step == 1){ var partition_deployments = utils.consoleAppUtil.getPartitions(); step_data = partition_deployments.partition; http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.manager.console/console/themes/theme1/partials/configure_stratos_wizard.hbs ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/partials/configure_stratos_wizard.hbs b/components/org.apache.stratos.manager.console/console/themes/theme1/partials/configure_stratos_wizard.hbs index b741471..c6b1503 100644 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/partials/configure_stratos_wizard.hbs +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/partials/configure_stratos_wizard.hbs @@ -225,7 +225,7 @@ <div class="panel-heading"> <h4 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion" href="#collapse{{serviceName}}"> - {{serviceName}} + {{cartridgeType}} </a> </h4> </div> http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.manager.console/console/themes/theme1/partials/header.hbs ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/partials/header.hbs b/components/org.apache.stratos.manager.console/console/themes/theme1/partials/header.hbs index 09debed..f22c5f3 100644 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/partials/header.hbs +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/partials/header.hbs @@ -279,18 +279,30 @@ </div> </div> {{else}} - {{#if config_status.not_complete}} - <div class="info-bar"> + {{#if deploy_status}} + <div class="info-bar success"> <div class="container"> <div class="row"> - <div class="col-lg-3"> - </div> - <div class="col-lg-6"> - <i class="icon-exclamation"></i> Configure Stratos is not completed. <a href="{{url "/configure_stratos_wizard.jag"}}">Take the Wizard</a> + <div class="col-lg-12"> + <i class="icon-exclamation"></i>{{type}} successful.</a> </div> </div> </div> </div> + {{else}} + {{#if config_status.not_complete}} + <div class="info-bar"> + <div class="container"> + <div class="row"> + <div class="col-lg-3"> + </div> + <div class="col-lg-6"> + <i class="icon-exclamation"></i> Configure Stratos is not completed. <a href="{{url "/configure_stratos_wizard.jag"}}">Take the Wizard</a> + </div> + </div> + </div> + </div> + {{/if}} {{/if}} {{/if}} http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js index 0b6333c..3a96ca4 100644 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js @@ -1,10 +1,14 @@ var render = function (theme, data, meta, require) { session.put("configuring","true"); var title; + var header_type; var deploy_status = session.get("deploy-status"); var list_status = session.get("get-status"); - var err_message = ""; + var err_message; + var isErrDeply = false; + var isErrGet = false; var isErr = false; + var isSucceeded = false; var wizard_on_val = []; for(var i=0; i<6 ;i++){ if(i <= data.wizard.step-1){ @@ -27,21 +31,43 @@ var render = function (theme, data, meta, require) { }else if( config_status.step == 6 ){ title = 'Multi-Tenant Service Deployment'; } + var log = new Log(); - if((deploy_status != null && deploy_status == "succeeded") && (list_status != null && list_status == "succeeded")) { - isErr = false; - } else if((deploy_status != null && !(deploy_status == "succeeded")) && (list_status != null && !(list_status == "succeeded"))) { - isErr = true; - step_data = "[]"; - err_message = deploy_status + " , " + list_status; - } else if((deploy_status != null && deploy_status == "succeeded") && (list_status != null && !(list_status == "succeeded"))) { - isErr = true; - err_message = list_status; + if(deploy_status == "succeeded") { + isErrDeply = false; + isSucceeded = true; + } else if(deploy_status == null) { + isErrDeply = false; + } else { + isErrDeply = true; + err_message = deploy_status; step_data = "[]"; - } else if((deploy_status != null && !(deploy_status == "succeeded")) && (list_status != null && list_status == "succeeded")) { - isErr = true; - err_message = deploy_status; } + + log.info("****************************--------------" + err_message + isErrDeply); + + + if(list_status == "succeeded") { + isErrGet = false; + } else if(list_status == null) { + isErrGet = false; + } else { + isErrGet = true; + if(err_message == undefined) { + err_message = list_status; + } else { + err_message = err_message + ", " + list_status; + } + step_data = "[]"; + } + + if(isErrDeply || isErrGet) { + isErr = true; + } + + + log.info("****************************" + err_message); + log.info("------------------: " + isErr); session.remove("get-status"); session.remove("deploy-status"); @@ -96,7 +122,9 @@ var render = function (theme, data, meta, require) { step:step, configure_stratos:true, error:isErr, - error_msg:err_message + deploy_status:isSucceeded, + error_msg:err_message, + type:title } } ], http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.manager.console/console/themes/theme1/ui/css/main.css ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/ui/css/main.css b/components/org.apache.stratos.manager.console/console/themes/theme1/ui/css/main.css index 898cb7b..b6cf2b5 100644 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/ui/css/main.css +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/ui/css/main.css @@ -460,9 +460,15 @@ textarea.jsonEditor{ margin-top:-10px; } div.error{ - background:#ff9998; + background:#fa6f3e; color:#444; } + +div.success{ + background:#ffe096; + color:#058a26; +} + .color-a-full-icons{ color:#ff9000; font-size:30px; http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.manager.console/console/util/utility.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/util/utility.jag b/components/org.apache.stratos.manager.console/console/util/utility.jag index ad1c6fe..a00101d 100644 --- a/components/org.apache.stratos.manager.console/console/util/utility.jag +++ b/components/org.apache.stratos.manager.console/console/util/utility.jag @@ -173,7 +173,7 @@ consoleAppUtil = new function(){ return this.send("POST","/cartridge/unsubscribe",alias).data; }; this.getCartridges = function(){ - return this.sendReceive("GET","/cartridge/list",{}).data; + return this.sendReceive("GET","/cartridge/available/list",{}).data; }; this.getLbCartridges = function(){ @@ -185,17 +185,25 @@ consoleAppUtil = new function(){ }; this.getConfigStatus = function(){ var configStatus = {}; + + var par_res = this.sendReceive("GET","/partition",{}).data; var get_status = session.get("get-status"); + if(get_status == "succeeded") { - if(this.sendReceive("GET","/partition",{}).data.partition.length == 0){ - configStatus.first_use = true; + if(par_res.partition.length == 0){ + configStatus.first_use = true; }else{ - if(this.sendReceive("GET","/cartridge/list",{}).data.cartridge.length == 0){ - configStatus.first_use = false; - configStatus.not_complete = true; - }else{ - configStatus.not_complete = false; - configStatus.first_use = false; + var car_res = this.sendReceive("GET","/cartridge/list",{}).data; + var get_status = session.get("get-status"); + + if(get_status == "succeeded") { + if(car_res.cartridge.length == 0){ + configStatus.first_use = false; + configStatus.not_complete = true; + }else{ + configStatus.not_complete = false; + configStatus.first_use = false; + } } } } else { @@ -247,11 +255,15 @@ consoleAppUtil = new function(){ default : log.error("Error in the programme flow."); } + log.info("-----------------------:" + stringify(response)); + //response = {"data" : {"Error" : {"errorCode" : " 400", "errorMessage" : " Error getting available partitions"}}, "xhr" : {}}; if(response.data.Error) { session.put("get-status", response.data.Error.errorMessage); } else { session.put("get-status", "succeeded"); } + + log.info("--------------------: + " + urlPostFix + " "+ session.get("get-status")); return response; }; @@ -286,6 +298,9 @@ consoleAppUtil = new function(){ } else { session.put("deploy-status", "Error occurred while deploying..."); } + log.info("sent is: " + stringify(response)); + log.info("--------------------: + " + urlPostFix + " "+ session.get("deploy-status")); + return response; }; http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java index 40f4475..71fec9c 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java @@ -20,8 +20,11 @@ package org.apache.stratos.manager.dto; import org.apache.stratos.cloud.controller.pojo.PortMapping; +import org.apache.stratos.cloud.controller.pojo.PersistanceMapping; import javax.xml.bind.annotation.XmlRootElement; +import java.util.ArrayList; +import java.util.List; @XmlRootElement public class Cartridge implements Comparable<Cartridge> { @@ -58,7 +61,7 @@ public class Cartridge implements Comparable<Cartridge> { private String defaultDeploymentPolicy; - private boolean isPersistant; + private List<PersistanceMapping> persistanceMappingBeans = new ArrayList<PersistanceMapping>(); public String getDisplayName() { return displayName; @@ -263,11 +266,20 @@ public class Cartridge implements Comparable<Cartridge> { public void setDefaultDeploymentPolicy(String defaultDeploymentPolicy) { this.defaultDeploymentPolicy = defaultDeploymentPolicy; } - public boolean isPersistant() { - return isPersistant; + + public List<PersistanceMapping> getPersistanceMappingBeans() { + return persistanceMappingBeans; + } + + public void addPersistanceMapping(PersistanceMapping persistanceMappingBean) { + this.persistanceMappingBeans.add(persistanceMappingBean); + } + + public void removePersistanceMapping(PersistanceMapping persistanceMappingBean) { + this.persistanceMappingBeans.remove(persistanceMappingBean); } - public void setPersistant(boolean isPersistant) { - this.isPersistant = isPersistant; + public void setPersistanceMappingBeans(List<PersistanceMapping> persistanceMappingBeans) { + this.persistanceMappingBeans = persistanceMappingBeans; } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java index c469ad7..feb8e66 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java @@ -500,6 +500,13 @@ public class ServiceUtils { cartridge.setDefaultDeploymentPolicy(cartridgeInfo.getDefaultDeploymentPolicy()); //cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED); cartridge.setCartridgeAlias("-"); + + if(cartridgeInfo.getPeristanceMappings() != null) { + for(PersistanceMapping persistanceMapping : cartridgeInfo.getPeristanceMappings()) { + cartridge.addPersistanceMapping(persistanceMapping); + } + } + if(cartridgeInfo.getLbConfig() != null && cartridgeInfo.getProperties() != null) { for(Property property: cartridgeInfo.getProperties()) { if(property.getName().equals("load.balancer")) { http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e1e6a7b9/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java index a4b7a42..c2ac392 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java @@ -290,6 +290,17 @@ public class StratosAdmin extends AbstractAdmin { } @GET + @Path("/cartridge/available/list") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/protected/manage/monitor/tenants") + public Cartridge[] getAvailableCartridges() throws ADCException { + List<Cartridge> cartridges = ServiceUtils.getAvailableCartridges(null, null, getConfigContext()); + return cartridges.isEmpty() ? new Cartridge[0] : cartridges.toArray(new Cartridge[cartridges.size()]); + } + + + @GET @Path("/cartridge/list/subscribed") @Produces("application/json") @Consumes("application/json")
