In TeamDynamixTargetDao.java:451, the retrieveGroup method checks for "Id":
if (StringUtils.equals("Id", targetDaoRetrieveGroupRequest.getSearchAttribute())) {
But everywhere else in the provisioner, lowercase "id" is used for groups:
- TeamDynamixProvisioningConfigurationValidation.java:18: required attributes include "id"
- TeamDynamixProvisioningStartWith.java:72: targetGroupAttribute...name = "id"
- TeamDynamixProvisioningStartWith.java:106: groupAttributeValueCache uses "id"
- TeamDynamixProvisioningStartWith.java:117: groupMatchingAttribute1name = "id"
So when the provisioning framework sends a search attribute of "id" (lowercase), the DAO won't match on line 451, falls through to the else on line 461, and throws:
RuntimeException("Not expecting search attribute 'id'")
This means group retrieval by id is broken. Line 451 should be "id" to match the rest of the codebase. (Note the entity side at line 413 correctly uses lowercase "id".)