on 2006 Sep 03 3:26 PM
Hi all,
I want to get the all Roles that existing on my portal.
Thanks a lot for your help!
Maya Shtibel.
Sorry, I meant how can I sort the list?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Maya,
IWDMessageManager messageManager = wdComponentAPI.getMessageManager();
try {
IRoleFactory roles = UMFactory.getRoleFactory();
IRoleSearchFilter filter = roles.getRoleSearchFilter();
filter.setUniqueName("*", ISearchAttribute.LIKE_OPERATOR, false);
ISearchResult sresult = roles.searchRoles(filter) ;
TreeSet visibleRoles = new TreeSet(new RoleNameComparator());
if ( sresult.getState() == ISearchResult.SEARCH_RESULT_OK ) {
while(sresult.hasNext()) {
String id = (String)sresult.next();
IRole role = roles.getRole(id);
visibleRoles.add(role);
messageManager.reportSuccess(role.getDisplayName());
}
}
} catch (Exception e) {
messageManager.reportException(new WDNonFatalException(e), false);
}
.............
public class RoleNameComparator
implements Comparator
{
public RoleNameComparator()
{
}
public int compare(Object o1, Object o2)
{
IPrincipal role1 = (IPrincipal)o1;
IPrincipal role2 = (IPrincipal)o2;
int res = role1.getDisplayName().compareToIgnoreCase(role2.getDisplayName());
if(0 == res)
return role1.getUniqueID().compareToIgnoreCase(role2.getUniqueID());
else
return res;
}
}
Mark usefull answers and close the thread in case your problem is solved.
Best regards, Maksim Rashchynski.
Hi SDN Team,
I have requirement to get the Roles that exist on specific location on the PCD.
I assume that I should put compatible value on the filter.
Thanks,
Maya Shtibel.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Maksim,
Thanks for your quick and helpful answer!
Maya.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Maksim,
Thanks for your quick and helpful answer!
Maya.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Maksim,
Thanks for the helpful answer,
Now I get the all Roles list.
More one little question, how can I marge the list.
Thanks ahead,
Maya.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Saravanan,
The thread which U attach speak about different problem,
My problem is that I don't get the results, the thread talk about retrieving the role information from the iterator.
Any one else have any idea?
Maya Shtibel.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Maksim,
Thanks for the quick answer,
I try to use your code, but for some reason it isn't working properly.
this row : <b>roles.searchRoles(filter) ;</b> return empty <b>ISearchResult</b>,
U have any suggestion why?
I even try to run the application from the portal to make sure that I have administrator premissions,
But this didn't help.
Thanke ahead,
Maya Shtibel.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Maya,
Try this:
IWDMessageManager messageManager = wdComponentAPI.getMessageManager();
try {
IRoleFactory roles = UMFactory.getRoleFactory();
IRoleSearchFilter filter = roles.getRoleSearchFilter();
filter.setUniqueName("*", ISearchAttribute.LIKE_OPERATOR, false);
ISearchResult sresult = roles.searchRoles(filter) ;
if ( sresult.getState() == ISearchResult.SEARCH_RESULT_OK ) {
while(sresult.hasNext()) {
String id = (String)sresult.next();
IRole role = roles.getRole(id);
messageManager.reportSuccess(role.getDisplayName());
}
}
} catch (Exception e) {
messageManager.reportException(new WDNonFatalException(e), false);
}
Best regards, Maksim Rashchynski.
Hi Maya,
Add "com.sap.security.api.jar" to your project`s java build path.
IRoleFactory roles = UMFactory.getRoleFactory();
IRoleSearchFilter filter = roles.getRoleSearchFilter();
filter.setUniqueName("*", ISearchAttribute.LIKE_OPERATOR, false);
ISearchResult sresult = roles.searchRoles(filter) ;
if ( sresult.getState() != ISearchResult.SEARCH_RESULT_OK ) {
ArrayList roels = new ArrayList( sresult.size() );
for ( final Iterator i = new PrincipalIterator(sresult); i.hasNext(); ) {
output.add( (IRole) i.next() );
}
}
Check https://media.sdn.sap.com/javadocs/NW04/SPS15/um/index.html
http://help.sap.com/saphelp_nw04s/helpdata/en/0f/807300c5754ed79107dcd9c2ae4ef4/content.htm
Best regards, Maksim Rashchynski.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
66 | |
10 | |
10 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.