From c3234b623479a675ef869bddfc83318373539ac7 Mon Sep 17 00:00:00 2001 From: jaewohong Date: Fri, 2 Jan 2026 09:29:46 +0900 Subject: [PATCH] =?UTF-8?q?header=20relay=EC=9C=84=ED=95=9C=20Concat=20use?= =?UTF-8?q?r=20function=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transformer/function/generic/Concat.java | 37 +++++++++++++++++++ .../transformer/function/generic/Trim.java | 4 +- .../function/validate/isBlank.java | 31 ++++++++++++++++ .../eai/transformer/ConcatFunction.java | 5 ++- 4 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/eactive/eai/transformer/function/generic/Concat.java create mode 100644 src/main/java/com/eactive/eai/transformer/function/validate/isBlank.java diff --git a/src/main/java/com/eactive/eai/transformer/function/generic/Concat.java b/src/main/java/com/eactive/eai/transformer/function/generic/Concat.java new file mode 100644 index 0000000..0613c7c --- /dev/null +++ b/src/main/java/com/eactive/eai/transformer/function/generic/Concat.java @@ -0,0 +1,37 @@ +package com.eactive.eai.transformer.function.generic; + +import java.util.Stack; + +import org.apache.commons.lang3.StringUtils; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.function.PostfixMathCommand; + +public class Concat extends PostfixMathCommand { + public Concat() { + numberOfParameters = 2; + } + + public void run(Stack inStack) throws ParseException { + + checkStack(inStack); + + Object p2 = inStack.pop(); + + if (p2 instanceof String) { + String str2 = (String) p2; + Object p1 = inStack.pop(); + + if (p1 instanceof String) { + String str1 = (String) p1; + + inStack.push(str1 + str2); + + } else { + throw new ParseException("Invalid parameter type, p1 is not string"); + } + } else { + throw new ParseException("Invalid parameter type, p2 is not string"); + } + + } +} diff --git a/src/main/java/com/eactive/eai/transformer/function/generic/Trim.java b/src/main/java/com/eactive/eai/transformer/function/generic/Trim.java index d7aaf58..c2934fb 100644 --- a/src/main/java/com/eactive/eai/transformer/function/generic/Trim.java +++ b/src/main/java/com/eactive/eai/transformer/function/generic/Trim.java @@ -8,13 +8,15 @@ import org.nfunk.jep.function.PostfixMathCommand; public class Trim extends PostfixMathCommand { public Trim() { - numberOfParameters = 1; + numberOfParameters = 2; } public void run(Stack inStack) throws ParseException { checkStack(inStack); Object p1 = inStack.pop(); + + Object p2 = inStack.pop(); if (p1 instanceof byte[]) { inStack.push(new String((byte[]) p1).trim()); diff --git a/src/main/java/com/eactive/eai/transformer/function/validate/isBlank.java b/src/main/java/com/eactive/eai/transformer/function/validate/isBlank.java new file mode 100644 index 0000000..1ec0d46 --- /dev/null +++ b/src/main/java/com/eactive/eai/transformer/function/validate/isBlank.java @@ -0,0 +1,31 @@ +package com.eactive.eai.transformer.function.validate; + +import java.util.Stack; + +import org.apache.commons.lang3.StringUtils; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.function.PostfixMathCommand; + +public class isBlank extends PostfixMathCommand { + + public isBlank() { + numberOfParameters = 1; + } + + public void run(Stack inStack) throws ParseException { + + checkStack(inStack); + + Object p1 = inStack.pop(); + + if (p1 instanceof String) { + String str1 = (String) p1; + + inStack.push(StringUtils.isBlank(str1)); + + } else { + throw new ParseException("Invalid parameter type, p1 is not string"); + } + } + +} diff --git a/src/test/java/com/eactive/eai/transformer/ConcatFunction.java b/src/test/java/com/eactive/eai/transformer/ConcatFunction.java index 9663b3a..1411dfc 100644 --- a/src/test/java/com/eactive/eai/transformer/ConcatFunction.java +++ b/src/test/java/com/eactive/eai/transformer/ConcatFunction.java @@ -9,7 +9,7 @@ public class ConcatFunction extends PostfixMathCommand { public ConcatFunction() { numberOfParameters = 2; - } + } public void run(Stack inStack) throws ParseException { checkStack(inStack); @@ -20,5 +20,6 @@ public class ConcatFunction extends PostfixMathCommand { String value = param1 + param2; inStack.push(value); - } + } + }