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()) { if (!roleFilterUri.isEmpty()) {
String clean = escapeForRegex(roleFilterUri); String clean = escapeForRegex(roleFilterUri);
filters += "OPTIONAL { ?uri auth:hasPermissionSet ?role } \n" filters += "OPTIONAL { ?uri auth:hasPermissionSet ?role } \n"
+ " FILTER (REGEX(str(?role), '" + clean + "'))"; + " FILTER (REGEX(str(?role), '^" + clean + "$'))";
} }
if ((!roleFilterUri.isEmpty()) && (!searchTerm.isEmpty())) { if ((!roleFilterUri.isEmpty()) && (!searchTerm.isEmpty())) {

View file

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

View file

@ -103,7 +103,7 @@ mydomain:user07
auth:loginCount 1 ; auth:loginCount 1 ;
# auth:lastLoginTime NONE ; # auth:lastLoginTime NONE ;
# auth:status NONE ; # auth:status NONE ;
auth:hasPermissionSet mydomain:role2 ; auth:hasPermissionSet mydomain:role22 ;
. .
mydomain:user08 mydomain:user08
@ -155,3 +155,10 @@ mydomain:role2
rdfs:label "Role 2" ; 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" ;
.