shouwangyw commented on code in PR #16683:
URL:
https://github.com/apache/dolphinscheduler/pull/16683#discussion_r1794791939
##########
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:
> Different fields should use different verification methods. For example,
the workflow name should consist of uppercase and lowercase English letters or
Chinese and underscores, and other symbols are illegal characters. But the
workflow description can contain more special characters.
I understand this, but this general method is not for verification, but for
supporting special characters in like fuzzy queries.
--
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]