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 2023/05/18 12:58:21 UTC

[linkis] branch dev-1.4.0 updated: [Fix Bug]If the input script is json, the loop cannot be completed(#4557) (#4558)

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

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


The following commit(s) were added to refs/heads/dev-1.4.0 by this push:
     new 33463921f [Fix Bug]If the input script is json, the loop cannot be completed(#4557) (#4558)
33463921f is described below

commit 33463921f82c978b37d2e1de2f5e47e565301cb0
Author: 野鹿 <du...@foxmail.com>
AuthorDate: Thu May 18 20:58:14 2023 +0800

    [Fix Bug]If the input script is json, the loop cannot be completed(#4557) (#4558)
    
    * If the input script is json, the loop cannot be completed(https://github.com/apache/linkis/issues/4557)
---
 .../org/apache/linkis/common/utils/VariableOperationUtils.java    | 1 +
 .../org/apache/linkis/common/variable/VariableOperationTest.java  | 8 ++++++++
 2 files changed, 9 insertions(+)

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 d71f8b40e..b891f99d1 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
@@ -197,6 +197,7 @@ public class VariableOperationUtils {
         } else if (temp.isObject()) {
           replaceJson(dateTime, temp);
         } else {
+          arrayNode.remove(i);
           arrayNode.insert(i, replace(dateTime, temp.toString()));
         }
       }
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 d56c3cd2a..b24bad246 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
@@ -66,6 +66,14 @@ public class VariableOperationTest {
         "{\"name\":\"\\\"20220401\\\"\",\"address\":{\"street\":\"\\\"20210402\\\"\"},\"links\":[{\"name\":\"\\\"20220302\\\"\"}]}");
   }
 
+  @Test
+  public void testJsonArrayFormat() throws VariableOperationFailedException {
+    String jsonOld = "[{\"name\":[\"&{yyyyMMdd%-1d}\"],\"address\":[\"&{yyyyMMdd%-1d}\"]}]";
+    String jsonNew = VariableOperationUtils.replaces(zonedDateTime, jsonOld);
+    System.out.println(jsonOld + "\n" + jsonNew);
+    assertEquals(jsonNew, "[{\"name\":[\"\\\"20220401\\\"\"],\"address\":[\"\\\"20220401\\\"\"]}]");
+  }
+
   @Test
   public void testTextFormat() throws VariableOperationFailedException {
     String strOld = "abc&{yyyyMMdd%-1d}def";


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