Getting the values for the attributes of the user in IOM

Hello

I have it here is the snippet of code that retrieves the values for all the attributes user OIM 11g. But this code returns the exception of null pointer for attributes with null values. I also put if condition to check for null pointer exception, but always the null value is thrown in the newspapers whenever this code snippet is executed in the event handler.

Any thoughts?

private Map getUser(String userKey) {
  Map users = new HashMap();
  User user = null;
  UserManager userManager = (UserManager) Platform
  .getService(UserManager.class);
  try {
  user = userManager.getDetails(userKey, null, false);
  logger.log(ODLLevel.FINE, "User: {0}",new Object[] { user });

  } catch (NoSuchUserException e) {
  logger.log(ODLLevel.ERROR, e.getMessage(), e);
  } catch (UserLookupException e) {
  logger.log(ODLLevel.ERROR, e.getMessage(), e);
  }
  Set AttrNames = user.getAttributeNames();
  logger.log(ODLLevel.FINE, "User Attributes: {0}",new Object[] { AttrNames });

  Iterator itr = AttrNames.iterator();
  while (itr.hasNext()) {
  try {
  String AttrNAme = itr.next().toString();
  logger.log(ODLLevel.FINE,"Current Attribute is : {0}::",new Object[]{AttrNAme});
  if( user.getAttribute(AttrNAme).toString()!=null && user.getAttribute(AttrNAme).toString().length()!=0){
  String AttrValue = user.getAttribute(AttrNAme).toString();
  logger.log(ODLLevel.FINE,"Attribute: {0} and Value: {1}",new Object[]{AttrNAme,AttrValue});
  users.put(AttrNAme, AttrValue);
  }
  } catch (Exception e) {
  logger.log(ODLLevel.ERROR, e.getMessage(), e);
  }
  }
  return users;
  }

TIA

A call to ToString on null will give you the exception. You should check that the value is not null before calling toString() on it.

In addition, you must perform an additional control on the user object that you receive after your try catch block. If the user object is null, then there is no need to run code on the user object.

Tags: Fusion Middleware

Similar Questions

  • Where can I get the user manual for the xi of acrobat from adobe pro

    Where can I get the user manual for the xi of acrobat from adobe pro

    You can find a PDF of the manual XI Acrobat here: http://helpx.adobe.com/en/pdf/acrobat_reference.pdf

  • If I get the user to select a location in a drop-down box

    If I get the user to select a location from a drop-down list (Atlanta, Orlando, 14 sites in total, etc.), then I want to write the address of this place in a text field which is the best way to do it I tried several if statements and did not get good results. any suggestions?

    Here is the code I use... It retrieves the value of Location_1, and then returns the address

    var Location = this.getField("Location_1").value

    If (Location = "Atlanta") {}

    Event.Value = "Barnes HC - Atlanta \n 2030 Powers Ferry Rd Atlanta, GA 30339-5016 \n \n 678-627-0077 \n";

    }

    If (Location = "Birmingham") {}

    Event.Value = "Barnes HC - \n \n 120 Oxmoor Blvd Homewood Birmingham, AL; \n \n 35209-0000 205-667-9193 \n ";

    }

    If (Location = "Crestview") {}

    Event.Value = "HC - 2207 Crestview\n Barnes S Ferdon Blvd\n Crestview, FL\n 32539-8458\n 850-683-0888\n O2 Lic # ';"

    }

    If (Location = "Dothan") {}

    Event.Value = "Barnes HC - Dothan\n 3236 West Main St, Suite 1 & Dothan, AL\n 36301-4130\n 334-671-1027\n 2\n";

    }

    If (Location = "Gainesville") {}

    Event.Value = "Barnes HC - Gainesville 1700 NW 80th Blvd. \n Gainesville, FL 32606-9177 \n \n 800-825-1733 \n O2 Lic #"; "

    }

    If (Location = "Jacksonville") {}

    Event.Value = "Barnes HC - 3728 Philips Highway, Suite Jacksonville\n 32\nJacksonville, FL\n 32207-6840\n 904-301-1050\n O2 Lic #";

    }

    If (Location = 'Panama City') {}

    Event.Value = "Barnes HC - 2425 City\n Panama Martin Luther King Jr\n Panama City, FL\n 32405\n 800-434-0822\n O2 Lic # ';"

    }

    If (location = "Tallahassee") {}

    Event.Value = "Barnes HC - Tallahassee\n 2524 Cathay Court\n Tallahassee, FL\n 32308-4248\n 800-464-8455\n O2 Lic #";

    }

    If (Location = 'Tampa') {}

    Event.Value = "Barnes HC - Tampa\n 5483 waters Ave, Suite 1200 N\n Tampa, FL\n 33634 813-888-7607\n 1205\n O2 Lic # ';"

    }

    If (Location = "Tifton") {}

    Event.Value = "GA\n HC - Tifton\n 2201 US Hwy 41 N unit K\n Tifton, Barnes 31794 - 2754\n 866-876-9114\n."

    }

    If (Location = "Valdosta") {}

    Event.Value = "Barnes HC - Valdosta\n 200 S Patterson St\nValdosta, GA\n 31601-5621\n 800-422-5059\n";

    }

    If (Location = 'Waycross') {}

    Event.Value = "Barnes HC - Waycross\n 2875 Knight Ave\n Waycross, GA\n 31501\n 866-284-9190 \n";

    }

    currently I have this under the field Calcualation of the text box, I want it written on. Is there a way to better / easier to do this?

    I need to write the field like this:

    Barnes, HC - name of the location

    Address 1

    Address 2

    City, State Zip

    Phone

    O2 Lic. #

    Sorry, it's so long. Thanks for any help.

    SOLVED used if (location is "Locationname") instead of a single "="

  • Lets get the user name in the workspace of BPM ADF Managed Bean

    Hi all

    I used JSF, and ADF to build the user interface for the task. And I want to get the user name of the user who is handling on workspace of BPM. For example, an ADF form may display the username of the current user in the workspace of BPM. I also try this approach: use handle Bean and bind this bean to a text output in the form of the ADF. The code fragment that I use to get the current user name is:
    ADFContext.getCurrent () .getSecurityContext () .getUserPrincipal () .getName ();

    But it does not work. The value I get is anonymous.

    So, please help me solve this problem

    Hello, please try this feature as below:

    public String getUserLogin() get WorkflowException,
    BPMIdentityException,
    {BPMUnsupportedAttributeException}
    String userId = "";
    IWorkflowServiceClient wfSvcClient;
    ITaskQueryService queryService.
    IWorkflowContext wfContext;

    Get the username of the user login
    String contextStr = ADFWorklistBeanUtil.getWorklistContextId ();
    wfSvcClient = WorkflowService.getWorkflowServiceClient ();
    queryService = wfSvcClient.getTaskQueryService ();
    wfContext = queryService.getWorkflowContext (contextStr);
    userId = wfContext.getUser ();

    Returns the user name;
    }

    Kind regards.

  • Get the user name in the select LOV

    Hello!

    I wonder if its possible to get the user name of the currently logged in user and pass it as a variable in a select statement used in a dynamic LOV in Oracle AS Portal?

    What I'm trying to do is pull all values in a table that corresponds to the current name of user to user on a portal report

    (as an approximate example)

    Select the color from mytable where username = 'whatever is the user name would be here. "

    And then the current user would get a list of values to select based on the values entered in this table.

    The issue I'm having is determine how to complete part "regardless of the user name is would be here" with the actual recorded in user name (or even if its possible). I know that on the portal, we can do #USER. FULLNAME # to display their username, is there a similar "variable", can be used to get the user name for a call to sql LOV?

    I can make it work if I statically resolve the user name to a particular value (ex: where username = "Joe.Hacker"), but I'm not sure if theres value a variable or a bind (for lack of better term) to enter the name of the user on the fly... dynamically.

    Portal.wwctx_api.get_User can be used in your report of Portal SQL query to get the user_name of the currently connected user portal. For more information about wwctx_api, see 10.1.2 portal API documentation or 10.1.4 at http://www.oracle.com/technology/products/ias/portal/html/plsqldoc/pldoc1012/index.html or http://www.oracle.com/technology/products/ias/portal/html/plsqldoc/pldoc1014/index.html

  • How to get the user name during the execution of a workflow?

    Here's what I would do:

    Say that each user is allowed to have 4 instances QA, create a workflow when a user run from vCenter plugin, it must be able to get the user name of the SSO user jsmith, and then he questions if there is an existing virtual machine jsmith_qa1, jsmith_qa2,jsmith_qa4, etc., if there isn't one, then create one for him; If not, indicate to the user that there are already 4 cases.

    I found that I can use getCurrentLdapUser to get [email protected] , now I want to remove the domain.name (there are several areas):

    username = actionResult.userPrincipalName.replace ("@[a - z].") +","");

    This does not work. Anyone know where I can find the right document for the document script of vRealize Orchestrator?

    Thank you!

    Jack

    vRO uses javascript as its scripting engine.

    UPN var = actionResult.userPrincipalName;

    var username = upn.substring (0, upn.indexOf("@"));

    Something like this will give what you want. You could also do a replacement, but I think that you should remove the quotes around the regex and use "/" instead.

    username = actionResult.userPrincipalName.replace (/ @[a - z] "+ /," "");

    Paul

  • How to get the user input to dynamic Action confirmation message?

    Hi guys,.

    I use apex 4.1.

    I added a page dynamic Action confirmation message box. How can I get the user input to the confirmation pop up?

    Thank you

    Hello

    you do not directly get user input. But you should still be able to get what you want. Suppose you have a dynamic action which fires for a 'change' (or other) and who has two or more actions

    (1) confirm
    (2) execute the PL/SQL Code

    If the user clicks Cancel/no in the confirm dialog box, APEX stops execution of this dynamic action and not run "run the Code in PL/SQL.

    Hope that helps
    Patrick
    -----------
    My Blog: http://www.inside-oracle-apex.com
    APEX Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • Dreamweaver connection "How can I get the user name to the other page?

    im a beginner in Dreamweaver CS4 and I'm learning to just watch the tutorial videos...

    I have a big problem...

    ADWCS4 is easy to make a login form...


    for these tutorials I watch I have not meet how to get the user to another page name which connect...

    I'm using PHP

    hope you can answer my question

    http://forums.Adobe.com/thread/417437

  • Get the user logged in PL/SQL

    Hi, I need to get the user name of the user currently connected to the database in PL/SQL.

    I discovered that this can be done by using the following statement:
    select USERNAME into user from v$session where audsid = sys_context('userenv','sessionid');
    The problem is that the above statement will work for a user with privileges higher (if I run it with a user at a disadvantage, I get a table or view is no mistake) and I need to do for any user.

    How can I do this?

    Thank you
    Komyg

    deleted duplicate caused by an error in the forum

    Published by: BluShadow on November 21, 2008 14:01

  • When I go to a favorite websight how can I get the user id and the password to open the view without having to put in me? Barry was soon

    When I go to a favorite websight how can I get the user id and the password to open the view without having to put in me? Barry was soon

    Hi Barry,.

    Please contact Microsoft Community.

    It would be great if you can answer the following question:

    What browser you use on the computer?

    If you are using Internet explorer, I suggest you to follow these steps to turn on the AutoComplete feature and check if it helps:

    (a) open Internet Explorer.

    (b) click on the Tools button and then click on Internet Options.

    (c) click on the content tab.

    (d) under AutoComplete , click settings.

    (e) check the address bar, Forms, usernames and passwords on formsand ask me before saving passwords check boxes.

    (f) click OKand then click OK again.

    Let us know if this can help, and if you need further assistance.

  • How can I get the user name (the user who has registered their own personalized interactive report) in the application

    Hello

    I want to get the user name. Who saved their own custom application of the Apex report.

    If someone could please help to get user names.

    Thanks in advance.

    Kind regards

    Cyril S

    A possible source: see in the following metadata table: apex_application_page_Ir_rpt

    You will need the id of the application, the page id and the id of the report to the information, which is located in the application_user column...

    Thank you

    Tony Miller
    Software LuvMuffin
    Ruckersville, WILL

  • [MAF] How to get the user name and password after login?

    Hi Experts,

    I have a call to REST where it requires identification information of the user (uname and password) to identify the data that belongs to who.

    Authentication has been made with OAuth.

    I believe that there is an API to get the user name and password in the CRG

    See you soon,.

    Hendry

    Hello.

    You don't need to manipulate the credentials yourself in code. MAF will propagate the logon cookie or inject the identification information in the HTTP header if cookies are not supported.

    To do this, you must select the purchase option of cookie from the server connection Include in REST in the dialog box create a connection Login MAF , such as discussed here:

    http://docs.Oracle.com/middleware/maf210/mobile/develop/MAF-securing.htm#ADFMF23732

    In addition, you must attach the policy of security appropriate to the connection, as explained here:

    http://docs.Oracle.com/middleware/maf210/mobile/develop/MAF-Web-services.htm#ADFMF23697

    Best regards

    Frédéric Desbiens

    Senior Product Manager

    Mobility and Cloud oracle

    Twitter: @BlueberryCoder

    blog: http://blogs.oracle.com/blueberry

  • Get the user name of the user of the system

    Hello world

    I am new to adobe flash. How can I get the user name of the user of system and display on the flash application.

    I would also like to know if it is possible to import libraries that are on Adobe air apps in Adobe flash.

    Thank you very much

    you have very little access to information on the system and no access to system user.  check the class features to see the available information.

  • How to get previous value of an attribute in the VOImpl file?

    Hi all
    I want to compare if the current value of the attribute VO A1 is equal to the previous value of the A1 when the value of this attribute A1 gets changed, how to get the previous value of the A1?
    I know that in the VORowImpl file I can use this.getA1 () which returns me the current value of the A1, but I don't know how me may return the previous value?

    Appreciate your help in advance!
    Thank you
    Yvette

    getPostedAttribute the value of the attribute as it was queried from the database.
    Here is an example written in EmployeesImpl

        /**
         * Sets value as the attribute value for Salary.
         * @param value value to set the Salary
         */
        public void setSalary(BigDecimal value) {
            Object attribute = getPostedAttribute((EmployeesImpl.SALARY));
            if(attribute!=null)
                System.out.println("Attribite value " + attribute); //this will give you the value as it was in the data base before you modified it.
            else
                System.out.println("attribute value is null");
            setAttributeInternal(SALARY, value);
        }
    
  • Simulator Device.xml file has a tag with an attribute of memory, what are the optional values for this attribute of the os?

    In the Device.xml file, it starts with the tags of the os. Each os has a memory attribute. What are the optional values for the attribute memory?

    Can we really control the memory for the simulators?

    0x85000F03
    0x8C000F03
    0x87000F03
    0x84001503
    0x86001503
    0x04001507
    0x0F001507
    0x0C001404
    0x0D001404
    0x0E001404
    0x0D000D04
    0x16000D04
    0x05001504
    0x07001504
    

    These values refer to specific hardware configurations are simulated.  They should not be changed.

Maybe you are looking for