Report Browser does not respond instead of Error Handling
The browser is unresponsive when the Pega Report Browser fails to execute a report. This occurs when an Association class' Attribute-based access control (ABAC) policy prevents the access to one of the classes in the Association.
Exception printed in logs,
com.pega.pegarules.pub.clipboard.InvalidParameterException: cannot be null. page: Tmp7B5F617FC4911FCA3D4D. Details: Invalid value for aMsgDescr passed to com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.addMessage(String)
Steps to Reproduce
- Create two classes (for example, class A and class B).
- Create an Association rule X in class A that joins class B.
- Provide an operator ABAC access to class A but not to class B.
- Create a report in the Report Browser for class A.
- On the Data Explorer (left pane) click the All Matches tab.
- Click the '+More' icon. The Association X displays in the property tree in the Report Browser for class A.
- Drag a property from the Association rule to the columns section in the Report Browser.
A defect in Pegasystems’ code or rules.
When the Access Control Policy condition has the 'Any Of' or 'All Of' relationship, and the policy conditions start with a 'Is Null' or 'Is not Null' relationship, the SecurityPolicyUtils.getPolicyMetadataList API displays incorrect metadata about 'AnyOf' or 'AllOf' relationships. As a result, NullPointerException (NPE) occurs during a save, execution of the report definition, or drag and drop of the properties in the Report Browser.
Perform the following local-change:
- Change the order of the Policy conditions.
- Set all the Policy conditions with 'Is Null' or 'Is Not Null' relationship.