You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by mo...@apache.org on 2017/12/07 19:16:28 UTC
zeppelin git commit: [ZEPPELIN-3075]Fix unqiue algo for the web side
in pivot.js file.
Repository: zeppelin
Updated Branches:
refs/heads/master 38ba2d475 -> a82e3ec3a
[ZEPPELIN-3075]Fix unqiue algo for the web side in pivot.js file.
### What is this PR for?
unique() algorithm is not correct in pivot.js file.
If the input is `[2, 3, 3, 3, 4, 5]` and the output will be `[2, 3, 3, 4, 5]`. The number `3` is still duplicated.
### What type of PR is it?
[Bug Fix]
### Todos
* [ ] - Task
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-3075 [ZEPPELIN-3075]
### How should this be tested?
This is very easy and no need test.
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: liguohui <li...@cmss.chinamobile.com>
Closes #2685 from liguohuicmss/pivot-unqiue-algo and squashes the following commits:
2063175d5 [liguohui] delete the multi empty line
ea582d95e [liguohui] delete some spaces at the end of the line
79c763a6b [liguohui] add a empty line
99cf93da9 [liguohui] Revert "Chart field is also draggable and sortable in the 'keys', 'groups' and 'values'"
fdde39f52 [liguohui] add unit test for unique algo in pivot.js
f99674724 [liguohui] Chart field is also draggable and sortable in the 'keys', 'groups' and 'values'
943e80a96 [liguohui] Fix unqiue algo for the web side in pivot.js file.
Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/a82e3ec3
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/a82e3ec3
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/a82e3ec3
Branch: refs/heads/master
Commit: a82e3ec3a335863a30959cabbc3371169e2c1ce9
Parents: 38ba2d4
Author: liguohui <li...@cmss.chinamobile.com>
Authored: Thu Nov 30 15:01:27 2017 +0800
Committer: Lee moon soo <mo...@apache.org>
Committed: Thu Dec 7 11:16:14 2017 -0800
----------------------------------------------------------------------
zeppelin-web/src/app/tabledata/pivot.js | 1 +
.../src/app/tabledata/tabledata.test.js | 45 ++++++++++++++++++++
2 files changed, 46 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a82e3ec3/zeppelin-web/src/app/tabledata/pivot.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/pivot.js b/zeppelin-web/src/app/tabledata/pivot.js
index 1c938ea..a0f61b2 100644
--- a/zeppelin-web/src/app/tabledata/pivot.js
+++ b/zeppelin-web/src/app/tabledata/pivot.js
@@ -89,6 +89,7 @@ export default class PivotTransformation extends Transformation {
for (let j = i + 1; j < list.length; j++) {
if (angular.equals(list[i], list[j])) {
list.splice(j, 1)
+ j--
}
}
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a82e3ec3/zeppelin-web/src/app/tabledata/tabledata.test.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/tabledata.test.js b/zeppelin-web/src/app/tabledata/tabledata.test.js
index 7e41de4..3de2fa3 100644
--- a/zeppelin-web/src/app/tabledata/tabledata.test.js
+++ b/zeppelin-web/src/app/tabledata/tabledata.test.js
@@ -13,6 +13,7 @@
*/
import TableData from './tabledata.js'
+import PivotTransformation from './pivot.js'
describe('TableData build', function () {
let td
@@ -39,3 +40,47 @@ describe('TableData build', function () {
expect(td.comment).toBe('hello')
})
})
+
+describe('PivotTransformation build', function() {
+ let pt
+
+ beforeEach(function () {
+ console.log(PivotTransformation)
+ pt = new PivotTransformation()
+ })
+
+ it('check the result of keys, groups and values unique', function() {
+ // set inited mock data
+ let config = {
+ common: {
+ pivot: {
+ keys: [{index: 4, name: '4'},
+ {index: 3, name: '3'},
+ {index: 4, name: '4'},
+ {index: 3, name: '3'},
+ {index: 3, name: '3'},
+ {index: 3, name: '3'},
+ {index: 3, name: '3'},
+ {index: 5, name: '5'}],
+ groups: [],
+ values: []
+ }
+ }
+ }
+ pt.tableDataColumns = [
+ {index: 1, name: '1'},
+ {index: 2, name: '2'},
+ {index: 3, name: '3'},
+ {index: 4, name: '4'},
+ {index: 5, name: '5'}]
+
+ pt.setConfig(config)
+
+ pt.removeUnknown()
+
+ expect(config.common.pivot.keys.length).toBe(3)
+ expect(config.common.pivot.keys[0].index).toBe(4)
+ expect(config.common.pivot.keys[1].index).toBe(3)
+ expect(config.common.pivot.keys[2].index).toBe(5)
+ })
+})