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")

Reply via email to