You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2019/09/12 11:51:07 UTC
[kylin] 02/02: KYLIN-4096 Code review
This is an automated email from the ASF dual-hosted git repository.
nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git
commit a2aca12ff3f8114be9c215ccee5e2ad74fe05f9d
Author: nichunen <ni...@apache.org>
AuthorDate: Thu Sep 12 19:47:40 2019 +0800
KYLIN-4096 Code review
---
.../org/apache/kylin/common/KylinConfigBase.java | 7 ++++---
.../model/validation/CubeMetadataValidator.java | 21 ++++++++-------------
2 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index 7a78f88..00afb58 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -661,6 +661,10 @@ public abstract class KylinConfigBase implements Serializable {
return Boolean.parseBoolean(getOptional("kylin.cube.is-automerge-enabled", TRUE));
}
+ public String[] getCubeMetadataExtraValidators() {
+ return getOptionalStringArray("kylin.cube.metadata-extra-validators", new String[0]);
+ }
+
// ============================================================================
// Cube Planner
// ============================================================================
@@ -2248,7 +2252,4 @@ public abstract class KylinConfigBase implements Serializable {
return Integer.parseInt(getOptional("kylin.tool.health-check.stale-job-threshold-days", "30"));
}
- public String[] getCubeMetadataExtraValidators() {
- return getOptionalStringArray("kylin.cube.metadata.extra.validators", new String[0]);
- }
}
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/CubeMetadataValidator.java b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/CubeMetadataValidator.java
index 24fd802..f38160e 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/CubeMetadataValidator.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/CubeMetadataValidator.java
@@ -18,6 +18,9 @@
package org.apache.kylin.cube.model.validation;
+import java.util.Arrays;
+import java.util.List;
+
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.cube.model.CubeDesc;
import org.apache.kylin.cube.model.validation.rule.AggregationGroupRule;
@@ -28,9 +31,6 @@ import org.apache.kylin.cube.model.validation.rule.StreamingCubeRule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Arrays;
-import java.util.List;
-
/**
* For cube metadata validator
*
@@ -40,22 +40,17 @@ import java.util.List;
public class CubeMetadataValidator {
protected static final Logger logger = LoggerFactory.getLogger(CubeMetadataValidator.class);
@SuppressWarnings("unchecked")
- private IValidatorRule<CubeDesc>[] defaultRules = new IValidatorRule[] {
- new FunctionRule(),
- new AggregationGroupRule(),
- new RowKeyAttrRule(),
- new DictionaryRule(),
- new StreamingCubeRule()
- };
+ private IValidatorRule<CubeDesc>[] defaultRules = new IValidatorRule[] { new FunctionRule(),
+ new AggregationGroupRule(), new RowKeyAttrRule(), new DictionaryRule(), new StreamingCubeRule() };
private List<IValidatorRule<CubeDesc>> rules;
public CubeMetadataValidator(KylinConfig config) {
- rules = Arrays.asList(defaultRules);
+ rules = Arrays.asList(defaultRules);
for (String ruleName : config.getCubeMetadataExtraValidators()) {
try {
- IValidatorRule<CubeDesc> rule = (IValidatorRule<CubeDesc>)
- Class.forName(ruleName).getConstructor().newInstance();
+ IValidatorRule<CubeDesc> rule = (IValidatorRule<CubeDesc>) Class.forName(ruleName).getConstructor()
+ .newInstance();
rules.add(rule);
} catch (Exception e) {
logger.error("Construct cube metadata validator rule: {} failed. Ignore this rule", ruleName, e);