in src/main/java/org/apache/directory/fortress/web/panel/RoleSearchModalPanel.java [139:200]
private LoadableDetachableModel getListViewModel()
{
return new LoadableDetachableModel()
{
/** Default serialVersionUID */
private static final long serialVersionUID = 1L;
@Override
protected Object load()
{
List<?> roles = null;
try
{
roleSelection = null;
if ( roleSearchVal == null )
roleSearchVal = "";
if ( isParentSearch )
{
Role childRole = reviewMgr.readRole( new Role( roleSearchVal ) );
if ( childRole != null )
{
List<Role> parentRoles = new ArrayList<>();
for ( String role : childRole.getParents() )
{
Role parent = reviewMgr.readRole( new Role( role ) );
parentRoles.add( parent );
}
roles = parentRoles;
}
}
else if ( isAdmin )
{
roles = delReviewMgr.findRoles( roleSearchVal );
}
else
roles = reviewMgr.findRoles( roleSearchVal );
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
String error = "loadPanel caught SecurityException=" + se;
LOG.error( error );
}
// sort list by name:
if( CollectionUtils.isNotEmpty( roles ))
{
Collections.sort( (List<Role>)roles, new Comparator<Role>()
{
@Override
public int compare(Role r1, Role r2)
{
return r1.getName().compareToIgnoreCase( r2.getName() );
}
} );
}
return roles;
}
};
}