RoleDefGenerator Fails with NullPointerException in IMObjectGenerator.determineAttributeStyle
search cancel

RoleDefGenerator Fails with NullPointerException in IMObjectGenerator.determineAttributeStyle

book

Article ID: 122164

calendar_today

Updated On:

Products

CA Identity Manager CA Identity Governance CA Identity Portal

Issue/Introduction

When running the RoleDefGenerator utility for a dynamic connector created using Connector Xpress, the process fails with a java.lang.NullPointerException

D:\Program Files (x86)\CA\Identity Manager\IAM Suite\Identity Manager\tools\RoleDefinitionGenerator\bin> RoleDefGenerator.bat -d IM -h XXX -u etaadmin -n "Sybase ASE"

Exception Stack Trace or error:

Created folder D:\Program Files (x86)\CA\Identity Manager\IAM Suite\Identity Manager\tools\RoleDefinitionGenerator\bin\.\META-INF
Obtaining metadata doc...
Preparing data model...
Generating IM_FrameworkXml
Generating IM_ManagedObjectXml
Generating IM_ResourceBundle
Generating IM_JIAMToIMMappingXml
generateRoleDef called for IM_AccountManagementRoleDefXml
Generating search and list screens...
Generating account screens...
Generating account template screens...
java.lang.NullPointerException at com.ca.iam.roledefgen.IMObjectGenerator.determineAttributeStyle(IMObjectGenerator.java:4965)

Environment

Identity Manager v14.5, v15

Cause

The NullPointerException occurs because the metadata definitions are missing the expected Account Container class named eTDYNAccountContainer.

When the metadata specifies a container named with a generic identifier (e.g., eTDYNContainer001) instead of eTDYNAccountContainer, the RoleDefGenerator fails to locate the expected attribute mapping during screen generation.

Resolution

To resolve this issue, update the metadata definitions in Connector Xpress to include the expected container class name:

  1. Open Connector Xpress and load the dynamic connector project.

  2. Add a new container named Account Container that handles the User Account contained class.

  3. Deploy the updated metadata to the Provisioning Server.

  4. Open the connector metadata editor:

    • Locate the newly created container class (generated by default as eTDYNContainer001).

    • Rename the class from eTDYNContainer001 to eTDYNAccountContainer.

  5. Save and redeploy the metadata.

  6. Rerun the RoleDefGenerator command.