diff --git a/plugins/src/main/java/org/apache/hop/expression/operator/EndsWithFunction.java b/plugins/src/main/java/org/apache/hop/expression/operator/EndsWithFunction.java index 2332907d..4af2ae7b 100644 --- a/plugins/src/main/java/org/apache/hop/expression/operator/EndsWithFunction.java +++ b/plugins/src/main/java/org/apache/hop/expression/operator/EndsWithFunction.java @@ -94,13 +94,13 @@ public Object eval(final IExpression[] operands) { if (offset < 0) { return Boolean.FALSE; - } else { - for (int i = 0; i < suffix.length; i++) { - if (value[offset + i] != suffix[i]) { - return Boolean.FALSE; - } + } + for (int i = 0; i < suffix.length; i++) { + if (value[offset + i] != suffix[i]) { + return Boolean.FALSE; } } + return Boolean.TRUE; } } diff --git a/plugins/src/main/java/org/apache/hop/expression/operator/StartsWithFunction.java b/plugins/src/main/java/org/apache/hop/expression/operator/StartsWithFunction.java index f0b1d19d..04ae934b 100644 --- a/plugins/src/main/java/org/apache/hop/expression/operator/StartsWithFunction.java +++ b/plugins/src/main/java/org/apache/hop/expression/operator/StartsWithFunction.java @@ -93,15 +93,16 @@ public Object eval(final IExpression[] operands) { if (prefix == null) return null; if (prefix.length > value.length) { - return Boolean.TRUE; - } else { - int end = prefix.length; - for (int i = 0; i < end; i++) { - if (value[i] != prefix[i]) { - return Boolean.FALSE; - } + return Boolean.FALSE; + } + + int end = prefix.length; + for (int i = 0; i < end; i++) { + if (value[i] != prefix[i]) { + return Boolean.FALSE; } } + return Boolean.TRUE; } } diff --git a/plugins/src/test/java/org/apache/hop/core/expression/ScalarFunctionTest.java b/plugins/src/test/java/org/apache/hop/core/expression/ScalarFunctionTest.java index 74901f70..89add456 100644 --- a/plugins/src/test/java/org/apache/hop/core/expression/ScalarFunctionTest.java +++ b/plugins/src/test/java/org/apache/hop/core/expression/ScalarFunctionTest.java @@ -3163,12 +3163,13 @@ public void Contains() throws Exception { public void StartsWith() throws Exception { // String evalTrue("StartsWith('TEST FROM','TES')").returnType(Types.BOOLEAN); - evalFalse("StartsWith('-TEST FROM','TES')"); + evalFalse("StartsWith('XXXTEST FROM','TES')"); + evalFalse("StartsWith('TEST','TESTXXX')"); // Binary evalTrue("StartsWith(BINARY 'FAA12345',BINARY 'fA')").returnType(Types.BOOLEAN); evalFalse("StartsWith(BINARY 'FAA12345',BINARY 'EE')"); - evalFalse("StartsWith(BINARY '12345',BINARY '123456')"); + evalFalse("StartsWith(BINARY '1234',BINARY '123456')"); evalNull("StartsWith(NULL_STRING,'ROMA')"); evalNull("StartsWith('TEST FROM',NULL_STRING)"); @@ -3180,13 +3181,15 @@ public void EndsWith() throws Exception { // String evalTrue("EndsWith('TEST FROM','ROM')").returnType(Types.BOOLEAN); evalFalse("EndsWith('TEST FROM','ROMA')"); + evalFalse("EndsWith('TEST','TESTXX')"); + evalFalse("EndsWith('TEST','XXTEST')"); evalNull("EndsWith(NULL_STRING,'ROMA')").returnType(Types.BOOLEAN); evalNull("EndsWith('TEST FROM',NULL_STRING)").returnType(Types.BOOLEAN); // Binary evalTrue("EndsWith(BINARY 'FAA12345',BINARY '2345')").returnType(Types.BOOLEAN); evalFalse("EndsWith(BINARY 'FAA12345',BINARY '88')"); - evalFalse("EndsWith(BINARY '12345',BINARY 'FFFF12345')"); + evalFalse("EndsWith(BINARY '1234',BINARY 'FFFF1234')"); evalFails("EndsWith()"); }