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]