Repository: kylin
Updated Branches:
  refs/heads/v1.6.0-rc2 dcb0bc333 -> 50933a6c8 (forced update)


KYLIN-2178 fix the UT with jdk1.8


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/50933a6c
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/50933a6c
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/50933a6c

Branch: refs/heads/v1.6.0-rc2
Commit: 50933a6c80e447033c304746eecd88e6516142fc
Parents: 79909ba
Author: shaofengshi <shaofeng...@apache.org>
Authored: Sat Nov 19 17:20:01 2016 +0800
Committer: shaofengshi <shaofeng...@apache.org>
Committed: Sun Nov 20 09:37:57 2016 +0800

----------------------------------------------------------------------
 .../org/apache/kylin/cube/model/CubeDesc.java   |  9 +++----
 .../validation/rule/AggregationGroupRule.java   | 11 +++++----
 .../kylin/cube/AggregationGroupRuleTest.java    | 25 ++++++++++----------
 .../org/apache/kylin/cube/CubeDescTest.java     |  1 +
 .../ut_cube_desc_combination_int_overflow.json  |  4 ++--
 5 files changed, 28 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/50933a6c/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java 
b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
index 4a5747b..77e6179 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
@@ -616,15 +616,16 @@ public class CubeDesc extends RootPersistentEntity 
implements IEngineAware {
             }
 
             if (CollectionUtils.containsAny(mandatoryDims, hierarchyDims)) {
-                logger.warn("Aggregation group " + index + " mandatory 
dimensions overlap with hierarchy dimensions: " + 
CollectionUtils.intersection(mandatoryDims, hierarchyDims));
+
+                logger.warn("Aggregation group " + index + " mandatory 
dimensions overlap with hierarchy dimensions: " + 
Sets.intersection(mandatoryDims, hierarchyDims));
             }
             if (CollectionUtils.containsAny(mandatoryDims, jointDims)) {
-                logger.warn("Aggregation group " + index + " mandatory 
dimensions overlap with joint dimensions: " + 
CollectionUtils.intersection(mandatoryDims, jointDims));
+                logger.warn("Aggregation group " + index + " mandatory 
dimensions overlap with joint dimensions: " + Sets.intersection(mandatoryDims, 
jointDims));
             }
 
             if (CollectionUtils.containsAny(hierarchyDims, jointDims)) {
                 logger.error("Aggregation group " + index + " hierarchy 
dimensions overlap with joint dimensions");
-                throw new IllegalStateException("Aggregation group " + index + 
" hierarchy dimensions overlap with joint dimensions: " + 
CollectionUtils.intersection(hierarchyDims, jointDims));
+                throw new IllegalStateException("Aggregation group " + index + 
" hierarchy dimensions overlap with joint dimensions: " + 
Sets.intersection(hierarchyDims, jointDims));
             }
 
             if (hasSingle(hierarchyDimsList)) {
@@ -689,7 +690,7 @@ public class CubeDesc extends RootPersistentEntity 
implements IEngineAware {
         Set<String> overlap = new TreeSet<>();
         for (Set<String> dims : dimsList) {
             if (CollectionUtils.containsAny(existing, dims)) {
-                overlap.addAll(CollectionUtils.intersection(existing, dims));
+                overlap.addAll(Sets.intersection(existing, dims));
             }
             existing.addAll(dims);
         }

http://git-wip-us.apache.org/repos/asf/kylin/blob/50933a6c/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
----------------------------------------------------------------------
diff --git 
a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
 
b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
index 341efe7..55cb844 100644
--- 
a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
+++ 
b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
@@ -18,12 +18,12 @@
 
 package org.apache.kylin.cube.model.validation.rule;
 
-import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
 
+import com.google.common.collect.Sets;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.kylin.cube.model.AggregationGroup;
 import org.apache.kylin.cube.model.CubeDesc;
@@ -148,8 +148,11 @@ public class AggregationGroupRule implements 
IValidatorRule<CubeDesc> {
                     int overlapHierarchies = 0;
                     if (agg.getSelectRule().hierarchy_dims != null) {
                         for (String[] oneHierarchy : 
agg.getSelectRule().hierarchy_dims) {
-                            Set<String> share = new 
TreeSet<>(String.CASE_INSENSITIVE_ORDER);
-                            
share.addAll(CollectionUtils.intersection(oneJoint, 
Arrays.asList(oneHierarchy)));
+                            Set<String> oneHierarchySet = new 
TreeSet<>(String.CASE_INSENSITIVE_ORDER);
+                            for (String s : oneHierarchy) {
+                                oneHierarchySet.add(s);
+                            }
+                            Set<String> share = Sets.intersection(oneJoint, 
oneHierarchySet);
 
                             if (!share.isEmpty()) {
                                 overlapHierarchies++;
@@ -177,7 +180,7 @@ public class AggregationGroupRule implements 
IValidatorRule<CubeDesc> {
                             oneJoint.add(s);
                         }
                         if (CollectionUtils.containsAny(existing, oneJoint)) {
-                            
overlap.addAll(CollectionUtils.intersection(existing, oneJoint));
+                            overlap.addAll(Sets.intersection(existing, 
oneJoint));
                         }
                         existing.addAll(oneJoint);
                     }

http://git-wip-us.apache.org/repos/asf/kylin/blob/50933a6c/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java
----------------------------------------------------------------------
diff --git 
a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java 
b/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java
index 563e139..4f42693 100644
--- 
a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java
+++ 
b/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.Arrays;
 
@@ -112,20 +112,21 @@ public class AggregationGroupRuleTest {
         IValidatorRule<CubeDesc> rule = getAggregationGroupRule();
         rule.validate(desc, vContext);
         vContext.print(System.out);
-        assertEquals(1, vContext.getResults().length);
         assertEquals("Aggregation group 0 joint dimensions has overlap with 
more than 1 dimensions in same hierarchy: [CATEG_LVL2_NAME, META_CATEG_NAME]", 
(vContext.getResults()[0].getMessage()));
     }
 
-    @Test
-    public void testCombinationIntOverflow() throws IOException {
-        ValidateContext vContext = new ValidateContext();
-        CubeDesc desc = JsonUtil.readValue(new 
FileInputStream(LocalFileMetadataTestCase.LOCALMETA_TEST_DATA + 
"/cube_desc/ut_cube_desc_combination_int_overflow.json"), CubeDesc.class);
-
-        IValidatorRule<CubeDesc> rule = getAggregationGroupRule();
-        rule.validate(desc, vContext);
-        assertEquals(1, vContext.getResults().length);
-    }
-
+    @Test
+    public void testCombinationIntOverflow() throws IOException {
+        ValidateContext vContext = new ValidateContext();
+        CubeDesc desc = JsonUtil.readValue(new 
FileInputStream(LocalFileMetadataTestCase.LOCALMETA_TEST_DATA + 
"/cube_desc/ut_cube_desc_combination_int_overflow.json"), CubeDesc.class);
+
+        desc.getAggregationGroups().get(0).getSelectRule().joint_dims = new 
String[][] { };
+
+        IValidatorRule<CubeDesc> rule = getAggregationGroupRule();
+        rule.validate(desc, vContext);
+        assertEquals(1, vContext.getResults().length);
+    }
+
     public AggregationGroupRule getAggregationGroupRule() {
         AggregationGroupRule rule = new AggregationGroupRule() {
             @Override

http://git-wip-us.apache.org/repos/asf/kylin/blob/50933a6c/core-cube/src/test/java/org/apache/kylin/cube/CubeDescTest.java
----------------------------------------------------------------------
diff --git a/core-cube/src/test/java/org/apache/kylin/cube/CubeDescTest.java 
b/core-cube/src/test/java/org/apache/kylin/cube/CubeDescTest.java
index ca7ae50..01e5090 100644
--- a/core-cube/src/test/java/org/apache/kylin/cube/CubeDescTest.java
+++ b/core-cube/src/test/java/org/apache/kylin/cube/CubeDescTest.java
@@ -196,6 +196,7 @@ public class CubeDescTest extends LocalFileMetadataTestCase 
{
     public void testCombinationIntOverflow() throws  Exception {
         thrown.expect(IllegalStateException.class);
         CubeDesc cubeDesc = 
CubeDescManager.getInstance(getTestConfig()).getCubeDesc("ut_cube_desc_combination_int_overflow");
+        cubeDesc.getAggregationGroups().get(0).getSelectRule().joint_dims = 
new String[][] { };
         cubeDesc.init(getTestConfig());
     }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/50933a6c/examples/test_case_data/localmeta/cube_desc/ut_cube_desc_combination_int_overflow.json
----------------------------------------------------------------------
diff --git 
a/examples/test_case_data/localmeta/cube_desc/ut_cube_desc_combination_int_overflow.json
 
b/examples/test_case_data/localmeta/cube_desc/ut_cube_desc_combination_int_overflow.json
index ec6f8f4..e8e2a52 100644
--- 
a/examples/test_case_data/localmeta/cube_desc/ut_cube_desc_combination_int_overflow.json
+++ 
b/examples/test_case_data/localmeta/cube_desc/ut_cube_desc_combination_int_overflow.json
@@ -376,8 +376,8 @@
     "includes" : [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", 
"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", 
"AB", "AC", "AD", "AE", "AF", "AG", "AH"],
     "select_rule" : {
       "hierarchy_dims" : [ ],
-      "mandatory_dims" : [ ],
-      "joint_dims" : [ ]
+      "mandatory_dims" : [ "A" ],
+      "joint_dims" : [ ["L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", 
"W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH"] ]
     }
   }],
   "signature" : "4NqJVcVIYRF5PkJ0jS+9Rg==",

Reply via email to