shouwangyw commented on code in PR #16683:
URL: 
https://github.com/apache/dolphinscheduler/pull/16683#discussion_r1794890015


##########
dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/utils/ParameterUtils.java:
##########
@@ -314,15 +314,18 @@ private static String dateTemplateParse(String 
templateStr, Date date) {
     /**
      * handle escapes
      *
-     * @param inputString input string
+     * @param str input string
      * @return string filter escapes
      */
-    public static String handleEscapes(String inputString) {
-
-        if (!StringUtils.isEmpty(inputString)) {
-            return inputString.replace("%", "////%").replaceAll("[\n|\r\t]", 
"_");
+    public static String handleEscapes(String str) {
+        str = StringUtils.trim(str);
+        if (StringUtils.isNotBlank(str)) {
+            str = str.replace("\\", "\\\\");
+            str = str.replace("_", "\\_");
+            str = str.replace("%", "\\%");
+            str = str.replaceAll("[\n|\r\t]", "");

Review Comment:
   > > This issue is not just about solving the workflow list query problem, 
the issue only takes the workflow list as an example. This is indeed a general 
process.
   > 
   > If so, we need to analyze specific problems, because different query 
scenarios need to use different rules. The current implementation needs 
optimization.
   
   This process involves many calls, and every time you write a new query list 
interface, you may need to call this method.
   This may not be a good implementation, but it is the smallest change,for the 
time being, this is also implemented in our actual project
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to