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 1b71a6259411ac0d69ff460f5ee3c789498873a5
Author: nichunen <n...@apache.org>
AuthorDate: Thu Sep 12 15:02:57 2019 +0800

    KYLIN-4156 Code reivew
---
 .../java/org/apache/kylin/job/JoinedFlatTable.java |  2 +-
 .../java/org/apache/kylin/job/JoinedFormatter.java | 46 +++++++++++-----------
 .../org/apache/kylin/job/JoinedFormatterTest.java  |  4 +-
 .../modelDesigner/conditions_settings.html         |  1 +
 4 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java 
b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
index 5884421..2838d41 100644
--- a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
+++ b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
@@ -226,7 +226,7 @@ public class JoinedFlatTable {
         DataModelDesc model = flatDesc.getDataModel();
         if (StringUtils.isNotEmpty(model.getFilterCondition())) {
             JoinedFormatter formatter = new JoinedFormatter(flatDesc);
-            String fmtFilterCondition = 
formatter.formatSentense(model.getFilterCondition());
+            String fmtFilterCondition = 
formatter.formatSentence(model.getFilterCondition());
             String quotedFilterCondition = quoteIdentifierInSqlExpr(flatDesc, 
fmtFilterCondition);
             whereBuilder.append(" AND 
(").append(quotedFilterCondition).append(") "); // -> filter condition contains 
special character may cause bug
         }
diff --git a/core-job/src/main/java/org/apache/kylin/job/JoinedFormatter.java 
b/core-job/src/main/java/org/apache/kylin/job/JoinedFormatter.java
index aa7408c..901ee15 100644
--- a/core-job/src/main/java/org/apache/kylin/job/JoinedFormatter.java
+++ b/core-job/src/main/java/org/apache/kylin/job/JoinedFormatter.java
@@ -18,13 +18,6 @@
 
 package org.apache.kylin.job;
 
-import org.apache.commons.lang3.StringUtils;
-import org.apache.kylin.common.util.DateFormat;
-import org.apache.kylin.metadata.model.DataModelDesc;
-import org.apache.kylin.metadata.model.IJoinedFlatTableDesc;
-import org.apache.kylin.metadata.model.PartitionDesc;
-import org.apache.kylin.metadata.model.SegmentRange;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -33,30 +26,37 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.kylin.common.util.DateFormat;
+import org.apache.kylin.metadata.model.DataModelDesc;
+import org.apache.kylin.metadata.model.IJoinedFlatTableDesc;
+import org.apache.kylin.metadata.model.PartitionDesc;
+import org.apache.kylin.metadata.model.SegmentRange;
+
 /**
  * Joined Formatter for JoinedFlatTable
  */
 
 public class JoinedFormatter {
 
-    private static String REG_SEPARATOR = "\\$\\{(?<KEY>.*?)\\}";
-    private static Pattern REG_PATTERN = Pattern.compile(REG_SEPARATOR,
+    private static final String REG_SEPARATOR = "\\$\\{(?<KEY>.*?)\\}";
+    private static final Pattern REG_PATTERN = Pattern.compile(REG_SEPARATOR,
             Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
     //
-    public static String START_DATE = "START_DATE";
-    public static String END_DATE = "END_DATE";
-    public static String ENV_KEY = "KEY";
+    private static final String START_DATE = "START_DATE";
+    private static final String END_DATE = "END_DATE";
+    private static final String ENV_KEY = "KEY";
     //
     private Map<String, Object> mapEnv = new HashMap<>();
 
-    public JoinedFormatter() {
+    JoinedFormatter() {
     }
 
-    public JoinedFormatter(IJoinedFlatTableDesc flatDesc) {
+    JoinedFormatter(IJoinedFlatTableDesc flatDesc) {
         setDateEnv(flatDesc);
     }
 
-    public void setDateEnv(IJoinedFlatTableDesc flatDesc) {
+    private void setDateEnv(IJoinedFlatTableDesc flatDesc) {
         DataModelDesc model = flatDesc.getDataModel();
         PartitionDesc partDesc = model.getPartitionDesc();
         SegmentRange segRange = flatDesc.getSegRange();
@@ -83,10 +83,10 @@ public class JoinedFormatter {
         return value == null ? "" : value;
     }
 
-    public String formatSentense(String sentense) {
-        String[] cArray = REG_PATTERN.split(sentense);
+    String formatSentence(String sentence) {
+        String[] cArray = REG_PATTERN.split(sentence);
         StringBuilder sbr = new StringBuilder();
-        List<String> keys = getKeys(sentense);
+        List<String> keys = getKeys(sentence);
         int length = Math.max(cArray.length, keys.size());
         for (int i = 0; i < length; i++) {
             if (i < cArray.length) {
@@ -99,7 +99,7 @@ public class JoinedFormatter {
         return sbr.toString();
     }
 
-    public List<String> getKeys(String condition) {
+    private List<String> getKeys(String condition) {
         List<String> keys = new ArrayList<>();
         Matcher matcher = REG_PATTERN.matcher(condition);
         while (matcher.find()) {
@@ -108,20 +108,20 @@ public class JoinedFormatter {
         return keys;
     }
 
-    public void setKeyValue(String key, Object value) {
+    private void setKeyValue(String key, Object value) {
         String fmtKey = StringUtils.trimToEmpty(key).toUpperCase(Locale.ROOT);
         mapEnv.put(fmtKey, value);
     }
 
-    public void setStartDate(String dateStr) {
+    void setStartDate(String dateStr) {
         setKeyValue(START_DATE, dateStr);
     }
 
-    public void setEndDate(String dateStr) {
+    void setEndDate(String dateStr) {
         setKeyValue(END_DATE, dateStr);
     }
 
-    public void printEnv() {
+    void printEnv() {
         System.out.println(mapEnv);
     }
 }
diff --git 
a/core-job/src/test/java/org/apache/kylin/job/JoinedFormatterTest.java 
b/core-job/src/test/java/org/apache/kylin/job/JoinedFormatterTest.java
index 6077011..a08a12b 100644
--- a/core-job/src/test/java/org/apache/kylin/job/JoinedFormatterTest.java
+++ b/core-job/src/test/java/org/apache/kylin/job/JoinedFormatterTest.java
@@ -48,7 +48,7 @@ public class JoinedFormatterTest extends 
LocalFileMetadataTestCase {
     public void testConditionFormat() {
         String expected = "date_str>='20190710' and date_str<'20190711'";
         String condition = "date_str>='${start_date}' and 
date_str<'${end_date}'";
-        String fmtCondition = formatter.formatSentense(condition);
+        String fmtCondition = formatter.formatSentence(condition);
         assertEquals(expected, fmtCondition);
     }
 
@@ -56,7 +56,7 @@ public class JoinedFormatterTest extends 
LocalFileMetadataTestCase {
     public void testSqlFormat() {
         String expected = "select * from table where date_str>=20190710 and 
date_str<20190711";
         String sql = "select * from table where date_str>=${start_date} and 
date_str<${end_date}";
-        String fmtSql = formatter.formatSentense(sql);
+        String fmtSql = formatter.formatSentence(sql);
         assertEquals(expected, fmtSql);
     }
 }
diff --git a/webapp/app/partials/modelDesigner/conditions_settings.html 
b/webapp/app/partials/modelDesigner/conditions_settings.html
index 10aee84..becb327 100644
--- a/webapp/app/partials/modelDesigner/conditions_settings.html
+++ b/webapp/app/partials/modelDesigner/conditions_settings.html
@@ -192,6 +192,7 @@
       <li>Where clause to filter data from source</li>
       <li>Do not include date column which will be used for incremental 
refresh</li>
       <li>Do not include "Where"</li>
+      <li>Use ${start_date} and ${end_date} as dynamic variables for segment's 
start time and end time which are determined after a building job triggered</li>
     </ol>
 </script>
 <script type="text/ng-template" id="separateTimeColumnTip.html">

Reply via email to