Browse Source

AMBARI-24491. Workflow Manager should add / string to the beginning of app path (#2524)

Olivér Szabó 7 years ago
parent
commit
8c8fb065f3

+ 18 - 0
contrib/views/wfmanager/src/main/resources/ui/app/components/spark-action.js

@@ -54,6 +54,7 @@ export default Ember.Component.extend(Validations,{
     this.set('isJar', this.get('actionModel.jar') && this.get('actionModel.jar').endsWith('.jar'));
     this.sendAction('register','sparkAction', this);
   }.on('init'),
+  appendNameNode: false,
   initialize : function(){
     this.on('fileSelected',function(fileName){
       this.set(this.get('filePathModel'), fileName);
@@ -105,6 +106,20 @@ export default Ember.Component.extend(Validations,{
       this.$('#collapseOne').collapse('show');
     }
   }.on('didUpdate'),
+  validateJarPathAndAppend() {
+      let nameNode = this.get('actionModel.nameNode'), jar = this.get('actionModel.jar');
+      if(!jar) {
+        return;
+      }
+      this.toggleProperty('appendNameNode');
+      if(!jar.startsWith('${nameNode}') && this.get('appendNameNode')) {
+        this.set('actionModel.jar', `${nameNode}${jar}`);
+      } else if(jar.startsWith('${nameNode}') && this.get('appendNameNode')) {
+        this.set('actionModel.jar', `${jar}`);
+      } else {
+        this.set('actionModel.jar', jar.replace('${nameNode}', ''));
+      }
+  },
   actions : {
     openFileBrowser(model, context){
       if(undefined === context){
@@ -116,6 +131,9 @@ export default Ember.Component.extend(Validations,{
     register (name, context){
       this.sendAction('register',name , context);
     },
+    appendNamenode() {
+      this.validateJarPathAndAppend();
+    },
     onMasterChange (elt){
       var value = this.$(elt).val();
       if(value !== 'other'){

+ 3 - 0
contrib/views/wfmanager/src/main/resources/ui/app/styles/app.less

@@ -1824,4 +1824,7 @@ input:invalid {
 .note-info {
   position: relative;
   top: 10px;
+}
+.spark-namenode {
+  top: 15px;
 }

+ 7 - 0
contrib/views/wfmanager/src/main/resources/ui/app/templates/components/spark-action.hbs

@@ -48,6 +48,13 @@
       </div>
     </div>
     {{/if}}
+    <div class="form-group">
+      <label for="inputEmail" class="control-label col-xs-2">Append master<span class="requiredField">&nbsp;*</span></label>
+      <div class="col-xs-2 spark-namenode">
+          <input type="checkbox" name="master" checked={{appendNameNode}} value="other" onchange={{action "appendNamenode" value="target"}}>
+      </div>
+    </div>
+
     <div class="form-group">
       <label for="inputEmail" class="control-label col-xs-2">Runs On<span class="requiredField">&nbsp;*</span></label>
       {{#each mastersList as |master|}}