From c789e82e0e2a63516983edf57a075479324eb7ce Mon Sep 17 00:00:00 2001 From: yunjy-hp Date: Thu, 8 Jan 2026 15:13:29 +0900 Subject: [PATCH 1/2] =?UTF-8?q?ElinkTransactionContext=EC=97=90=20?= =?UTF-8?q?=EC=B5=9C=EC=B4=88=EC=9A=94=EC=B2=AD=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=20=EC=A0=80=EC=9E=A5=20=EB=B0=8F=20=EA=B0=80=EC=A0=B8=EB=8B=A4?= =?UTF-8?q?=20=EC=93=B0=EB=8A=94=20=ED=95=A8=EC=88=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../userdefined/SubStringRequestMessage.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/main/java/com/eactive/eai/custom/transformer/function/userdefined/SubStringRequestMessage.java diff --git a/src/main/java/com/eactive/eai/custom/transformer/function/userdefined/SubStringRequestMessage.java b/src/main/java/com/eactive/eai/custom/transformer/function/userdefined/SubStringRequestMessage.java new file mode 100644 index 0000000..b02b4b5 --- /dev/null +++ b/src/main/java/com/eactive/eai/custom/transformer/function/userdefined/SubStringRequestMessage.java @@ -0,0 +1,44 @@ +package com.eactive.eai.custom.transformer.function.userdefined; + +import com.eactive.eai.common.context.ElinkTransactionContext; +import org.apache.commons.lang.StringUtils; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.function.PostfixMathCommand; + +import java.util.Stack; + +public class SubStringRequestMessage extends PostfixMathCommand { + public SubStringRequestMessage() { + numberOfParameters = -1; + } + + public void run(Stack inStack) throws ParseException { + checkStack(inStack); + + String bizData = ElinkTransactionContext.getRequestBizData(); + + Object p1 = inStack.pop(); + Object p2 = inStack.pop(); + + int start = toInt(p2); + int end = toInt(p1); + + String resultStr = bizData.substring(start, end); + + if(inStack.size() > 0){ + inStack.pop(); + } + + inStack.push(resultStr); + } + + public static int toInt(Object obj) { + if (obj instanceof Number) { + return ((Number) obj).intValue(); + } + if (obj instanceof String) { + return Integer.parseInt(((String) obj).trim()); + } + throw new IllegalArgumentException("Cannot convert to int: " + obj); + } +} From 3b2097eb8c0f114c6532549945485f12e3711798 Mon Sep 17 00:00:00 2001 From: yunjy-hp Date: Thu, 8 Jan 2026 15:15:25 +0900 Subject: [PATCH 2/2] =?UTF-8?q?clear=20=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/userdefined/SubStringRequestMessage.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/com/eactive/eai/custom/transformer/function/userdefined/SubStringRequestMessage.java b/src/main/java/com/eactive/eai/custom/transformer/function/userdefined/SubStringRequestMessage.java index b02b4b5..add30f3 100644 --- a/src/main/java/com/eactive/eai/custom/transformer/function/userdefined/SubStringRequestMessage.java +++ b/src/main/java/com/eactive/eai/custom/transformer/function/userdefined/SubStringRequestMessage.java @@ -24,10 +24,7 @@ public class SubStringRequestMessage extends PostfixMathCommand { int end = toInt(p1); String resultStr = bizData.substring(start, end); - - if(inStack.size() > 0){ - inStack.pop(); - } + inStack.clear(); inStack.push(resultStr); }