diff --git a/actors/sunbird-lms-mw/actors/user/src/main/java/org/sunbird/user/service/impl/UserRoleServiceImpl.java b/actors/sunbird-lms-mw/actors/user/src/main/java/org/sunbird/user/service/impl/UserRoleServiceImpl.java index 8993806f9cdfba85d104c2efc9d3d6cdbc12475c..5e5f70ce2d4838dad160482d781a305b8b715856 100644 --- a/actors/sunbird-lms-mw/actors/user/src/main/java/org/sunbird/user/service/impl/UserRoleServiceImpl.java +++ b/actors/sunbird-lms-mw/actors/user/src/main/java/org/sunbird/user/service/impl/UserRoleServiceImpl.java @@ -10,6 +10,7 @@ import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.SerializationUtils; import org.apache.commons.lang3.StringUtils; import org.sunbird.exception.ProjectCommonException; import org.sunbird.exception.ResponseCode; @@ -47,8 +48,10 @@ public class UserRoleServiceImpl implements UserRoleService { userRequest, dbUserRoleListToUpdate, dbUserRoleListToDelete, context); // Update existing role scope, if same role is in request if (CollectionUtils.isNotEmpty(dbUserRoleListToUpdate)) { + List<Map<String, Object>> newUserReqMap = + SerializationUtils.clone(new ArrayList<>(dbUserRoleListToUpdate)); + userRoleListResponse.addAll(newUserReqMap); userRoleDao.updateRoleScope(dbUserRoleListToUpdate, context); - userRoleListResponse.addAll(dbUserRoleListToUpdate); } // Delete existing roles of user, if the same is not in request if (CollectionUtils.isNotEmpty(dbUserRoleListToDelete)) {