From aa0e0fbab5dd557c63accdc497a085b92bfecd98 Mon Sep 17 00:00:00 2001 From: u$f Date: Wed, 28 Aug 2024 17:20:08 +0200 Subject: [PATCH] edit --- .../java/org/usf/jquery/core/ColumnFilterGroup.java | 1 + src/main/java/org/usf/jquery/core/DBColumn.java | 12 ++++++------ src/main/java/org/usf/jquery/core/Utils.java | 11 ++++++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/usf/jquery/core/ColumnFilterGroup.java b/src/main/java/org/usf/jquery/core/ColumnFilterGroup.java index 1e92f3d7..c44e6d55 100644 --- a/src/main/java/org/usf/jquery/core/ColumnFilterGroup.java +++ b/src/main/java/org/usf/jquery/core/ColumnFilterGroup.java @@ -4,6 +4,7 @@ import static java.util.stream.Collectors.joining; import static org.usf.jquery.core.QueryParameterBuilder.addWithValue; import static org.usf.jquery.core.Utils.arrayJoin; +import static org.usf.jquery.core.Utils.arrayJoinFirst; import java.util.stream.Stream; diff --git a/src/main/java/org/usf/jquery/core/DBColumn.java b/src/main/java/org/usf/jquery/core/DBColumn.java index 9b821ea9..2fa2faaf 100644 --- a/src/main/java/org/usf/jquery/core/DBColumn.java +++ b/src/main/java/org/usf/jquery/core/DBColumn.java @@ -3,7 +3,7 @@ import static org.usf.jquery.core.Order.ASC; import static org.usf.jquery.core.Order.DESC; import static org.usf.jquery.core.QueryParameterBuilder.formatValue; -import static org.usf.jquery.core.Utils.arrayJoin; +import static org.usf.jquery.core.Utils.arrayJoinFirst; import static org.usf.jquery.core.Validation.requireLegalVariable; import static org.usf.jquery.core.Validation.requireNoArgs; @@ -126,12 +126,12 @@ default ColumnSingleFilter notNull() { @SuppressWarnings("unchecked") default ColumnSingleFilter in(T... arr) { - return Comparator.in().filter(arrayJoin(arr, this, 0)); + return Comparator.in().filter(arrayJoinFirst(arr, this)); } @SuppressWarnings("unchecked") default ColumnSingleFilter notIn(T... arr) { - return Comparator.notIn().filter(arrayJoin(arr, this, 0)); + return Comparator.notIn().filter(arrayJoinFirst(arr, this)); } default ColumnSingleFilter filter(ComparisonExpression exp) { @@ -249,11 +249,11 @@ default OperationColumn substring(int start, int end) { } default OperationColumn concat(Object... str) { - return Operator.concat().operation(arrayJoin(str, this, 0)); + return Operator.concat().operation(arrayJoinFirst(str, this)); } - default OperationColumn pow(int n, String value) { - return Operator.pow().operation(this, n, value); + default OperationColumn lpad(int n, String value) { + return Operator.lpad().operation(this, n, value); } default OperationColumn rpad(int n, String value) { diff --git a/src/main/java/org/usf/jquery/core/Utils.java b/src/main/java/org/usf/jquery/core/Utils.java index 85f50ca5..db4fa034 100644 --- a/src/main/java/org/usf/jquery/core/Utils.java +++ b/src/main/java/org/usf/jquery/core/Utils.java @@ -1,9 +1,11 @@ package org.usf.jquery.core; +import static java.lang.System.arraycopy; import static java.util.Arrays.copyOf; import static java.util.Objects.isNull; import static java.util.stream.Collectors.joining; +import java.lang.reflect.Array; import java.util.Collection; import java.util.Map; import java.util.stream.Stream; @@ -58,12 +60,15 @@ public static String joinAndDelemit(String delemiter, String before, String } public static T[] arrayJoin(T[] arr, T o) { - return arrayJoin(arr, o, arr.length); + var res = copyOf(arr, arr.length+1); + res[arr.length+1] = o; + return res; } - public static T[] arrayJoin(T[] arr, T o, int idx) { + public static T[] arrayJoinFirst(T[] arr, T o) { var res = copyOf(arr, arr.length+1); - res[idx] = o; + arraycopy(arr, 0, res, 1, arr.length); + res[0] = o; return res; } }