]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-2029: Searches of users now match on separate words.
authorAron Roberts <aron@socrates.berkeley.edu>
Wed, 6 Mar 2013 02:02:50 +0000 (18:02 -0800)
committerAron Roberts <aron@socrates.berkeley.edu>
Wed, 6 Mar 2013 02:02:50 +0000 (18:02 -0800)
services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountJpaFilter.java

index 8cae963834ea8abb900f1caae25bb95b2303741a..d6322daa9766ff69276cd1b2188da6576fafe4a0 100644 (file)
@@ -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]+","%");
+        }
+    }
 }