Hello Experts and Community,
Based on the images, I am able to retrieve the list of identities belonging to specific Applications which is hard coded. Is there a way to retrieve all identities belonging to all Applications in the IdentityIQ portal as I have more than 10 Applications?
Rather than querying for Link objects and resolving the Identity from the Link, a more efficient approach would be to use the links.application
or links.application.name
filter for Identity objects.
import sailpoint.api.IncrementalObjectIterator;
...
Filter idtLinks = Filter.eq("links.application", app);
...
Iterator it = new IncrementalObjectIterator(context, Identity.class, qo);
If you need to do this for multiple applications, you would do a pre-search on the applications and loop through the Identity search for each application. If you do this, be mindful of memory usage and decache periodically.
Hello Brian,
If Iām not wrong, the solution you provided should be:
Iterator it = new IncrementalObjectIterator(context, Identity.class, idtLinks); right?
After trying your method, I received this error:
Exception running rule: BeanShell script error: bsh.EvalError: Sourced file: inline evaluation of: import java.util.*; import sailpoint.object.*; import sailpoint.object.Id . . . '' : Typed variable declaration : Constructor error: Can't find constructor: sailpoint.api.IncrementalObjectIterator(sailpoint.server.InternalContext, java.lang.Class, sailpoint.object.Filter$LeafFilter) in class: sailpoint.api.IncrementalObjectIterator : at Line: 31 : in file: inline evaluation of:
import java.util.; import sailpoint.object.; import sailpoint.object.Id . . . āā : new IncrementalObjectIterator ( context , Identity .class , idtLinks )
BSF info: Test Inactive at line: 0 column: columnNo
Which I think is pointing towards IncrementalObjectIterator method
Apologies, I should have clarified that the 3rd argument in that method. Here is the constructor:
new IncrementalObjectIterator(SailPointContext context, java.lang.Class<T> cls, QueryOptions options)
Hello Brian,
In fact i received a new error I checked the spacing but no issue. Not sure if i did correctly as you told.
Exception running rule: BeanShell script error: bsh.ParseException: Parse error at line 30, column 64. Encountered: context BSF info: Test Inactive at line: 0 column: columnNo
The line 30 is pointing towards around line 72 and 73 of the code I shown in the image.