The following Rhino is used in the deploymentXpress to get the ManagerID based in the ManagerEmployeeNumber
function handleValidation(BlthContext, errorMsg){
importPackage(Packages.java.util);
// Packages for: Query opid existance against BlackList table
importPackage(Packages.com.netegrity.llsdk6.imsapi.policy.rule.constraints);
importPackage(Packages.com.netegrity.llsdk6.imsapi.type);
importPackage(Packages.javax.naming);
importPackage(Packages.javax.sql);
importPackage(Packages.java.sql);
importClass(Packages.java.util.Properties);
importClass(Packages.javax.naming.Context);
importClass(Packages.javax.naming.directory.DirContext);
importClass(Packages.javax.naming.directory.InitialDirContext);
importClass(Packages.javax.naming.directory.SearchControls);
importClass(Packages.javax.naming.NamingEnumeration);
// Packages for: Return message to screen
importClass(Packages.com.netegrity.ims.exception.IMSException);
importClass(Packages.com.netegrity.ims.tabhandlers.ProcessStep);
importClass(Packages.com.netegrity.ims.tabhandlers.ErrorLevel);
importClass(Packages.com.netegrity.ims.IMSEvent);
//1. Get the User's ManagerDN by the given managerEmployeeNumber
//2. Set it in the user's "manager" field:
var managerEmpNumber = "%MANAGER_EMPLOYEE_NUMBER%";
var user = BlthContext.getUser();
var managerEmpNumber = user.getAttribute(managerEmpNumber);
var userProvider = BlthContext.getUserProvider();
var filterExpression = new AttributeExpression("EmployeeNumber", OperatorType.EQUALS, managerEmpNumber);
var userFilter = new UserFilter(filterExpression);
var usersVector = userProvider.findUsers(userFilter, null, null);
if(managerEmpNumber == "" || managerEmpNumber == null){
return true
}else{
if (usersVector.size() != 1){
BlthContext.logWarningMessage("### CA: Found " + usersVector.size() + " managers for the current filter (EmployeeNumber=" + managerEmpNumber + ")... aborting ===", false);
//Cancel the operation
var error_message = "Manager Employee Number: ("+managerEmpNumber+") does not exist!";
var imsx = new IMSException();
imsx.addUserMessage(error_message);
BlthContext.addMessageObject(error_message,"OPIDBLTH", ProcessStep.DATAVALIDATE, ErrorLevel.ERROR);
} else {
//var managerDn = usersVector.get(0).getUniqueName();
var managerUID = usersVector.get(0).getFriendlyName();
BlthContext.logWarningMessage("=== CA: managerUID: " + managerUID + " ===", false);
user.setAttribute("imManagerId", managerUID);
}
BlthContext.logWarningMessage("### CA ======= End BLTH ", false);
return true;
}
}