You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2022/08/03 08:08:05 UTC

[incubator-linkis] branch dev-1.2.0 updated: Global variables have the lowest priority(#2559)

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

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


The following commit(s) were added to refs/heads/dev-1.2.0 by this push:
     new aeffc672d Global variables have the lowest priority(#2559)
aeffc672d is described below

commit aeffc672d3126b83f365f3b59c72928871204883
Author: 野鹿 <35...@qq.com>
AuthorDate: Wed Aug 3 16:07:57 2022 +0800

    Global variables have the lowest priority(#2559)
---
 .../linkis/common/utils/VariableOperationUtils.java    |  8 ++------
 .../org/apache/linkis/common/utils/VariableUtils.scala |  8 ++++----
 .../linkis/common/variable/VariableOperationTest.java  | 18 ++++++++++++++++--
 3 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/linkis-commons/linkis-common/src/main/java/org/apache/linkis/common/utils/VariableOperationUtils.java b/linkis-commons/linkis-common/src/main/java/org/apache/linkis/common/utils/VariableOperationUtils.java
index 39b98d134..170a3ba8d 100644
--- a/linkis-commons/linkis-common/src/main/java/org/apache/linkis/common/utils/VariableOperationUtils.java
+++ b/linkis-commons/linkis-common/src/main/java/org/apache/linkis/common/utils/VariableOperationUtils.java
@@ -33,10 +33,10 @@ import java.util.Date;
 import java.util.Iterator;
 import java.util.Map;
 
-/** support variable operation ${yyyyMMdd%-1d}/${yyyy-MM-01%-2M} Date: 2021/5/7 11:10 */
+/** support variable operation #{yyyyMMdd%-1d}/#{yyyy-MM-01%-2M} Date: 2021/5/7 11:10 */
 public class VariableOperationUtils {
 
-    private static final String DOLLAR = "$";
+    private static final String DOLLAR = "#";
     private static final String PLACEHOLDER_SPLIT = "%";
     private static final String PLACEHOLDER_LEFT = "{";
     private static final String PLACEHOLDER_RIGHT = "}";
@@ -127,8 +127,6 @@ public class VariableOperationUtils {
                     String newContent = ndt.format(DateTimeFormatter.ofPattern(parts[0]));
                     if (buffer.substring(startIndex - 1, endIndex + 1).contains(DOLLAR)) {
                         buffer.replace(startIndex - 1, endIndex + 1, newContent);
-                    } else {
-                        buffer.replace(startIndex, endIndex + 1, newContent);
                     }
                     startIndex = buffer.indexOf(PLACEHOLDER_LEFT, startIndex + newContent.length());
                 } catch (IllegalArgumentException e1) {
@@ -204,8 +202,6 @@ public class VariableOperationUtils {
                     if (newContent != null) {
                         if (buffer.substring(startIndex - 1, endIndex + 1).contains(DOLLAR)) {
                             buffer.replace(startIndex - 1, endIndex + 1, newContent);
-                        } else {
-                            buffer.replace(startIndex, endIndex + 1, newContent);
                         }
                         startIndex =
                                 buffer.indexOf(PLACEHOLDER_LEFT, startIndex + newContent.length());
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 ac2a35bb3..67d887d99 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
@@ -66,8 +66,8 @@ object VariableUtils extends Logging {
     }
 
     initAllDateVars(run_date, nameAndType)
-    val codeOperation = parserDate(replaceStr, run_date)
-    parserVar(codeOperation, nameAndType)
+    val codeOperation = parserVar(replaceStr, nameAndType)
+    parserDate(codeOperation, run_date)
   }
 
   def replace(code: String, runtType: String, variables: util.Map[String, String]): String = {
@@ -120,8 +120,8 @@ object VariableUtils extends Logging {
     }
 
     initAllDateVars(run_date, nameAndType)
-    val codeOperation = parserDate(code, run_date)
-    parserVar(codeOperation, nameAndType)
+    val codeOperation = parserVar(code, nameAndType)
+    parserDate(codeOperation, run_date)
   }
 
   private def parserDate(code: String, run_date: CustomDateType) : String = {
diff --git a/linkis-commons/linkis-common/src/test/java/org/apache/linkis/common/variable/VariableOperationTest.java b/linkis-commons/linkis-common/src/test/java/org/apache/linkis/common/variable/VariableOperationTest.java
index e8485aa46..1cb9f8485 100644
--- a/linkis-commons/linkis-common/src/test/java/org/apache/linkis/common/variable/VariableOperationTest.java
+++ b/linkis-commons/linkis-common/src/test/java/org/apache/linkis/common/variable/VariableOperationTest.java
@@ -34,7 +34,7 @@ public class VariableOperationTest {
     @Test
     public void testJsonFormat() throws VariableOperationFailedException {
         String jsonOld =
-                "{\"name\":\"${yyyyMMdd%-1d}\",\"address\":{\"street\":\"${yyyyMMdd%-1y}\"},\"links\":[{\"name\":\"${yyyyMMdd%-1M}\"}]}";
+                "{\"name\":\"#{yyyyMMdd%-1d}\",\"address\":{\"street\":\"#{yyyyMMdd%-1y}\"},\"links\":[{\"name\":\"#{yyyyMMdd%-1M}\"}]}";
         String jsonNew = VariableOperationUtils.replaces(zonedDateTime, jsonOld);
         System.out.println(jsonOld + "\n" + jsonNew);
         assertEquals(
@@ -44,9 +44,23 @@ public class VariableOperationTest {
 
     @Test
     public void testTextFormat() throws VariableOperationFailedException {
-        String strOld = "abc${yyyyMMdd%-1d}def";
+        String strOld = "abc#{yyyyMMdd%-1d}def";
         String strNew = VariableOperationUtils.replaces(zonedDateTime, strOld);
         System.out.println(strOld + "\n" + strNew);
         assertEquals(strNew, "abc20220401def");
     }
+
+    @Test
+    public void testText2Format() throws VariableOperationFailedException {
+        String str = "dss_autotest.demo_data{ds=20220516}";
+        String strNew = VariableOperationUtils.replaces(zonedDateTime, str);
+        assertEquals(strNew, str);
+    }
+
+    @Test
+    public void testText3Format() throws VariableOperationFailedException {
+        String str = "dss_autotest.demo_data${a1}";
+        String strNew = VariableOperationUtils.replaces(zonedDateTime, str);
+        assertEquals(strNew, str);
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org