AMBARI-20007. Args value is not retained for ssh node.(Padma Priya N via gauravn7)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a8c10104 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a8c10104 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a8c10104 Branch: refs/heads/branch-feature-AMBARI-12556 Commit: a8c101041ae50234ca72003d32bbd47001d8cbe8 Parents: 45ef011 Author: Gaurav Nagar <[email protected]> Authored: Wed Feb 15 17:07:36 2017 +0530 Committer: Gaurav Nagar <[email protected]> Committed: Wed Feb 15 17:07:36 2017 +0530 ---------------------------------------------------------------------- .../resources/ui/app/components/java-action.js | 21 +++++------- .../resources/ui/app/components/ssh-action.js | 29 ++++++---------- .../app/templates/components/shell-action.hbs | 36 ++++++-------------- .../ui/app/templates/components/ssh-action.hbs | 12 +++---- 4 files changed, 35 insertions(+), 63 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a8c10104/contrib/views/wfmanager/src/main/resources/ui/app/components/java-action.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/java-action.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/java-action.js index 9d43fe7..18a3702 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/components/java-action.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/java-action.js @@ -24,29 +24,24 @@ const Validations = buildValidations({ }), 'actionModel.jobTracker': validator('presence', { presence : true - }) + }) }); export default Ember.Component.extend(Validations, { fileBrowser : Ember.inject.service('file-browser'), - javaOptsObserver : Ember.observer('isSingle',function(){ - if(this.get('isSingle')){ - this.set("actionModel.javaOpt", undefined); - }else{ - this.set("actionModel.javaOpts", undefined); - } - }), + isSingle : false, setUp : function(){ if(this.get('actionModel.args') === undefined){ this.set("actionModel.args", Ember.A([])); } - if(this.get('actionModel.javaOpt') === undefined && !this.get('actionModel.javaOpts')){ + if(this.get('actionModel.javaOpt') === undefined){ this.set("actionModel.javaOpt", Ember.A([])); + }else if(this.get('actionModel.javaOpt').length > 0){ this.set('isSingle', false); - }else if(this.get('actionModel.javaOpt') === undefined && this.get('actionModel.javaOpts')){ - this.set('isSingle', true); - }else{ + }else if(Ember.isBlank(this.get('actionModel.javaOpts')) && this.get('actionModel.javaOpt').length == 0){ this.set('isSingle', false); + }else{ + this.set('isSingle', true); } if(this.get('actionModel.files') === undefined){ this.set("actionModel.files", Ember.A([])); @@ -90,8 +85,10 @@ export default Ember.Component.extend(Validations, { onJavaOptChange(value){ if(value === "single"){ this.set('isSingle',true); + this.set("actionModel.javaOpt", Ember.A([])); }else{ this.set('isSingle',false); + this.set("actionModel.javaOpts", undefined); } } } http://git-wip-us.apache.org/repos/asf/ambari/blob/a8c10104/contrib/views/wfmanager/src/main/resources/ui/app/components/ssh-action.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/ssh-action.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/ssh-action.js index d879a0c..8da7eef 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/components/ssh-action.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/ssh-action.js @@ -28,27 +28,17 @@ const Validations = buildValidations({ }); export default Ember.Component.extend(Validations, { fileBrowser : Ember.inject.service('file-browser'), - javaOptsObserver : Ember.observer('isSingle',function(){ - if(this.get('isSingle')){ - this.set("actionModel.arg", Ember.A([])); - }else{ - this.set("actionModel.args", Ember.A([])); - } - }), + useArg : false, setUp : function(){ if(this.get('actionModel.args') === undefined){ this.set("actionModel.args", Ember.A([])); + }else if(this.get('actionModel.args').length > 0){ + this.set('useArg', false); } if(this.get('actionModel.arg') === undefined){ this.set("actionModel.arg", Ember.A([])); - } - if(this.get('actionModel.arg') === undefined && !this.get('actionModel.args')){ - this.set("actionModel.arg", Ember.A([])); - this.set('isSingle', false); - }else if(this.get('actionModel.arg') === undefined && this.get('actionModel.args')){ - this.set('isSingle', true); - }else{ - this.set('isSingle', false); + }else if(this.get('actionModel.arg').length > 0){ + this.set('useArg', true); } }.on('init'), initialize : function(){ @@ -73,11 +63,12 @@ export default Ember.Component.extend(Validations, { register (name, context){ this.sendAction('register',name , context); }, - onJavaOptChange(value){ - if(value === "single"){ - this.set('isSingle',true); + argTypeChanged(useArg){ + this.set('useArg', useArg); + if(useArg){ + this.set("actionModel.args", Ember.A([])); }else{ - this.set('isSingle',false); + this.set("actionModel.arg", Ember.A([])); } } } http://git-wip-us.apache.org/repos/asf/ambari/blob/a8c10104/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/shell-action.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/shell-action.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/shell-action.hbs index 2cd8207..a2921b0 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/shell-action.hbs +++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/shell-action.hbs @@ -24,23 +24,24 @@ <div class="input-group"> {{input type="text" class="form-control" name="exec" title="Command or the path of the Shell command to execute" value=actionModel.exec placeholder="Script path or shell command"}} <span class="input-group-btn"> - <button class="btn btn-secondary" type="button" {{action "openFileBrowser" "actionModel.exec"}}>Browse</button> + <button class="btn btn-primary" type="button" {{action "openFileBrowser" "actionModel.exec"}}>Browse</button> </span> </div> {{field-error model=this field='actionModel.exec' showErrorMessage=showErrorMessage}} </div> </div> - - + {{#arg-config args=actionModel.args register="register" title="Argument"}}{{/arg-config}} {{#jobxml-config jobXml=actionModel.jobXml openFileBrowser="openFileBrowser" register="register"}}{{/jobxml-config}} - - {{#arg-config args=actionModel.envVar register="register" title="Environment Variable"}}{{/arg-config}} - - - -</div> - + <div class="form-group"> + <label for="inputPassword" class="control-label col-xs-2">Capture output</label> + <div class="col-xs-10"> + <div class="checkbox"> + <label title="capture output of the action">{{input type="checkbox" name="capture-output" checked=actionModel.captureOutput}}</label> + </div> + </div> + </div> + </div> <div class="panel panel-default"> <div class="panel-heading">Transition</div> <div class="panel-body handlerPanel"> @@ -48,7 +49,6 @@ </div> </div> {{#action-credential-config credentials=credentials actionCredentials=actionModel.credentials}}{{/action-credential-config}} - <div class="panel panel-default"> <div class="panel-heading" id="accordion" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne"> Advanced Properties @@ -71,14 +71,9 @@ {{input type="text" class="form-control" name="name-node" value=actionModel.nameNode validations="required,noWhitespace" placeholder="Name node"}} </div> </div> - {{#file-config files=actionModel.files openFileBrowser="openFileBrowser" register="register" title="File"}}{{/file-config}} - {{#file-config files=actionModel.archives openFileBrowser="openFileBrowser" register="register" title="Archive"}}{{/file-config}} - {{#prepare-config prepare=actionModel.prepare openFileBrowser="openFileBrowser" register="register"}}{{/prepare-config}} - - {{#arg-config args=actionModel.args register="register" title="arg"}}{{/arg-config}} </div> </div> <div class=" panel panel-default"> @@ -87,15 +82,6 @@ {{#name-value-config configuration=actionModel.configuration register="register"}}{{/name-value-config}} </div> </div> - - - <div class="form-group"> - <div class="col-xs-10"> - <div class="checkbox"> - <label title="capture output of the action">{{input type="checkbox" name="capture-output" checked=actionModel.captureOutput}}capture output</label> - </div> - </div> - </div> </div> </div> {{#sla-info slaInfo=actionModel.slaInfo register="register" slaEnabled=actionModel.slaEnabled register="register"}}{{/sla-info}} http://git-wip-us.apache.org/repos/asf/ambari/blob/a8c10104/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/ssh-action.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/ssh-action.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/ssh-action.hbs index 64f3906..a29a2ec 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/ssh-action.hbs +++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/ssh-action.hbs @@ -36,19 +36,17 @@ <div class="form-group"> <label class="control-label col-xs-2 visibility-hidden">Args</label> <div class="col-xs-2"> - <input type="radio" name="Args" checked={{if (eq isSingle false) 'checked'}} {{action "onJavaOptChange" "multiple" preventDefault=false on="change"}}> Args + <input type="radio" name="args" checked={{if (eq useArg false) 'checked'}} {{action "argTypeChanged" false on="change"}}> Args </div> <div class="col-xs-2"> - <input type="radio" name="Arg" checked={{if (eq isSingle true) 'checked'}} {{action "onJavaOptChange" "single" preventDefault=false on="change"}}> Arg + <input type="radio" name="arg" checked={{if (eq useArg true) 'checked'}} {{action "argTypeChanged" true on="change"}}> Arg </div> </div> - - {{#if isSingle}} - {{#arg-config args=actionModel.arg register="register" title="Arg"}}{{/arg-config}} + {{#if useArg}} + {{#arg-config args=actionModel.arg register="register" title="Arg"}}{{/arg-config}} {{else}} - {{#arg-config args=actionModel.args register="register" title="Args"}}{{/arg-config}} + {{#arg-config args=actionModel.args register="register" title="Args"}}{{/arg-config}} {{/if}} - <div class="form-group"> <label class="control-label col-xs-2">Capture output</label> <div class="col-xs-8">
