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,
