From c197f27d8e16b6b27009daa974f1b823ef3454b4 Mon Sep 17 00:00:00 2001 From: van-vanich Date: Fri, 5 Nov 2021 12:16:52 +0200 Subject: [PATCH] remove replace quote to method with a meaningful name. Also, remove split values to list to this method. --- .../server/dao/sql/query/EntityKeyMapping.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java b/dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java index 3328ceb4fa..7a86431da0 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java @@ -561,18 +561,16 @@ public class EntityKeyMapping { stringOperationQuery = String.format("%s not like :%s or %s is null)", operationField, paramName, operationField); break; case IN: - value = value.replaceAll("'","").replaceAll("\"", ""); stringOperationQuery = String.format("%s in (:%s))", operationField, paramName); break; case NOT_IN: - value = value.replaceAll("'","").replaceAll("\"", ""); stringOperationQuery = String.format("%s not in (:%s))", operationField, paramName); break; } switch (stringFilterPredicate.getOperation()) { case IN: case NOT_IN: - ctx.addStringListParameter(paramName, List.of(value.trim().split("\\s*,\\s*"))); + ctx.addStringListParameter(paramName, getListValuesWithoutQuote(value)); break; default: ctx.addStringParameter(paramName, value); @@ -580,6 +578,10 @@ public class EntityKeyMapping { return String.format("((%s is not null and %s)", field, stringOperationQuery); } + private List getListValuesWithoutQuote(String value) { + return List.of(value.replaceAll("'", "").replaceAll("\"", "").trim().split("\\s*,\\s*")); + } + private String buildNumericPredicateQuery(QueryContext ctx, String field, NumericFilterPredicate numericFilterPredicate) { String paramName = getNextParameterName(field); ctx.addDoubleParameter(paramName, numericFilterPredicate.getValue().getValue());