This is an automated email from the ASF dual-hosted git repository.

peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git


The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
     new a7b0a0820 [Linkis-3896][Linkis-common]Support task level custom 
run_today_h variable (#3897)
a7b0a0820 is described below

commit a7b0a082047d845bc07ed190661f28dd7c1ec38e
Author: peacewong <[email protected]>
AuthorDate: Sat Nov 26 22:04:34 2022 +0800

    [Linkis-3896][Linkis-common]Support task level custom run_today_h variable 
(#3897)
    
    * run_today_h can be set
    
    * run_today_h can be set
    
    * code format
---
 .../apache/linkis/common/utils/VariableUtils.scala | 31 ++++++++++++++++++----
 1 file changed, 26 insertions(+), 5 deletions(-)

diff --git 
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/VariableUtils.scala
 
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/VariableUtils.scala
index 7ac7f4ffd..762609dc6 100644
--- 
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/VariableUtils.scala
+++ 
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/VariableUtils.scala
@@ -41,6 +41,8 @@ object VariableUtils extends Logging {
 
   val RUN_DATE = "run_date"
 
+  val RUN_TODAY_H = "run_today_h"
+
   private val codeReg =
     
"\\$\\{\\s*[A-Za-z][A-Za-z0-9_\\.]*\\s*[\\+\\-\\*/]?\\s*[A-Za-z0-9_\\.]*\\s*\\}".r
 
@@ -57,7 +59,7 @@ object VariableUtils extends Logging {
     val nameAndType = mutable.Map[String, variable.VariableType]()
     var run_date: CustomDateType = null
     variables.asScala.foreach {
-      case (RUN_DATE, value) if nameAndType.get(RUN_DATE).isEmpty =>
+      case (RUN_DATE, value) if !nameAndType.contains(RUN_DATE) =>
         val run_date_str = value.asInstanceOf[String]
         if (StringUtils.isNotEmpty(run_date_str)) {
           run_date = new CustomDateType(run_date_str, false)
@@ -74,7 +76,13 @@ object VariableUtils extends Logging {
       run_date = new CustomDateType(getYesterday(false), false)
       nameAndType(RUN_DATE) = variable.DateType(new 
CustomDateType(run_date.toString, false))
     }
-
+    if (variables.containsKey(RUN_TODAY_H)) {
+      val runTodayHStr = variables.get(RUN_TODAY_H).asInstanceOf[String]
+      if (StringUtils.isNotBlank(runTodayHStr)) {
+        val runTodayH = new CustomHourType(runTodayHStr, false)
+        nameAndType(RUN_TODAY_H) = HourType(runTodayH)
+      }
+    }
     initAllDateVars(run_date, nameAndType)
     val codeOperation = parserVar(replaceStr, nameAndType)
     parserDate(codeOperation, run_date)
@@ -133,6 +141,13 @@ object VariableUtils extends Logging {
       nameAndType(RUN_DATE) = variable.DateType(new 
CustomDateType(run_date.toString, false))
     }
 
+    if (variables.containsKey(RUN_TODAY_H)) {
+      val runTodayHStr = variables.get(RUN_TODAY_H).asInstanceOf[String]
+      if (StringUtils.isNotBlank(runTodayHStr)) {
+        val runTodayH = new CustomHourType(runTodayHStr, false)
+        nameAndType(RUN_TODAY_H) = HourType(runTodayH)
+      }
+    }
     initAllDateVars(run_date, nameAndType)
     val codeOperation = parserVar(code, nameAndType)
     parserDate(codeOperation, run_date)
@@ -238,9 +253,15 @@ object VariableUtils extends Logging {
     nameAndType("run_mon_end_std") = MonType(new 
CustomMonType(run_mon.toString, true, true))
 
     // calculate run_mon base on run_date
-    val run_today_h = new CustomHourType(getCurHour(false, 
run_today.toString), false)
-    nameAndType("run_today_h") = HourType(run_today_h)
-    nameAndType("run_today_h_std") = HourType(new 
CustomHourType(run_today_h.toString, true))
+    if (nameAndType.contains(RUN_TODAY_H)) {
+      nameAndType(RUN_TODAY_H).asInstanceOf[HourType]
+    } else {
+      val run_today_h = new CustomHourType(getCurHour(false, 
run_today.toString), false)
+      nameAndType(RUN_TODAY_H) = HourType(run_today_h)
+    }
+    nameAndType("run_today_h_std") = HourType(
+      new 
CustomHourType(nameAndType(RUN_TODAY_H).asInstanceOf[HourType].getValue, true)
+    )
   }
 
   /**


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to