NIHVIVO-2901 tweak the RegularExpression that filters UserAccounts for the "list" page.

This commit is contained in:
j2blake 2011-07-14 18:21:27 +00:00
parent 7f3da9448d
commit ac163cb8dd
3 changed files with 15 additions and 2 deletions

View file

@ -184,7 +184,7 @@ public class UserAccountsSelector {
if (!roleFilterUri.isEmpty()) {
String clean = escapeForRegex(roleFilterUri);
filters += "OPTIONAL { ?uri auth:hasPermissionSet ?role } \n"
+ " FILTER (REGEX(str(?role), '" + clean + "'))";
+ " FILTER (REGEX(str(?role), '^" + clean + "$'))";
}
if ((!roleFilterUri.isEmpty()) && (!searchTerm.isEmpty())) {

View file

@ -267,6 +267,12 @@ public class UserAccountsSelectorTest extends AbstractTestClass {
"user09");
}
@Test
public void filterAgainstRole2() {
selectOnCriteria(20, 1, DEFAULT_ORDERING, NS_MINE + "role2", "");
assertSelectedUris(2, "user03", "user10");
}
@Test
public void filterAgainstNoSuchRole() {
selectOnCriteria(20, 1, DEFAULT_ORDERING, "BogusRole", "");

View file

@ -103,7 +103,7 @@ mydomain:user07
auth:loginCount 1 ;
# auth:lastLoginTime NONE ;
# auth:status NONE ;
auth:hasPermissionSet mydomain:role2 ;
auth:hasPermissionSet mydomain:role22 ;
.
mydomain:user08
@ -155,3 +155,10 @@ mydomain:role2
rdfs:label "Role 2" ;
.
# this is intentionally a typographical extension of mydomain:role2
# to test that our reg-exp filters correctly.
mydomain:role22
a auth:PermissionSet ;
rdfs:label "Role 22" ;
.