You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by gn...@apache.org on 2017/02/15 11:33:57 UTC

ambari git commit: AMBARI-19978. Coordinator tag sequence is not maintained.(Padma Priya N via gauravn7)

Repository: ambari
Updated Branches:
  refs/heads/trunk 9a60b86f4 -> 2ed71586a


AMBARI-19978. Coordinator tag sequence is not maintained.(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/2ed71586
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2ed71586
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2ed71586

Branch: refs/heads/trunk
Commit: 2ed71586a88f8fc5c9fc41790e9165ffd5e34cd6
Parents: 9a60b86
Author: Gaurav Nagar <gr...@gmail.com>
Authored: Wed Feb 15 17:03:42 2017 +0530
Committer: Gaurav Nagar <gr...@gmail.com>
Committed: Wed Feb 15 17:03:42 2017 +0530

----------------------------------------------------------------------
 .../ui/app/components/bundle-config.js          |  8 ++--
 .../resources/ui/app/components/coord-config.js | 37 ++++++++++-------
 .../coordinator/coordinator-xml-generator.js    | 12 ++++--
 .../coordinator/coordinator-xml-importer.js     | 43 ++++++++++++--------
 4 files changed, 62 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/2ed71586/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js
index 658cbc0..db7a180 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js
@@ -90,7 +90,7 @@ export default Ember.Component.extend(Ember.Evented, Validations, {
   }),
   loadBundle(draftBundle){
     if(draftBundle){
-      this.set('bundle', JSON.parse(draftBundle));
+      this.set('bundle', JSOG.parse(draftBundle));
     }else{
       this.set('bundle', this.createBundle());
     }
@@ -109,7 +109,7 @@ export default Ember.Component.extend(Ember.Evented, Validations, {
     if(!this.get('bundle')){
       return;
     }
-    var json = JSON.stringify(this.get("bundle"));
+    var json = JSOG.stringify(this.get("bundle"));
     this.get('workspaceManager').saveWorkInProgress(this.get('tabInfo.id'), json);
   },
   createBundle (){
@@ -161,7 +161,7 @@ export default Ember.Component.extend(Ember.Evented, Validations, {
     }.bind(this));
   },
   getBundleFromJSON(draftBundle){
-    this.set('bundle', JSON.parse(draftBundle));
+    this.set('bundle', JSOG.parse(draftBundle));
   },
   getBundleFromHdfs(filePath){
     var url =  Ember.ENV.API_URL + "/readWorkflow?workflowPath="+filePath+"&jobType=BUNDLE";
@@ -401,7 +401,7 @@ export default Ember.Component.extend(Ember.Evented, Validations, {
         var bundleGenerator = BundleGenerator.create({bundle:this.get("bundle")});
         bundleXml = bundleGenerator.process();
       }
-      var bundleJson = JSON.stringify(this.get("bundle"));
+      var bundleJson = JSOG.stringify(this.get("bundle"));
       this.set("configForSave",{json:bundleJson, xml:bundleXml, isDraft: isDraft});
       this.set("showingSaveWorkflow", true);
     },

http://git-wip-us.apache.org/repos/asf/ambari/blob/2ed71586/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js
index 39b9d11..369481f 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js
@@ -89,7 +89,7 @@ export default Ember.Component.extend(Validations, Ember.Evented, {
     this.on('fileSelected',function(fileName){
       this.set(this.get('filePathModel'), fileName);
     }.bind(this));
-
+    this.set('childComponents', new Map());
   }.on('init'),
   conditionalDataInExists :false,
   elementsInserted : function(){
@@ -123,7 +123,7 @@ export default Ember.Component.extend(Validations, Ember.Evented, {
   }),
   loadCoordinator(draftCoordinator){
     if(draftCoordinator){
-      this.set('coordinator', JSON.parse(draftCoordinator));
+      this.set('coordinator', JSOG.parse(draftCoordinator));
     }else{
       this.set('coordinator', this.createNewCoordinator());
     }
@@ -162,7 +162,7 @@ export default Ember.Component.extend(Validations, Ember.Evented, {
     if(!this.get('coordinator')){
       return;
     }
-    var json = JSON.stringify(this.get("coordinator"));
+    var json = JSOG.stringify(this.get("coordinator"));
     this.get('workspaceManager').saveWorkInProgress(this.get('tabInfo.id'), json);
   },
   showExistingWorkflow  : function(){
@@ -188,6 +188,16 @@ export default Ember.Component.extend(Validations, Ember.Evented, {
   }.on('didInsertElement'),
   createNewCoordinator(){
     return Coordinator.create({
+      parameters : {
+        configuration :{
+          property : Ember.A([])
+        }
+      },
+      controls : Ember.A([]),
+      datasets : Ember.A([]),
+      dataInputs : Ember.A([]),
+      inputLogic : null,
+      dataOutputs : Ember.A([]),
       workflow : {
         appPath : undefined,
         configuration :{
@@ -209,16 +219,7 @@ export default Ember.Component.extend(Validations, Ember.Evented, {
         type : 'date'
       },
       timezone : 'UTC',
-      datasets : Ember.A([]),
-      dataInputs : Ember.A([]),
-      dataOutputs : Ember.A([]),
       dataInputType : 'simple',
-      parameters : {
-        configuration :{
-          property : Ember.A([])
-        }
-      },
-      controls : Ember.A([]),
       slainfo : SlaInfo.create({}),
       schemaVersions : {
         coordinatorVersion : this.get('schemaVersions').getDefaultVersion('coordinator')
@@ -278,7 +279,15 @@ export default Ember.Component.extend(Validations, Ember.Evented, {
     }.bind(this));
   },
   getCoordinatorFromJSON(draftCoordinator){
-    this.set('coordinator', JSON.parse(draftCoordinator));
+    this.set('coordinator', JSOG.parse(draftCoordinator));
+    this.$('input[name="dataInputType"][value="'+ this.get('coordinator.dataInputType')+'"]').prop('checked', true);
+    if(this.get('coordinator.dataInputType') === 'logical'){
+      this.set('conditionalDataInExists', true);
+    }
+    if(this.get('coordinator.inputLogic')){
+      this.set('inputLogicExists', true);
+      this.set('inputLogicEnabled', true);
+    }
   },
   readCoordinatorFromHdfs(filePath){
     var url =  Ember.ENV.API_URL + "/readWorkflow?workflowPath="+filePath+"&jobType=COORDINATOR";
@@ -649,7 +658,7 @@ export default Ember.Component.extend(Validations, Ember.Evented, {
         var coordGenerator = CoordinatorGenerator.create({coordinator:this.get("coordinator")});
         coordinatorXml = coordGenerator.process();
       }
-      var coordinatorJson = JSON.stringify(this.get("coordinator"));
+      var coordinatorJson = JSOG.stringify(this.get("coordinator"));
       this.set("configForSave",{json:coordinatorJson, xml:coordinatorXml,isDraft: isDraft});
       this.set("showingSaveWorkflow", true);
     },

http://git-wip-us.apache.org/repos/asf/ambari/blob/2ed71586/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-generator.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-generator.js b/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-generator.js
index cbefa99..4c8d16f 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-generator.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-generator.js
@@ -15,9 +15,12 @@
 *    limitations under the License.
 */
 import Ember from 'ember';
+import {SLAMapper} from "../../domain/mapping-utils";
+
 var CoordinatorGenerator= Ember.Object.extend({
   x2js : new X2JS({useDoubleQuotes:true}),
   coordinator: null,
+  slaMapper: SLAMapper.create({}),
   init(){
   },
   process(){
@@ -34,6 +37,8 @@ var CoordinatorGenerator= Ember.Object.extend({
     coordinatorApp._end = this.coordinator.end.value;
     coordinatorApp._timezone = this.coordinator.timezone;
     coordinatorApp._xmlns = "uri:oozie:coordinator:"+this.coordinator.schemaVersions.coordinatorVersion;
+    this.generateParameters(coordinatorApp);
+    this.generateControls(coordinatorApp);
     this.generateDataSets(coordinatorApp);
     if(this.coordinator.dataInputType === 'simple'){
       this.generateInputEvents(coordinatorApp);
@@ -45,8 +50,10 @@ var CoordinatorGenerator= Ember.Object.extend({
     }
     this.generateOutputEvents(coordinatorApp);
     this.generateAction(coordinatorApp);
-    this.generateParameters(coordinatorApp);
-    this.generateControls(coordinatorApp);
+    if(this.coordinator.slaEnabled){
+      coordinatorApp["_xmlns:sla"] = "uri:oozie:sla:0.2";
+      this.get("slaMapper").hanldeGeneration(this.coordinator.slaInfo, coordinatorApp.action);
+    }
     var xmlAsStr = this.get("x2js").json2xml_str(xmlJson);
     return xmlAsStr;
   },
@@ -116,7 +123,6 @@ var CoordinatorGenerator= Ember.Object.extend({
     if(!condition) {
       return;
     }
-    conditionJson._name = condition.name;
     if(condition.min){
       conditionJson._min = condition.min;
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/2ed71586/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-importer.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-importer.js b/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-importer.js
index ddb2b43..bc61f10 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-importer.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/domain/coordinator/coordinator-xml-importer.js
@@ -18,47 +18,52 @@ import Ember from 'ember';
 import { Coordinator } from '../coordinator/coordinator';
 import SchemaVersions from '../schema-versions';
 import CommonUtils from "../../utils/common-utils";
+import {SLAMapper} from "../../domain/mapping-utils";
+import {SlaInfo} from '../../domain/sla-info';
 
 var CoordinatorXmlImporter= Ember.Object.extend({
   x2js : new X2JS(),
   schemaVersions: SchemaVersions.create({}),
+  slaMapper: SLAMapper.create({}),
   importCoordinator (xml){
     var coordinatorJson = this.get("x2js").xml_str2json(xml);
     return this.processCoordinatorXML(coordinatorJson);
   },
   createNewCoordinator(){
     return Coordinator.create({
+      parameters : {
+        configuration :{
+          property : Ember.A([])
+        }
+      },
+      controls : Ember.A([]),
+      datasets : Ember.A([]),
+      dataInputs : Ember.A([]),
+      inputLogic : null,
+      dataOutputs : Ember.A([]),
       workflow : {
-        appPath : '',
+        appPath : undefined,
         configuration :{
           property : Ember.A([])
         }
       },
       frequency : {
-        type : '',
-        value : ''
+        type : undefined,
+        value : undefined
       },
       start : {
-        value : '',
-        displayValue : '',
+        value : undefined,
+        displayValue : undefined,
         type : 'date'
       },
       end : {
-        value : '',
-        displayValue : '',
+        value : undefined,
+        displayValue : undefined,
         type : 'date'
       },
-      timezone : '',
-      datasets : Ember.A([]),
-      dataInputs : Ember.A([]),
-      dataOutputs : Ember.A([]),
+      timezone : 'UTC',
       dataInputType : 'simple',
-      parameters : {
-        configuration :{
-          property : Ember.A([])
-        }
-      },
-      controls : Ember.A([]),
+      slainfo : SlaInfo.create({}),
       schemaVersions : {
         coordinatorVersion : this.get('schemaVersions').getDefaultVersion('coordinator')
       }
@@ -102,6 +107,10 @@ var CoordinatorXmlImporter= Ember.Object.extend({
     this.extractAction(coordinatorApp, coordinator);
     this.extractParameters(coordinatorApp, coordinator);
     this.extractControls(coordinatorApp, coordinator);
+    if (coordinatorApp.action.info && coordinatorApp.action.info.__prefix==="sla") {
+      coordinator.slaEnabled=true;
+      this.get("slaMapper").handleImport(coordinator, coordinatorApp.action.info, "slaInfo");
+    }
     return {coordinator: coordinator, errors: errors};
   },
   extractDateField(value){