diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/SQLBuilder.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/SQLBuilder.java index 63052fbb624..0a22bd29c24 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/SQLBuilder.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/SQLBuilder.java @@ -43,6 +43,8 @@ public class SQLBuilder { // This holds the arguments, in the order of the '?' placeholders in sb private final List args = new ArrayList<>(); + // This holds the criterias, where nth element corresponds to nth element in args + private final ArrayList crts = new ArrayList(); /** * Adds a criteria for a SQL WHERE clause. * All criteria are appended by AND (support for OR, or nesting, can be added when needed). @@ -84,6 +86,7 @@ public void addCriteria(String criteria, Object argument) { } sb.append(trimmedCriteria); sb.append(" ?"); + crts.add(trimmedCriteria); args.add(argument); } @@ -118,9 +121,38 @@ public Object[] getArguments() { /* * Returns a String representation suitable for debugging and log output. * This is ONLY intended for debugging in logs, and NEVER for passing to a JDBC database. + */ @Override public String toString() { - return "SQLBuilder{..."; // TODO implement this... + StringBuilder whereClause = new StringBuilder("SQLBuilder{"); + for (int i=0;i