From 1d13be8dc8ef61a3119e283d5fcce4fa8f65c3b5 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Wed, 4 Oct 2023 11:30:43 +0200 Subject: [PATCH] Polishing Get rid of exception in positional parameter detection. --- .../data/mongodb/core/convert/QueryMapper.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java index 3718ac88f..1c4e4bb76 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java @@ -1490,6 +1490,10 @@ public class QueryMapper { static boolean isPositionalParameter(String partial) { + if(!StringUtils.hasText(partial)) { + return false; + } + if ("$".equals(partial)) { return true; } @@ -1499,12 +1503,12 @@ public class QueryMapper { return true; } - try { - Long.valueOf(partial); - return true; - } catch (NumberFormatException e) { - return false; + for (int i = 0; i < partial.length(); i++) { + if (!Character.isDigit(partial.charAt(i))) { + return false; + } } + return true; } } }