diff --git a/src/main/java/com/eactive/eai/transformer/engine/Parser.java b/src/main/java/com/eactive/eai/transformer/engine/Parser.java index 40b0573..98315d0 100644 --- a/src/main/java/com/eactive/eai/transformer/engine/Parser.java +++ b/src/main/java/com/eactive/eai/transformer/engine/Parser.java @@ -110,7 +110,8 @@ public class Parser implements Serializable { if (funcDef == null) continue; String functionClass = funcDef.getFunctionClass(); if (functionClass == null) continue; - if(!functionClass.startsWith("com.eactive.eai.transformer.function")) { + if(!(functionClass.startsWith("com.eactive.eai.transformer.function") + || functionClass.startsWith("com.eactive.eai.custom.transformer.function"))) { continue; } diff --git a/src/main/java/com/eactive/eai/transformer/function/crypto/IniSafeNetKJDecrypt.java b/src/main/java/com/eactive/eai/transformer/function/crypto/IniSafeNetKJDecrypt.java index aa16dc4..6ed9019 100644 --- a/src/main/java/com/eactive/eai/transformer/function/crypto/IniSafeNetKJDecrypt.java +++ b/src/main/java/com/eactive/eai/transformer/function/crypto/IniSafeNetKJDecrypt.java @@ -47,7 +47,7 @@ public class IniSafeNetKJDecrypt extends PostfixMathCommand { try { keyMgr = new KeyFixManager(sConf); - decData = keyMgr.decrypt(iniSafeKey, value); + decData = keyMgr.decrypt(value); inStack.push(decData); } catch (Exception e) { //throw new ExecutionException(e.getMessage(), parameters, e); diff --git a/src/main/java/com/eactive/eai/transformer/function/crypto/IniSafeNetKJEncrypt.java b/src/main/java/com/eactive/eai/transformer/function/crypto/IniSafeNetKJEncrypt.java index 77666b3..d9268f3 100644 --- a/src/main/java/com/eactive/eai/transformer/function/crypto/IniSafeNetKJEncrypt.java +++ b/src/main/java/com/eactive/eai/transformer/function/crypto/IniSafeNetKJEncrypt.java @@ -47,7 +47,8 @@ public class IniSafeNetKJEncrypt extends PostfixMathCommand { try { keyMgr = new KeyFixManager(sConf); - encData = keyMgr.encrypt(iniSafeKey, value); + //encData = keyMgr.encrypt(iniSafeKey, value); + encData = keyMgr.encrypt(value); inStack.push(encData); } catch (Exception e) { //throw new ExecutionException(e.getMessage(), parameters, e); 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); - } + } + }