kezhenxu94 commented on code in PR #12502:
URL: 
https://github.com/apache/dolphinscheduler/pull/12502#discussion_r1002638781


##########
dolphinscheduler-spi/src/test/java/org/apache/dolphinscheduler/spi/utils/JSONUtilsTest.java:
##########
@@ -17,6 +17,9 @@
 
 package org.apache.dolphinscheduler.spi.utils;
 
+import org.apache.dolphinscheduler.common.utils.DateUtils;

Review Comment:
   Maybe also merge this tests to the common module? It's weird `JSONUtils` is 
in common module but `JSONUtilsTest` is in spi module



##########
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/StringUtils.java:
##########
@@ -38,144 +38,6 @@ private StringUtils() {
         throw new UnsupportedOperationException("Construct StringUtils");
     }
 
-    /**
-     * <p>Checks if a CharSequence is empty ("") or null.</p>
-     *
-     * @param cs the CharSequence to check, may be null
-     * @return {@code true} if the CharSequence is empty or null
-     */
-    public static boolean isEmpty(final CharSequence cs) {
-        return cs == null || cs.length() == 0;
-    }
-
-    /**
-     * <p>Checks if a CharSequence is not empty ("") and not null.</p>
-     *
-     * @param cs the CharSequence to check, may be null
-     * @return {@code true} if the CharSequence is not empty and not null
-     */
-    public static boolean isNotEmpty(final CharSequence cs) {
-        return !isEmpty(cs);
-    }
-
-    /**
-     * <p>Checks if a CharSequence is empty (""), null or whitespace only.</p>
-     *
-     * @param cs the CharSequence to check, may be null
-     * @return {@code true} if the CharSequence is null, empty or whitespace 
only
-     */
-    public static boolean isBlank(final CharSequence cs) {
-        int strLen;
-        if (cs == null || (strLen = cs.length()) == 0) {
-            return true;
-        }
-        for (int i = 0; i < strLen; i++) {
-            if (!Character.isWhitespace(cs.charAt(i))) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    /**
-     * <p>Checks if a CharSequence is not empty (""), not null and not 
whitespace only.</p>
-     *
-     * @param cs the CharSequence to check, may be null
-     * @return {@code true} if the CharSequence is not empty and not null and 
not whitespace only
-     */
-    public static boolean isNotBlank(final CharSequence cs) {
-        return !isBlank(cs);
-    }
-
-    /**
-     * <p>Removes control characters (char &lt;= 32) from both
-     * ends of this String, handling {@code null} by returning
-     * {@code null}.</p>
-     *
-     * @param str the String to be trimmed, may be null
-     * @return the trimmed string, {@code null} if null String input
-     */
-    public static String trim(final String str) {
-        return str == null ? null : str.trim();
-    }
-
-    /**
-     * <p>Returns either the passed in CharSequence, or if the CharSequence is
-     * whitespace, empty ("") or {@code null}, the value of {@code 
defaultStr}.</p>
-     *
-     * @param <T> the specific kind of CharSequence
-     * @param str the CharSequence to check, may be null
-     * @param defaultStr  the default CharSequence to return
-     *  if the input is whitespace, empty ("") or {@code null}, may be null
-     * @return the passed in CharSequence, or the default
-     */
-    public static <T extends CharSequence> T defaultIfBlank(final T str, final 
T defaultStr) {
-        return isBlank(str) ? defaultStr : str;
-    }
-
-    /**
-     * <p>Compares two String, returning {@code true} if they represent
-     * equal string, ignoring case.</p>
-     *
-     * @param str1  the first String, may be null
-     * @param str2  the second String, may be null
-     * @return {@code true} if the String are equal, case insensitive, or
-     *  both {@code null}
-     */
-    public static boolean equalsIgnoreCase(String str1, String str2) {
-        return str1 == null ? str2 == null : str1.equalsIgnoreCase(str2);
-    }
-
-    /**
-     * <p>Joins the elements of the provided Collection into a single String
-     * containing the provided Collection of elements.</p>
-     *
-     * @param collection the collection, may be null
-     * @param separator the separator
-     * @return a single String
-     */
-    public static String join(Collection<?> collection, String separator) {
-        return collection == null ? null : join(collection.iterator(), 
separator);
-    }
-
-    /**
-     * <p>Joins the elements of the provided Iterator into a single String
-     * containing the provided Iterator of elements.</p>
-     *
-     * @param iterator the iterator, may be null
-     * @param separator the separator
-     * @return a single String
-     */
-    public static String join(Iterator<?> iterator, String separator) {
-        if (iterator == null) {
-            return null;
-        } else if (!iterator.hasNext()) {
-            return "";
-        } else {
-            Object first = iterator.next();
-            if (!iterator.hasNext()) {
-                return first == null ? "" : first.toString();
-            } else {
-                StringBuilder buf = new StringBuilder(256);
-                if (first != null) {
-                    buf.append(first);
-                }
-
-                while (iterator.hasNext()) {
-                    if (separator != null) {
-                        buf.append(separator);
-                    }
-
-                    Object obj = iterator.next();
-                    if (obj != null) {
-                        buf.append(obj);
-                    }
-                }
-                return buf.toString();
-            }
-        }
-    }
-
     public static String escapeJava(String str) {

Review Comment:
   You can find these methods are also copied from third party libs.
   
   
https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html



-- 
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