From 8053160051f1f2890a0be13cddb4074586fdd7cd Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Tue, 5 Mar 2013 18:02:50 -0800 Subject: [PATCH] CSPACE-2029: Searches of users now match on separate words. --- .../services/account/storage/AccountJpaFilter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountJpaFilter.java b/services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountJpaFilter.java index 8cae96383..d6322daa9 100644 --- a/services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountJpaFilter.java +++ b/services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountJpaFilter.java @@ -66,8 +66,9 @@ public class AccountJpaFilter extends JpaDocumentFilter { queryStrBldr.append(" UPPER(a." + AccountStorageConstants.SCREEN_NAME + ")"); queryStrBldr.append(" LIKE"); queryStrBldr.append(" :" + AccountStorageConstants.Q_SCREEN_NAME); + // CSPACE-2029 paramList.add(new ParamBinding(AccountStorageConstants.Q_SCREEN_NAME, "%" - + screenName.toUpperCase() + "%")); + + replaceSpacesWithQueryWildcards(screenName.toUpperCase()) + "%")); } String uid = null; @@ -127,4 +128,12 @@ public class AccountJpaFilter extends JpaDocumentFilter { paramList.add(new ParamBinding("tenantId", tenantId)); return whereClause; } + + public String replaceSpacesWithQueryWildcards(String str) { + if (null == str || str.trim().isEmpty()) { + return str; + } else { + return str.trim().replaceAll("[\\s]+","%"); + } + } } -- 2.47.3