From 7b0c3755b32f39f7408a29b8434a180f09c0948b Mon Sep 17 00:00:00 2001 From: 51-code <146736881+51-code@users.noreply.github.com> Date: Thu, 2 May 2024 10:07:11 +0300 Subject: [PATCH] Changes Payload to use Pattern.split instead of String.split for splitting messages (#47) --- src/main/java/com/teragrep/lsh_01/Payload.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teragrep/lsh_01/Payload.java b/src/main/java/com/teragrep/lsh_01/Payload.java index d7c1a4f..d386d70 100644 --- a/src/main/java/com/teragrep/lsh_01/Payload.java +++ b/src/main/java/com/teragrep/lsh_01/Payload.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; /** @@ -35,10 +36,13 @@ final public class Payload { private final static Logger LOGGER = LogManager.getLogger(Payload.class); private final PayloadConfig payloadConfig; private final String body; + private final Pattern splitPattern; public Payload(PayloadConfig payloadConfig, String body) { this.payloadConfig = payloadConfig; this.body = body; + + this.splitPattern = Pattern.compile(payloadConfig.splitRegex); } /** @@ -56,7 +60,7 @@ public List split() { } try { - String[] messages = body.split(payloadConfig.splitRegex); + String[] messages = splitPattern.split(body); for (String message : messages) { payloads.add(new Payload(payloadConfig, message));