fix replaceNRTtoUnderline NullPointerException #4098 (#4100)

* fix replaceNRTtoUnderline NullPointerException

* add  unit Test
This commit is contained in:
felix.wang 2020-11-24 18:32:50 +08:00 committed by GitHub
parent 3c181399e1
commit 8f5da09d3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 1 deletions

View File

@ -45,6 +45,10 @@ public class StringUtils {
}
public static String replaceNRTtoUnderline(String src) {
return src.replaceAll("[\n|\r|\t]", "_");
if (isBlank(src)) {
return src;
} else {
return src.replaceAll("[\n|\r|\t]", "_");
}
}
}

View File

@ -14,6 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.dolphinscheduler.common.utils;
import org.junit.Assert;
@ -61,4 +62,19 @@ public class StringUtilsTest {
b = StringUtils.isNotBlank("test");
Assert.assertTrue(b);
}
@Test
public void testreplaceNRTtoUnderline() {
String result1 = StringUtils.replaceNRTtoUnderline("abc\n");
Assert.assertEquals("abc_", result1);
String result2 = StringUtils.replaceNRTtoUnderline("abc\r");
Assert.assertEquals("abc_", result2);
String result3 = StringUtils.replaceNRTtoUnderline("abc\t");
Assert.assertEquals("abc_", result3);
String result4 = StringUtils.replaceNRTtoUnderline(null);
Assert.assertNull(result4);
}
}