From 0441b0e0201c0e18881a44d24a3c9370ffbeee9a Mon Sep 17 00:00:00 2001 From: Viktor Kovtun <viktor.kovtun@id.ethz.ch> Date: Mon, 22 Jun 2020 11:54:43 +0200 Subject: [PATCH] SSDM-9369 Added escaping of "'" with "''" when StringContainsExactlyValue criterion is used. Otherwise using "'" would lead to an exception. --- .../v3/search/translator/GlobalSearchCriteriaTranslator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/search/translator/GlobalSearchCriteriaTranslator.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/search/translator/GlobalSearchCriteriaTranslator.java index 6bc2333648c..a6381f88799 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/search/translator/GlobalSearchCriteriaTranslator.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/search/translator/GlobalSearchCriteriaTranslator.java @@ -532,7 +532,7 @@ public class GlobalSearchCriteriaTranslator private static String toTsQueryText(final AbstractStringValue stringValue) { return (StringContainsExactlyValue.class.isAssignableFrom(stringValue.getClass())) - ? '\'' + stringValue.getValue() + '\'' + ? '\'' + stringValue.getValue().replaceAll("'", "''") + '\'' : stringValue.getValue().replaceAll("['&|:!()<>]", " ").trim().replaceAll("\\s+", " | "); } -- GitLab