diff --git a/components/device-mgt/io.entgra.device.mgt.core.device.mgt.core/src/main/java/io/entgra/device/mgt/core/device/mgt/core/service/GroupManagementProviderServiceImpl.java b/components/device-mgt/io.entgra.device.mgt.core.device.mgt.core/src/main/java/io/entgra/device/mgt/core/device/mgt/core/service/GroupManagementProviderServiceImpl.java index 0a5782ffed..30809064af 100644 --- a/components/device-mgt/io.entgra.device.mgt.core.device.mgt.core/src/main/java/io/entgra/device/mgt/core/device/mgt/core/service/GroupManagementProviderServiceImpl.java +++ b/components/device-mgt/io.entgra.device.mgt.core.device.mgt.core/src/main/java/io/entgra/device/mgt/core/device/mgt/core/service/GroupManagementProviderServiceImpl.java @@ -660,8 +660,12 @@ public class GroupManagementProviderServiceImpl implements GroupManagementProvid private DeviceGroup findGroupFromTree(List tree, int groupId) { for (DeviceGroup node: tree) { if (node.getGroupId() == groupId) return node; - if (node.getChildrenGroups() != null) - return findGroupFromTree(node.getChildrenGroups(), groupId); + if (node.getChildrenGroups() != null) { + DeviceGroup tempNode = findGroupFromTree(node.getChildrenGroups(), groupId); + if (tempNode != null) { + return tempNode; + } + } } return null; } @@ -669,7 +673,7 @@ public class GroupManagementProviderServiceImpl implements GroupManagementProvid @Override public DeviceGroup getUserOwnGroup(int groupId, boolean requireGroupProps, int depth) throws GroupManagementException { PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - String username = ctx.getUsername(); + String username = ctx.getUsername() + "@" + ctx.getTenantDomain(true); int tenantId = ctx.getTenantId(); List userOwnGroupIds = this.getGroupIds(username); if (userOwnGroupIds == null) {