http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js b/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js new file mode 100644 index 0000000..4064379 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import BaseValidator from 'ember-cp-validations/validators/base'; + +const FsActionValidator = BaseValidator.extend({ + validate(value, options, model, attribute/**/) { + var isValidated = true, + msg = ""; + if (!value.length) { + return false; + } + value.forEach(function(item) { + switch (item.type) { + case "mkdir": + case "delete": + case "touchz": + if (!item.settings.path) { + isValidated = false; + msg = "path is mandatory"; + } + break; + case "chmod": + if (!item.settings.path) { + isValidated = false; + msg = "path and permissions are mandatory"; + } + break; + case "chgrp": + if (!item.settings.path || !item.settings.group) { + isValidated = false; + msg = "path and group are mandatory"; + } + break; + case "move": + if (!item.settings.source || !item.settings.target) { + isValidated = false; + msg = "source and target are mandatory"; + } + break; + } + }); + if (msg.length) { + return false; + } + return true; + } +}); + +FsActionValidator.reopenClass({ + /** + * Define attribute specific dependent keys for your validator + * + * @param {String} attribute The attribute being evaluated + * @param {Unknown} options Options passed into your validator + * @return {Array} + */ + getDependentsFor(/* attribute, options */) { + return []; + } +}); + +export default FsActionValidator;
http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/app/validators/job-params-validator.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/validators/job-params-validator.js b/contrib/views/wfmanager/src/main/resources/ui/app/validators/job-params-validator.js new file mode 100644 index 0000000..9940bd7 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/app/validators/job-params-validator.js @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import BaseValidator from 'ember-cp-validations/validators/base'; + +const JobParamsValidator = BaseValidator.extend({ + validate(value, options, model, attribute) { + if(!value || value.length === 0){ + return true; + } + var missingConfig = false; + value.forEach(function(item) { + if (item.isRequired && (!item || !item.value || item.value==="")){ + missingConfig = true; + return; + }else if(!item.isRequired && (!item || !item.value || item.value==="")){ + return; + } + }); + if(missingConfig){ + return "You need to fill all the mandatory job properties"; + } + return true; + + } +}); + +JobParamsValidator.reopenClass({ + /** + * Define attribute specific dependent keys for your validator + * + * @param {String} attribute The attribute being evaluated + * @param {Unknown} options Options passed into your validator + * @return {Array} + */ + getDependentsFor(/* attribute, options */) { + return []; + } +}); + +export default JobParamsValidator; http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/app/validators/operand-length.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/validators/operand-length.js b/contrib/views/wfmanager/src/main/resources/ui/app/validators/operand-length.js new file mode 100644 index 0000000..b79596b --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/app/validators/operand-length.js @@ -0,0 +1,46 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import BaseValidator from 'ember-cp-validations/validators/base'; + +const OperandLength = BaseValidator.extend({ + validate(value, options, model, attribute) { + if (options.min && value && value.length >= options.min) { + return true; + }else{ + if(options.message){ + return options.message; + } + return "Atleast two inputs are required"; + } + } +}); + +OperandLength.reopenClass({ + /** + * Define attribute specific dependent keys for your validator + * + * @param {String} attribute The attribute being evaluated + * @param {Unknown} options Options passed into your validator + * @return {Array} + */ + getDependentsFor(/* attribute, options */) { + return []; + } +}); + +export default OperandLength; http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/app/validators/unique-name.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/validators/unique-name.js b/contrib/views/wfmanager/src/main/resources/ui/app/validators/unique-name.js new file mode 100644 index 0000000..c08dc09 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/app/validators/unique-name.js @@ -0,0 +1,59 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import BaseValidator from 'ember-cp-validations/validators/base'; + +const UniqueName = BaseValidator.extend({ + validate(value, options, model, attribute) { + var nameMap = [], errorMsg = undefined, i = 0; + if(value){ + value.forEach(function(item, index){ + if(!item.name){ + errorMsg = "Name cannot be blank"; + i = index; + } else if(nameMap.indexOf(item.name) > -1){ + i = index; + errorMsg = "Name cannot be duplicate"; + } else{ + nameMap.push(item.name); + } + }); + if(errorMsg){ + if(i){ + value.splice(i, 1); + } + return errorMsg; + } + return true; + } + } +}); + +UniqueName.reopenClass({ + /** + * Define attribute specific dependent keys for your validator + * + * @param {String} attribute The attribute being evaluated + * @param {Unknown} options Options passed into your validator + * @return {Array} + */ + getDependentsFor(/* attribute, options */) { + return []; + } +}); + +export default UniqueName; http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/bower.json ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/bower.json b/contrib/views/wfmanager/src/main/resources/ui/bower.json index cbab954..0d897f1 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/bower.json +++ b/contrib/views/wfmanager/src/main/resources/ui/bower.json @@ -22,6 +22,9 @@ "abdmob/x2js": "~1.2.0", "bootstrap-treeview": "~1.2.0", "datatables": "~1.10.11", - "vkBeautify": "https://github.com/vkiryukhin/vkBeautify.git" + "vkBeautify": "https://github.com/vkiryukhin/vkBeautify.git", + "cytoscape": "^2.7.7", + "cytoscape-dagre": "^1.3.0", + "cytoscape-panzoom": "^2.4.0" } } http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/ember-cli-build.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/ember-cli-build.js b/contrib/views/wfmanager/src/main/resources/ui/ember-cli-build.js index 063c332..5f8b81c 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/ember-cli-build.js +++ b/contrib/views/wfmanager/src/main/resources/ui/ember-cli-build.js @@ -107,6 +107,16 @@ module.exports = function(defaults) { //vkBeautify app.import('bower_components/vkBeautify/vkbeautify.js') + + //cytoscape + app.import('bower_components/cytoscape/dist/cytoscape.js'); + + //cytoscape-dagre + app.import('bower_components/cytoscape-dagre/cytoscape-dagre.js'); + + //cytoscape-panzoom + app.import('bower_components/cytoscape-panzoom/cytoscape-panzoom.js'); + app.import('bower_components/cytoscape-panzoom/cytoscape.js-panzoom.css'); return app.toTree(); }; http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/addon/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/addon/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/addon/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/app/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/app/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/app/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/components/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/components/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/components/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/controllers/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/controllers/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/controllers/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/helpers/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/helpers/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/helpers/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/models/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/models/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/models/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/routes/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/routes/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/routes/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/templates/components/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/templates/components/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/dummy/app/templates/components/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/integration/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/integration/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/integration/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/unit/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/unit/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/tests/unit/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/vendor/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/vendor/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/externaladdons/hdfs-directory-viewer/vendor/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/mock-service/mock-server.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/mock-service/mock-server.js b/contrib/views/wfmanager/src/main/resources/ui/mock-service/mock-server.js new file mode 100644 index 0000000..f8a40ab --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/mock-service/mock-server.js @@ -0,0 +1,52 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function () { + "use strict"; + + var bodyParser = require('body-parser'), + express = require('express'), + mockData = require('./mockData.js'), + server = express(), + PORT = process.env.PORT || 11000; + + server.use('/', express.static(__dirname + '/dist')); + server.use(bodyParser()); + server.use(function (req, res, next) { + if (req.is('text/*')) { + req.text = ''; + req.setEncoding('utf8'); + req.on('data', function (chunk) { req.text += chunk; }); + req.on('end', next); + } else { + next(); + } + }); + + server.get('/oozie/v2/jobs', function(req, res) { + res.json(200, mockData.getJobs()); + }); + + server.get('/oozie/v2/job/:id', function(req, res) { + res.json(200, mockData.getJobById()); + }); + + server.listen(PORT, function () { + console.log('Dev server listening on port ' + PORT); + }); + +}()); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/mock-service/mockData.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/mock-service/mockData.js b/contrib/views/wfmanager/src/main/resources/ui/mock-service/mockData.js new file mode 100644 index 0000000..7eb3ebb --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/mock-service/mockData.js @@ -0,0 +1,316 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function () { + 'use strict'; + + function getJobs(){ + return jobs; + }; + + function getJobById(id){ + /* jobs.find(function(job){ + return job.id == id; + });*/ + return jobDetail; + } + + var jobs = { + "total":1127, + "workflows":[ + { + "appPath":null, + "acl":null, + "status":"FAILED", + "createdTime":"Mon, 18 Jul 2016 17:18:19 GMT", + "conf":null, + "lastModTime":"Mon, 18 Jul 2016 17:18:27 GMT", + "run":0, + "endTime":"Mon, 18 Jul 2016 17:18:27 GMT", + "externalId":"0001250-160321130408525-oozie-oozi-W@user-action@0", + "appName":"falcon-dr-hive-workflow", + "id":"0001251-160321130408525-oozie-oozi-W", + "startTime":"Mon, 18 Jul 2016 17:18:19 GMT", + "parentId":"0001250-160321130408525-oozie-oozi-W", + "toString":"Workflow id[0001251-160321130408525-oozie-oozi-W] status[FAILED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001251-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"KILLED", + "createdTime":"Mon, 18 Jul 2016 17:18:06 GMT", + "conf":null, + "lastModTime":"Tue, 19 Jul 2016 17:18:17 GMT", + "run":0, + "endTime":"Tue, 19 Jul 2016 17:18:17 GMT", + "externalId":"hiveMirror11463038709928\/DEFAULT\/2016-05-19T16:02Z", + "appName":"FALCON_PROCESS_DEFAULT_hiveMirror11463038709928", + "id":"0001250-160321130408525-oozie-oozi-W", + "startTime":"Mon, 18 Jul 2016 17:18:07 GMT", + "parentId":"0000735-160321130408525-oozie-oozi-C@2077", + "toString":"Workflow id[0001250-160321130408525-oozie-oozi-W] status[KILLED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001250-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"FAILED", + "createdTime":"Thu, 19 May 2016 16:01:47 GMT", + "conf":null, + "lastModTime":"Thu, 19 May 2016 16:01:50 GMT", + "run":0, + "endTime":"Thu, 19 May 2016 16:01:50 GMT", + "externalId":"0001248-160321130408525-oozie-oozi-W@user-action@0", + "appName":"falcon-dr-hive-workflow", + "id":"0001249-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 16:01:47 GMT", + "parentId":"0001248-160321130408525-oozie-oozi-W", + "toString":"Workflow id[0001249-160321130408525-oozie-oozi-W] status[FAILED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001249-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"KILLED", + "createdTime":"Thu, 19 May 2016 16:01:43 GMT", + "conf":null, + "lastModTime":"Tue, 19 Jul 2016 17:18:16 GMT", + "run":0, + "endTime":"Tue, 19 Jul 2016 17:18:15 GMT", + "externalId":"hiveMirror11463038709928\/DEFAULT\/2016-05-19T15:57Z", + "appName":"FALCON_PROCESS_DEFAULT_hiveMirror11463038709928", + "id":"0001248-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 16:01:43 GMT", + "parentId":"0000735-160321130408525-oozie-oozi-C@2076", + "toString":"Workflow id[0001248-160321130408525-oozie-oozi-W] status[KILLED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001248-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"FAILED", + "createdTime":"Thu, 19 May 2016 15:56:47 GMT", + "conf":null, + "lastModTime":"Thu, 19 May 2016 15:56:48 GMT", + "run":0, + "endTime":"Thu, 19 May 2016 15:56:48 GMT", + "externalId":"0001246-160321130408525-oozie-oozi-W@user-action@0", + "appName":"falcon-dr-hive-workflow", + "id":"0001247-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 15:56:47 GMT", + "parentId":"0001246-160321130408525-oozie-oozi-W", + "toString":"Workflow id[0001247-160321130408525-oozie-oozi-W] status[FAILED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001247-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"KILLED", + "createdTime":"Thu, 19 May 2016 15:56:45 GMT", + "conf":null, + "lastModTime":"Tue, 19 Jul 2016 17:18:15 GMT", + "run":0, + "endTime":"Tue, 19 Jul 2016 17:18:15 GMT", + "externalId":"hiveMirror11463038709928\/DEFAULT\/2016-05-19T15:52Z", + "appName":"FALCON_PROCESS_DEFAULT_hiveMirror11463038709928", + "id":"0001246-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 15:56:45 GMT", + "parentId":"0000735-160321130408525-oozie-oozi-C@2075", + "toString":"Workflow id[0001246-160321130408525-oozie-oozi-W] status[KILLED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001246-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"FAILED", + "createdTime":"Thu, 19 May 2016 13:12:02 GMT", + "conf":null, + "lastModTime":"Thu, 19 May 2016 13:12:03 GMT", + "run":0, + "endTime":"Thu, 19 May 2016 13:12:03 GMT", + "externalId":"0001244-160321130408525-oozie-oozi-W@user-action@0", + "appName":"falcon-dr-hive-workflow", + "id":"0001245-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 13:12:02 GMT", + "parentId":"0001244-160321130408525-oozie-oozi-W", + "toString":"Workflow id[0001245-160321130408525-oozie-oozi-W] status[FAILED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001245-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"KILLED", + "createdTime":"Thu, 19 May 2016 13:12:00 GMT", + "conf":null, + "lastModTime":"Tue, 19 Jul 2016 17:18:17 GMT", + "run":0, + "endTime":"Tue, 19 Jul 2016 17:18:17 GMT", + "externalId":"hiveMirror11463038709928\/DEFAULT\/2016-05-19T13:12Z", + "appName":"FALCON_PROCESS_DEFAULT_hiveMirror11463038709928", + "id":"0001244-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 13:12:01 GMT", + "parentId":"0000735-160321130408525-oozie-oozi-C@2043", + "toString":"Workflow id[0001244-160321130408525-oozie-oozi-W] status[KILLED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001244-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"FAILED", + "createdTime":"Thu, 19 May 2016 13:07:02 GMT", + "conf":null, + "lastModTime":"Thu, 19 May 2016 13:07:03 GMT", + "run":0, + "endTime":"Thu, 19 May 2016 13:07:03 GMT", + "externalId":"0001242-160321130408525-oozie-oozi-W@user-action@0", + "appName":"falcon-dr-hive-workflow", + "id":"0001243-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 13:07:02 GMT", + "parentId":"0001242-160321130408525-oozie-oozi-W", + "toString":"Workflow id[0001243-160321130408525-oozie-oozi-W] status[FAILED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001243-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"KILLED", + "createdTime":"Thu, 19 May 2016 13:07:01 GMT", + "conf":null, + "lastModTime":"Tue, 19 Jul 2016 17:18:16 GMT", + "run":0, + "endTime":"Tue, 19 Jul 2016 17:18:16 GMT", + "externalId":"hiveMirror11463038709928\/DEFAULT\/2016-05-19T13:07Z", + "appName":"FALCON_PROCESS_DEFAULT_hiveMirror11463038709928", + "id":"0001242-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 13:07:01 GMT", + "parentId":"0000735-160321130408525-oozie-oozi-C@2042", + "toString":"Workflow id[0001242-160321130408525-oozie-oozi-W] status[KILLED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001242-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"FAILED", + "createdTime":"Thu, 19 May 2016 13:02:02 GMT", + "conf":null, + "lastModTime":"Thu, 19 May 2016 13:02:03 GMT", + "run":0, + "endTime":"Thu, 19 May 2016 13:02:03 GMT", + "externalId":"0001240-160321130408525-oozie-oozi-W@user-action@0", + "appName":"falcon-dr-hive-workflow", + "id":"0001241-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 13:02:02 GMT", + "parentId":"0001240-160321130408525-oozie-oozi-W", + "toString":"Workflow id[0001241-160321130408525-oozie-oozi-W] status[FAILED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001241-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + }, + { + "appPath":null, + "acl":null, + "status":"KILLED", + "createdTime":"Thu, 19 May 2016 13:02:00 GMT", + "conf":null, + "lastModTime":"Tue, 19 Jul 2016 17:18:15 GMT", + "run":0, + "endTime":"Tue, 19 Jul 2016 17:18:15 GMT", + "externalId":"hiveMirror11463038709928\/DEFAULT\/2016-05-19T13:02Z", + "appName":"FALCON_PROCESS_DEFAULT_hiveMirror11463038709928", + "id":"0001240-160321130408525-oozie-oozi-W", + "startTime":"Thu, 19 May 2016 13:02:00 GMT", + "parentId":"0000735-160321130408525-oozie-oozi-C@2041", + "toString":"Workflow id[0001240-160321130408525-oozie-oozi-W] status[KILLED]", + "group":null, + "consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001240-160321130408525-oozie-oozi-W", + "user":"root", + "actions":[ + + ] + } + ], + "len":12, + "offset":1 +} + + +var jobDetail = {"appPath":"hdfs:\/\/sandbox.hortonworks.com:8020\/tmp\/extensions\/hive-mirroring\/resources\/runtime\/hive-mirroring-workflow.xml","acl":null,"status":"FAILED","createdTime":"Mon, 18 Jul 2016 17:18:19 GMT","conf":"<configuration>\r\n <property>\r\n <name>falconInputNames<\/name>\r\n <value>NONE<\/value>\r\n <\/property>\r\n <property>\r\n <name>mapreduce.job.user.name<\/name>\r\n <value>root<\/value>\r\n <\/property>\r\n <property>\r\n <name>distcpMapBandwidth<\/name>\r\n <value>100<\/value>\r\n <\/property>\r\n <property>\r\n <name>falconInPaths<\/name>\r\n <value>NONE<\/value>\r\n <\/property>\r\n <property>\r\n <name>feedNames<\/name>\r\n <value>NONE<\/value>\r\n <\/property>\r\n <property>\r\n <name>falcon.libpath<\/name>\r\n <value>\/apps\/falcon\/primaryCluster\/working\/lib<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.wf.application.lib<\/name>\r\n <value>hdfs:\/\/sandbox.hortonworks.com:8020 \/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-client-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-common-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-distcp-replication-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-extensions-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/ hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-feed-lifecycle-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-hadoop-dependencies-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-hive-replication-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-messaging-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5 360b176_1463394572377\/DEFAULT\/lib\/falcon-metrics-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-oozie-adaptor-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-prism-0.9.2.5.0.0-357-classes.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-rerun-0.9.2.5.0.0-357.jar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-retention-0.9.2.5.0.0-357.j ar,hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib\/falcon-scheduler-0.9.2.5.0.0-357.jar<\/value>\r\n <\/property>\r\n <property>\r\n <name>sourceTables<\/name>\r\n <value>*<\/value>\r\n <\/property>\r\n <property>\r\n <name>entityType<\/name>\r\n <value>PROCESS<\/value>\r\n <\/property>\r\n <property>\r\n <name>sourceDatabases<\/name>\r\n <value>xademo,default<\/value>\r\n <\/property>\r\n <property>\r\n <name>feedInstancePaths<\/name>\r\n <value>NONE<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.bundle.application.path<\/name>\r\n <value>hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377<\/value>\r\n <\/property>\r\n <property>\r\n <name>logDir<\/name>\r\n <value>hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/logs<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.use.system.libpath<\/name>\r\n <value>true<\/value>\r\n <\/property>\r\n <property>\r\n <name>userJMSNotificationEnabled<\/name>\r\n <value>true<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.wf.external.id<\/name>\r\n <value>0001250-160321130408525-oozie-oozi-W@user-action@0<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.wf.workflow.notification.url<\/name>\r\n <value>http:\/\/sandbox.hortonworks.com:11000\/oozie\/callback?id=0001250-160321130408525-oozie-oozi-W@user-action&status=$status<\/value>\r\n <\/property>\r\n <property>\r\n <name>datasource<\/name>\r\n <value>NA<\/value>\r\n <\/property>\r\n <property>\r\n <name>brokerUrl<\/name>\r\n <value>tcp:\/\/localhost:61616<\/value>\r\n <\/property>\r\n <proper ty>\r\n <name>sourceCluster<\/name>\r\n <value>testCluster1<\/value>\r\n <\/property>\r\n <property>\r\n <name>distcpMaxMaps<\/name>\r\n <value>1<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.wf.subworkflow.classpath.inheritance<\/name>\r\n <value>true<\/value>\r\n <\/property>\r\n <property>\r\n <name>targetNN<\/name>\r\n <value>hdfs:\/\/sandbox.hortonworks.com:8020<\/value>\r\n <\/property>\r\n <property>\r\n <name>brokerTTL<\/name>\r\n <value>4320<\/value>\r\n <\/property>\r\n <property>\r\n <name>userWorkflowName<\/name>\r\n <value>hive-mirroring-workflow<\/value>\r\n <\/property>\r\n <property>\r\n <name>clusterForJobRun<\/name>\r\n <value>testCluster1<\/value>\r\n <\/property>\r\n <property>\r\n <name>srcClusterName<\/name>\r\n <value>NA<\/value>\r\n <\/property>\r\n <property>\r\n <name>userBrokerUrl<\/name>\r\n <value>tcp:\/\/sandbox.hortonworks.com:61616?daemon=true<\/value>\r\n <\/property>\r \n <property>\r\n <name>replicationMaxMaps<\/name>\r\n <value>5<\/value>\r\n <\/property>\r\n <property>\r\n <name>user.name<\/name>\r\n <value>root<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.libpath<\/name>\r\n <value>\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/lib<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.bundle.id<\/name>\r\n <value>0000734-160321130408525-oozie-oozi-B<\/value>\r\n <\/property>\r\n <property>\r\n <name>jobPriority<\/name>\r\n <value>NORMAL<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.action.yarn.tag<\/name>\r\n <value>0000735-160321130408525-oozie-oozi-C@2077@user-action<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.action.subworkflow.depth<\/name>\r\n <value>1<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.wf.application.path<\/name>\r\ n <value>hdfs:\/\/sandbox.hortonworks.com:8020\/tmp\/extensions\/hive-mirroring\/resources\/runtime\/hive-mirroring-workflow.xml<\/value>\r\n <\/property>\r\n <property>\r\n <name>targetMetastoreUri<\/name>\r\n <value>thrift:\/\/sandbox.hortonworks.com:9083<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.coord.application.path<\/name>\r\n <value>hdfs:\/\/sandbox.hortonworks.com:8020\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/coordinator.xml<\/value>\r\n <\/property>\r\n <property>\r\n <name>sourceMetastoreUri<\/name>\r\n <value>thrift:\/\/sandbox.hortonworks.com:9083<\/value>\r\n <\/property>\r\n <property>\r\n <name>shouldRecord<\/name>\r\n <value>false<\/value>\r\n <\/property>\r\n <property>\r\n <name>timeStamp<\/name>\r\n <value>2016-05-19-16-01<\/value>\r\n <\/property>\r\n <property>\r\n <name>clusterForJobRunWrite EP<\/name>\r\n <value>hdfs:\/\/sandbox.hortonworks.com:8020<\/value>\r\n <\/property>\r\n <property>\r\n <name>ENTITY_PATH<\/name>\r\n <value>\/apps\/falcon\/primaryCluster\/staging\/falcon\/workflows\/process\/hiveMirror11463038709928\/f8319c1e7fce6107b9facd0f5360b176_1463394572377\/DEFAULT\/coordinator.xml<\/value>\r\n <\/property>\r\n <property>\r\n <name>nominalTime<\/name>\r\n <value>2016-05-19-16-02<\/value>\r\n <\/property>\r\n <property>\r\n <name>systemJMSNotificationEnabled<\/name>\r\n <value>true<\/value>\r\n <\/property>\r\n <property>\r\n <name>userWorkflowEngine<\/name>\r\n <value>oozie<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.wf.parent.id<\/name>\r\n <value>0001250-160321130408525-oozie-oozi-W<\/value>\r\n <\/property>\r\n <property>\r\n <name>sourceNN<\/name>\r\n <value>hdfs:\/\/sandbox.hortonworks.com:8020<\/value>\r\n <\/property>\r\n <property>\r\n <name>queueName<\/name>\r\n <value>default <\/value>\r\n <\/property>\r\n <property>\r\n <name>falconDataOperation<\/name>\r\n <value>GENERATE<\/value>\r\n <\/property>\r\n <property>\r\n <name>workflowEngineUrl<\/name>\r\n <value>http:\/\/sandbox.hortonworks.com:11000\/oozie\/<\/value>\r\n <\/property>\r\n <property>\r\n <name>brokerImplClass<\/name>\r\n <value>org.apache.activemq.ActiveMQConnectionFactory<\/value>\r\n <\/property>\r\n <property>\r\n <name>userBrokerImplClass<\/name>\r\n <value>org.apache.activemq.ActiveMQConnectionFactory<\/value>\r\n <\/property>\r\n <property>\r\n <name>maxEvents<\/name>\r\n <value>-1<\/value>\r\n <\/property>\r\n <property>\r\n <name>ENTITY_NAME<\/name>\r\n <value>FALCON_PROCESS_DEFAULT_hiveMirror11463038709928<\/value>\r\n <\/property>\r\n <property>\r\n <name>availabilityFlag<\/name>\r\n <value>NA<\/value>\r\n <\/property>\r\n <property>\r\n <name>tdeEncryptionEnabled<\/name>\r\n <value>false<\/value>\r\n <\/property>\r\ n <property>\r\n <name>targetCluster<\/name>\r\n <value>testCluster1<\/value>\r\n <\/property>\r\n <property>\r\n <name>entityName<\/name>\r\n <value>hiveMirror11463038709928<\/value>\r\n <\/property>\r\n <property>\r\n <name>falconInputFeeds<\/name>\r\n <value>NONE<\/value>\r\n <\/property>\r\n <property>\r\n <name>userWorkflowVersion<\/name>\r\n <value>1.0<\/value>\r\n <\/property>\r\n <property>\r\n <name>cluster<\/name>\r\n <value>testCluster1<\/value>\r\n <\/property>\r\n <property>\r\n <name>colo.name<\/name>\r\n <value>testColo<\/value>\r\n <\/property>\r\n <property>\r\n <name>nameNode<\/name>\r\n <value>hdfs:\/\/sandbox.hortonworks.com:8020<\/value>\r\n <\/property>\r\n <property>\r\n <name>jobTracker<\/name>\r\n <value>sandbox.hortonworks.com:8050<\/value>\r\n <\/property>\r\n<\/configuration>","lastModTime":"Mon, 18 Jul 2016 17:18:27 GMT","run":0,"endTime":"Mon, 18 Jul 2016 17:18:27 GMT","externalId":"0001250 -160321130408525-oozie-oozi-W@user-action@0","appName":"falcon-dr-hive-workflow","id":"0001251-160321130408525-oozie-oozi-W","startTime":"Mon, 18 Jul 2016 17:18:19 GMT","parentId":"0001250-160321130408525-oozie-oozi-W","toString":"Workflow id[0001251-160321130408525-oozie-oozi-W] status[FAILED]","group":null,"consoleUrl":"http:\/\/sandbox.hortonworks.com:11000\/oozie?job=0001251-160321130408525-oozie-oozi-W","user":"root","actions":[{"errorMessage":null,"status":"OK","stats":null,"data":null,"transition":"last-event","externalStatus":"OK","cred":"null","conf":"","type":":START:","endTime":"Mon, 18 Jul 2016 17:18:21 GMT","externalId":"-","id":"0001251-160321130408525-oozie-oozi-W@:start:","startTime":"Mon, 18 Jul 2016 17:18:20 GMT","userRetryCount":0,"externalChildIDs":null,"name":":start:","errorCode":null,"trackerUri":"-","retries":0,"userRetryInterval":10,"toString":"Action name[:start:] status[OK]","consoleUrl":"-","userRetryMax":0},{"errorMessage":"variable [sourceHiveServer2Uri ] cannot be resolved","status":"FAILED","stats":null,"data":null,"transition":null,"externalStatus":null,"cred":"null","conf":"<java xmlns=\"uri:oozie:workflow:0.3\">\r\n <job-tracker>${jobTracker}<\/job-tracker>\r\n <name-node>${nameNode}<\/name-node>\r\n <configuration>\r\n <property>\r\n <!-- hadoop 2 parameter -->\r\n <name>oozie.launcher.mapreduce.job.user.classpath.first<\/name>\r\n <value>true<\/value>\r\n <\/property>\r\n <property>\r\n <name>mapred.job.queue.name<\/name>\r\n <value>${queueName}<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.launcher.mapred.job.priority<\/name>\r\n <value>${jobPriority}<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.use.system.libpath<\/name>\r\n <value>true<\/value>\r\n <\/property>\r\n <property>\r\n <name>oozie.action.sharelib.for.java<\/name>\r\n <value>distcp,hive,hive2,hcatalog<\/value>\r\n <\/property>\r\n <\/configuration>\r\n <main-class>org.apache.falcon.hive.HiveDRTool<\/main-class>\r\n <arg>-Dmapred.job.queue.name=${queueName}<\/arg>\r\n <arg>-Dmapred.job.priority=${jobPriority}<\/arg>\r\n <arg>-falconLibPath<\/arg>\r\n <arg>${wf:conf(\"falcon.libpath\")}<\/arg>\r\n <arg>-sourceCluster<\/arg>\r\n <arg>${sourceCluster}<\/arg>\r\n <arg>-sourceMetastoreUri<\/arg>\r\n <arg>${sourceMetastoreUri}<\/arg>\r\n <arg>-sourceHiveServer2Uri<\/arg>\r\n <arg>${sourceHiveServer2Uri}<\/arg>\r\n <arg>-sourceDatabase<\/arg>\r\n <arg>${sourceDatabase}<\/arg>\r\n <arg>-sourceTable<\/arg>\r\n <arg>${sourceTable}<\/arg>\r\n <arg>-sourceStagingPath<\/arg>\r\n <arg>${sourceStagingPath}<\/arg>\r\n <arg>-sourceNN<\/arg>\r\n <arg>${sourceNN}<\/arg>\r\n <arg>-targetCluster<\/arg>\r\n <arg>${targetCluster}<\/arg>\r\n <arg>-targetMetastoreUri<\/arg>\r\n <arg>${targetMetastoreUri}<\/arg>\r\n <arg>-targetHiveServer2Uri<\/arg>\r\n <arg>${targetHiveServer2Uri}<\/arg>\r\n <arg>-targetStagingPath<\/arg>\r\n <a rg>${targetStagingPath}<\/arg>\r\n <arg>-targetNN<\/arg>\r\n <arg>${targetNN}<\/arg>\r\n <arg>-maxEvents<\/arg>\r\n <arg>${maxEvents}<\/arg>\r\n <arg>-clusterForJobRun<\/arg>\r\n <arg>${clusterForJobRun}<\/arg>\r\n <arg>-clusterForJobRunWriteEP<\/arg>\r\n <arg>${clusterForJobRunWriteEP}<\/arg>\r\n <arg>-tdeEncryptionEnabled<\/arg>\r\n <arg>${tdeEncryptionEnabled}<\/arg>\r\n <arg>-jobName<\/arg>\r\n <arg>${jobName}-${nominalTime}<\/arg>\r\n <arg>-executionStage<\/arg>\r\n <arg>lastevents<\/arg>\r\n<\/java>","type":"java","endTime":null,"externalId":null,"id":"0001251-160321130408525-oozie-oozi-W@last-event","startTime":null,"userRetryCount":0,"externalChildIDs":null,"name":"last-event","errorCode":"EL_ERROR","trackerUri":null,"retries":0,"userRetryInterval":10,"toString":"Action name[last-event] status[FAILED]","consoleUrl":null,"userRetryMax":0}]} + + var server = { + //"properties":[{key: "authentication", value: "kerberos"}] + "properties":[{key: "authentication", value: "simple"}] + }; + + exports.getJobs = getJobs; + exports.getJobById = getJobById; + exports.server = server; + +})(); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/package.json ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/package.json b/contrib/views/wfmanager/src/main/resources/ui/package.json index d04d57c..ab9426a 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/package.json +++ b/contrib/views/wfmanager/src/main/resources/ui/package.json @@ -29,28 +29,30 @@ "ember-cli-htmlbars": "^1.0.1", "ember-cli-htmlbars-inline-precompile": "^0.3.1", "ember-cli-inject-live-reload": "^1.3.1", + "ember-cli-less": "^1.5.3", + "ember-cli-moment-shim": "2.0.0", "ember-cli-qunit": "^1.2.1", "ember-cli-release": "0.2.8", "ember-cli-sri": "^2.0.0", "ember-cli-uglify": "^1.2.0", + "ember-cp-validations": "2.9.5", "ember-data": "2.7.0", "ember-disable-proxy-controllers": "^1.0.1", "ember-export-application-global": "^1.0.4", "ember-load-initializers": "^0.5.0", + "ember-moment": "6.1.0", "ember-resolver": "^2.0.3", "ember-spin-spinner": "0.2.4", "ember-truth-helpers": "1.2.0", - "loader.js": "^4.0.0", - "ember-uploader": "1.0.0", - "ember-validations": "~ 2.0.0-alpha.4" + "ember-uploader": "1.0.0", + "ember-uuid": "1.0.0", + "ember-validations": "~ 2.0.0-alpha.4", + "loader.js": "^4.0.0" }, "ember-addon": { "paths": [ - "lib/favicon" + "externaladdons/hdfs-directory-viewer" ], - "name": "files", - "paths": [ - "externaladdons/hdfs-directory-viewer" - ] + "name": "files" } } http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/assets/favicon.ico ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/assets/favicon.ico b/contrib/views/wfmanager/src/main/resources/ui/public/assets/favicon.ico new file mode 100644 index 0000000..5d95710 Binary files /dev/null and b/contrib/views/wfmanager/src/main/resources/ui/public/assets/favicon.ico differ http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/assets/join.png ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/assets/join.png b/contrib/views/wfmanager/src/main/resources/ui/public/assets/join.png new file mode 100644 index 0000000..3fafaaf Binary files /dev/null and b/contrib/views/wfmanager/src/main/resources/ui/public/assets/join.png differ http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/assets/logo.png ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/assets/logo.png b/contrib/views/wfmanager/src/main/resources/ui/public/assets/logo.png new file mode 100644 index 0000000..e3b27c4 Binary files /dev/null and b/contrib/views/wfmanager/src/main/resources/ui/public/assets/logo.png differ http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/assets/play.png ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/assets/play.png b/contrib/views/wfmanager/src/main/resources/ui/public/assets/play.png new file mode 100644 index 0000000..d6fa7ba Binary files /dev/null and b/contrib/views/wfmanager/src/main/resources/ui/public/assets/play.png differ http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/assets/sitemap.png ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/assets/sitemap.png b/contrib/views/wfmanager/src/main/resources/ui/public/assets/sitemap.png new file mode 100644 index 0000000..d0316a4 Binary files /dev/null and b/contrib/views/wfmanager/src/main/resources/ui/public/assets/sitemap.png differ http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/assets/stop.png ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/assets/stop.png b/contrib/views/wfmanager/src/main/resources/ui/public/assets/stop.png new file mode 100644 index 0000000..a9e6336 Binary files /dev/null and b/contrib/views/wfmanager/src/main/resources/ui/public/assets/stop.png differ http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/loader.gif ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/loader.gif b/contrib/views/wfmanager/src/main/resources/ui/public/loader.gif new file mode 100644 index 0000000..71a4cc7 Binary files /dev/null and b/contrib/views/wfmanager/src/main/resources/ui/public/loader.gif differ http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/bundle.xml ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/bundle.xml b/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/bundle.xml new file mode 100644 index 0000000..c435682 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/bundle.xml @@ -0,0 +1,32 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<bundle-app name='bundle-app' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='uri:oozie:bundle:0.1'> + <coordinator name='coord-1'> + <app-path>${nameNode}/user/${userName}/${examplesRoot}/apps/aggregator/coordinator.xml</app-path> + <configuration> + <property> + <name>start</name> + <value>${start}</value> + </property> + <property> + <name>end</name> + <value>${end}</value> + </property> + </configuration> + </coordinator> +</bundle-app> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/coordinator.xml ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/coordinator.xml b/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/coordinator.xml new file mode 100644 index 0000000..7bb2629 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/coordinator.xml @@ -0,0 +1,113 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<coordinator-app name="coord-input-logic" frequency="${coord:hours(1)}" start="${start}" end="${end}" timezone="UTC" + xmlns="uri:oozie:coordinator:0.5"> + <controls> + <concurrency>1</concurrency> + </controls> + <parameters> + <configuration> + <property> + <name>ds</name> + <value>ewr</value> + </property> + </configuration> + </parameters> + <datasets> + <dataset name="data-1" frequency="${coord:minutes(20)}" initial-instance="2010-01-01T00:00Z" timezone="UTC"> + <uri-template>${nameNode}/user/${coord:user()}/${examplesRoot}/input-data/rawLogs/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}</uri-template> + </dataset> + <dataset name="data-2" frequency="${coord:minutes(20)}" initial-instance="2010-01-01T00:00Z" timezone="UTC"> + <uri-template>${nameNode}/user/${coord:user()}/${examplesRoot}/input-data/rawLogs-2/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}</uri-template> + </dataset> + <dataset name="data-3" frequency="${coord:minutes(20)}" initial-instance="2010-01-01T00:00Z" timezone="UTC"> + <uri-template>${nameNode}/user/${coord:user()}/${examplesRoot}/input-data/rawLogs-3/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}</uri-template> + </dataset> + <dataset name="data-4" frequency="${coord:minutes(20)}" initial-instance="2010-01-01T00:00Z" timezone="UTC"> + <uri-template>${nameNode}/user/${coord:user()}/${examplesRoot}/input-data/rawLogs-4/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}</uri-template> + </dataset> + <dataset name="output" frequency="${coord:hours(1)}" initial-instance="2010-01-01T01:00Z" timezone="UTC"> + <uri-template>${nameNode}/user/${coord:user()}/${examplesRoot}/output-data/inputLogic/${YEAR}/${MONTH}/${DAY}/${HOUR}</uri-template> + </dataset> + <dataset name="output-1" frequency="${coord:hours(1)}" initial-instance="2010-01-01T01:00Z" timezone="UTC"> + <uri-template>${nameNode}/user/${coord:user()}/${examplesRoot}/output-data/inputLogic/${YEAR}/${MONTH}/${DAY}/${HOUR}</uri-template> + </dataset> + </datasets> + <input-events> + <data-in name="input-1" dataset="data-1"> + <start-instance>${coord:current(-2)}</start-instance> + <end-instance>${coord:current(0)}</end-instance> + </data-in> + <data-in name="input-2" dataset="data-2"> + <start-instance>${coord:current(-2)}</start-instance> + <end-instance>${coord:current(0)}</end-instance> + </data-in> + <data-in name="input-3" dataset="data-4"> + <instance>2016-08-01T00:00Z</instance> + <instance>2016-08-02T00:00Z</instance> + <instance>2016-08-03T00:00Z</instance> + </data-in> + </input-events> + <!--input-events> + <or name="c1"> + <data-in name="d1" dataset="data-1"></data-in> + <data-in name="d4" dataset="data-4"></data-in> + <and name="nc1"> + <data-in name="d2" dataset="data-2"></data-in> + <data-in name="d3" dataset="data-3"></data-in> + </and> + </or> + </input-events--> + <input-logic> + <or name="input"> + <data-in dataset="input-1"/> + <data-in dataset="input-2"/> + </or> + </input-logic> + <output-events> + <data-out name="output" dataset="output"> + <instance>${coord:current(0)}</instance> + </data-out> + <data-out name="output-1" dataset="output-1"> + <instance>${coord:current(0)}</instance> + </data-out> + </output-events> + <action> + <workflow> + <app-path>${nameNode}/user/${coord:user()}/${examplesRoot}/apps/coord-input-logic</app-path> + <configuration> + <property> + <name>nameNode</name> + <value>${nameNode}</value> + </property> + <property> + <name>queueName</name> + <value>${queueName}</value> + </property> + <property> + <name>outputData</name> + <value>${coord:dataOut('output')}</value> + </property> + <property> + <name>inputData</name> + <value>${coord:dataIn('input')}</value> + </property> + </configuration> + </workflow> + </action> +</coordinator-app> http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/.gitkeep ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/.gitkeep b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/.gitkeep new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-config-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-config-test.js new file mode 100644 index 0000000..a3fe9f2 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-config-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('bundle-config', 'Integration | Component | bundle config', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{bundle-config}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#bundle-config}} + template block text + {{/bundle-config}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-coord-config-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-coord-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-coord-config-test.js new file mode 100644 index 0000000..910d0e8 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-coord-config-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('bundle-coord-config', 'Integration | Component | bundle coord config', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{bundle-coord-config}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#bundle-coord-config}} + template block text + {{/bundle-coord-config}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/conditional-data-input-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/conditional-data-input-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/conditional-data-input-test.js new file mode 100644 index 0000000..baacde2 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/conditional-data-input-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('conditional-data-input', 'Integration | Component | conditional data input', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{conditional-data-input}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#conditional-data-input}} + template block text + {{/conditional-data-input}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/confirmation-dialog-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/confirmation-dialog-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/confirmation-dialog-test.js new file mode 100644 index 0000000..8a366aa --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/confirmation-dialog-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('confirmation-dialog', 'Integration | Component | confirmation dialog', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{confirmation-dialog}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#confirmation-dialog}} + template block text + {{/confirmation-dialog}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/coord-config-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/coord-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/coord-config-test.js new file mode 100644 index 0000000..3eaee2b --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/coord-config-test.js @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('coord-config', 'Integration | Component | coord config', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{coord-config}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#coord-config}} + template block text + {{/coord-config}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/data-input-output-config-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/data-input-output-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/data-input-output-config-test.js new file mode 100644 index 0000000..86a11f2 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/data-input-output-config-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('data-input-output-config', 'Integration | Component | data input output config', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{data-input-output-config}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#data-input-output-config}} + template block text + {{/data-input-output-config}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/data-input-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/data-input-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/data-input-test.js new file mode 100644 index 0000000..64c63eb --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/data-input-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('data-input', 'Integration | Component | data input', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{data-input}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#data-input}} + template block text + {{/data-input}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/dataset-config-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/dataset-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/dataset-config-test.js new file mode 100644 index 0000000..622fae5 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/dataset-config-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('dataset-config', 'Integration | Component | dataset config', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{dataset-config}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#dataset-config}} + template block text + {{/dataset-config}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/date-with-expr-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/date-with-expr-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/date-with-expr-test.js new file mode 100644 index 0000000..31da9c2 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/date-with-expr-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('date-with-expr', 'Integration | Component | date with expr', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{date-with-expr}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#date-with-expr}} + template block text + {{/date-with-expr}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/designer-workspace-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/designer-workspace-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/designer-workspace-test.js new file mode 100644 index 0000000..a133fa1 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/designer-workspace-test.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('designer-workspace', 'Integration | Component | designer workspace', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{designer-workspace}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#designer-workspace}} + template block text + {{/designer-workspace}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/distcp-action-info-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/distcp-action-info-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/distcp-action-info-test.js new file mode 100644 index 0000000..5165c24 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/distcp-action-info-test.js @@ -0,0 +1,41 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('distcp-action-info', 'Integration | Component | distcp action info', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{distcp-action-info}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#distcp-action-info}} + template block text + {{/distcp-action-info}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/d1b0bb9e/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/email-action-info-test.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/email-action-info-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/email-action-info-test.js new file mode 100644 index 0000000..9b76e58 --- /dev/null +++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/email-action-info-test.js @@ -0,0 +1,41 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('email-action-info', 'Integration | Component | email action info', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{email-action-info}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#email-action-info}} + template block text + {{/email-action-info}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +});
