initial work for manage application policies

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

Branch: refs/heads/master
Commit: f5e92d1ed7b5c642f2bf0e682523cf2137bf1eec
Parents: 69adfb2
Author: Dakshika Jayathilaka <[email protected]>
Authored: Sun Mar 8 09:20:33 2015 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Sun Mar 8 12:02:55 2015 +0530

----------------------------------------------------------------------
 .../console/applications_form.jag               | 53 ++++++++++++++++----
 .../applications/application_requests.jag       |  3 ++
 .../console/controllers/rest/rest_calls.jag     | 12 +++++
 .../theme0/partials/applications_form.hbs       | 28 +++++++++++
 .../theme0/renderers/applications_form.js       |  1 +
 5 files changed, 88 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/f5e92d1e/components/org.apache.stratos.manager.console/console/applications_form.jag
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/applications_form.jag 
b/components/org.apache.stratos.manager.console/console/applications_form.jag
index d65d92d..0dbaecb 100644
--- 
a/components/org.apache.stratos.manager.console/console/applications_form.jag
+++ 
b/components/org.apache.stratos.manager.console/console/applications_form.jag
@@ -43,6 +43,35 @@ var leftMenu = menuGenerator(context, menuJson.menu, 
userPermissions);
 
 if (!elements) {
     elements = 
uriMatcher.match('/{context}/applications/{formtype}/{action}/');
+    isForm = true;
+
+    if (elements.action != 'new') {
+        isEdit = true;
+    }
+
+    try {
+        var formData = require('controllers/forms/schema/applications/' + 
elements.formtype + '.json'),
+                formDataRaw = 
require('controllers/forms/default/applications/' + elements.formtype + 
'.json'),
+                formTitle = formData.title,
+                buttonText = formData.name;
+    } catch (e) {
+        log.error(e.message);
+        error.push({"errorMessage": e.message});
+    }
+
+    //get the detail view for each listing
+    if (elements.action != 'new' && isEdit) {
+        formTitle = formData.title + ' Details - ' + elements.action;
+
+        var formtype = elements.formtype,
+                id = escape(elements.action);
+
+        switch (formtype) {
+            case "applicationpolicies":
+                formDataEdit = util.RESTCalls.getPolicyApplication(id);
+                break;
+        }
+    }
 
     if(!elements){
         elements = 
uriMatcher.match('/{context}/applications/{formtype}/{applicationId}/{action}');
@@ -82,20 +111,13 @@ if (!elements) {
 
 }
 
-try {
-    var formData = require('controllers/forms/schema/applications/' + 
elements.formtype + '.json'),
-            formDataRaw = require('controllers/forms/default/applications/' + 
elements.formtype + '.json'),
-            formTitle = formData.title,
-            buttonText = formData.name;
-} catch (e) {
-    log.error(e.message);
-    error.push({"errorMessage": e.message});
-}
 
 var formtype = elements.formtype;
 
 switch (formtype) {
     case "groups":
+        formTitle = "Cartridge Group Definition",
+                buttonText = "Cartridge Group Definition";
         list_data = util.RESTCalls.getGroups();
         if (list_data && list_data.length === 0) {
             list_data = null;
@@ -109,11 +131,23 @@ switch (formtype) {
         }
         break;
     case "applications":
+        formTitle = "Application Definition",
+                buttonText = "Application Definition";
         list_data = util.RESTCalls.getApplications();
         if (list_data && list_data.length === 0) {
             list_data = null;
         }
         break;
+
+    case "applicationpolicies":
+        formTitle = "Application Policy Definition",
+                buttonText = "Application Policy Definition";
+        list_data = util.RESTCalls.getApplicationPolicies();
+        if (list_data && list_data.length === 0) {
+            list_data = null;
+        }
+        break;
+
     default:
         error.push({"errorMessage":"Incorrect resource path found"});
 }
@@ -136,6 +170,7 @@ var caramelData = {
     formTitle: formTitle,
     formDataRaw: JSON.stringify(formDataRaw),
     formtype:elements.formtype,
+    buttonText: buttonText,
     //formDataRaw: JSON.stringify(partition_data.partition[0]),
     formDataEdit: JSON.stringify(formDataEdit),
     formData: JSON.stringify(formData),

http://git-wip-us.apache.org/repos/asf/stratos/blob/f5e92d1e/components/org.apache.stratos.manager.console/console/controllers/applications/application_requests.jag
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/controllers/applications/application_requests.jag
 
b/components/org.apache.stratos.manager.console/console/controllers/applications/application_requests.jag
index 87ea0b0..b0aa166 100644
--- 
a/components/org.apache.stratos.manager.console/console/controllers/applications/application_requests.jag
+++ 
b/components/org.apache.stratos.manager.console/console/controllers/applications/application_requests.jag
@@ -37,6 +37,9 @@ try {
         case "deletegroups":
             formSubmit = util.RESTCalls.deleteGroup(formPayload);
             break;
+        case "applicationpolicies":
+            formSubmit = 
util.RESTCalls.deployApplicationPolicyDefinition(formPayload);
+            break;
         case "applications":
             formSubmit = 
util.RESTCalls.deployApplicationDefinition(formPayload);
             break;

http://git-wip-us.apache.org/repos/asf/stratos/blob/f5e92d1e/components/org.apache.stratos.manager.console/console/controllers/rest/rest_calls.jag
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/controllers/rest/rest_calls.jag
 
b/components/org.apache.stratos.manager.console/console/controllers/rest/rest_calls.jag
index 7f2f08d..fe05283 100644
--- 
a/components/org.apache.stratos.manager.console/console/controllers/rest/rest_calls.jag
+++ 
b/components/org.apache.stratos.manager.console/console/controllers/rest/rest_calls.jag
@@ -96,6 +96,10 @@ RESTCalls = new function(){
         return this.send("POST","/applications", applicationDefinition);
     };
 
+    this.deployApplicationPolicyDefinition = 
function(applicationPolicyDefinition){
+        return this.send("POST","/applicationPolicies", 
applicationPolicyDefinition);
+    };
+
     this.deleteApplication = function(applicationId){
         return this.send("DELETE","/applications/" + applicationId,{});
     };
@@ -165,6 +169,10 @@ RESTCalls = new function(){
         return this.sendReceive("GET","/autoscalingPolicies",{});
     };
 
+    this.getPolicyApplication = function(applicationPolicyId){
+        return 
this.sendReceive("GET","/applicationPolicies/"+applicationPolicyId,{});
+    };
+
     this.getPolicyAutoScale = function(autoscalePolicyId){
         return 
this.sendReceive("GET","/autoscalingPolicies/"+autoscalePolicyId,{});
     };
@@ -194,6 +202,10 @@ RESTCalls = new function(){
         return this.sendReceive("GET","/applications",{});
     };
 
+    this.getApplicationPolicies = function(){
+        return this.sendReceive("GET","/applicationPolicies",{});
+    };
+
     this.getApplicationTopology = function(appId){
         return this.sendReceive("GET","/applications/" + appId + 
'/runtime',{});
     };

http://git-wip-us.apache.org/repos/asf/stratos/blob/f5e92d1e/components/org.apache.stratos.manager.console/console/themes/theme0/partials/applications_form.hbs
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/themes/theme0/partials/applications_form.hbs
 
b/components/org.apache.stratos.manager.console/console/themes/theme0/partials/applications_form.hbs
index a9935af..dbe107f 100644
--- 
a/components/org.apache.stratos.manager.console/console/themes/theme0/partials/applications_form.hbs
+++ 
b/components/org.apache.stratos.manager.console/console/themes/theme0/partials/applications_form.hbs
@@ -174,6 +174,34 @@
                         </div>
                     {{/each}}
                 {{/ifCond}}
+                {{#ifCond formtype "==" "applicationpolicies"}}
+                    {{#each content_body.sections}}
+                        <div class="block col-md-4 grid-group-item 
border-right">
+                            <div class="toggle-menu-icon">
+                                <i class="fa fa-th-large"></i>
+                            </div>
+                            <h2 class="truncate">{{id}} </h2>
+
+                            <div 
class="toggle-menu-description">{{description}} </div>
+                            <div class="list-button" style="display: none;">
+                                <button class="btn btn-danger btn-lg 
hover-delete-group" type="button"
+                                        id="{{id}}"> Delete</button>
+                                <button class="btn btn-info btn-lg 
hover-details" type="button" id="details_list_{{id}}"
+                                        data-url="{{url 
""}}/applications/applicationpolicies{{id}}/" > Details
+                                </button>
+                            </div>
+                            <div class="bottom-bar-wrapper">
+                                <div class="bottom-bar">
+                                    <button class="btn btn-danger btn-lg 
hover-delete-group" type="button"
+                                            id="{{id}}"> Delete</button>
+                                    <button class="btn btn-info btn-lg 
hover-details" type="button" id="details_{{id}}"
+                                            data-url="{{url 
""}}/applications/applicationpolicies/{{id}}/" > Details
+                                    </button>
+                                </div>
+                            </div>
+                        </div>
+                    {{/each}}
+                {{/ifCond}}
             </div>
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/stratos/blob/f5e92d1e/components/org.apache.stratos.manager.console/console/themes/theme0/renderers/applications_form.js
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/themes/theme0/renderers/applications_form.js
 
b/components/org.apache.stratos.manager.console/console/themes/theme0/renderers/applications_form.js
index de011b6..324e5c2 100644
--- 
a/components/org.apache.stratos.manager.console/console/themes/theme0/renderers/applications_form.js
+++ 
b/components/org.apache.stratos.manager.console/console/themes/theme0/renderers/applications_form.js
@@ -409,6 +409,7 @@ var render = function (theme, data, meta, require) {
                                 formDataRaw: data.formDataRaw,
                                 formDataEdit: data.formDataEdit,
                                 formtype:data.formtype,
+                                buttonText: data.buttonText,
                                 isForm: data.isForm,
                                 isEdit:data.isEdit,
                                 formTitle: data.formTitle,

Reply via email to