This is an automated email from the ASF dual-hosted git repository.
madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 189b8312f RANGER-5392: policies created by grant command have empty
'created by' and 'updated by' fields (#726)
189b8312f is described below
commit 189b8312f6ea24085ff71526e68d3a3163c6468c
Author: Sanket-Shelar <[email protected]>
AuthorDate: Mon Dec 1 09:48:16 2025 +0530
RANGER-5392: policies created by grant command have empty 'created by' and
'updated by' fields (#726)
---
.../apache/ranger/service/RangerBaseModelService.java | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git
a/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
b/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
index 0484979d7..78e037bee 100755
---
a/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
+++
b/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
@@ -50,6 +50,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
public abstract class RangerBaseModelService<T extends XXDBBase, V extends
RangerBaseModelObject> {
private static final Logger LOG =
LoggerFactory.getLogger(RangerBaseModelService.class);
@@ -314,9 +315,18 @@ protected V populateViewBean(T entityObj) {
protected T populateEntityBeanForCreate(T entityObj, V vObj) {
if (!populateExistingBaseFields) {
+ Long addedByUserId = ContextUtil.getCurrentUserId();
+
+ if (addedByUserId == null) {
+ XXPortalUser createdByUser =
daoMgr.getXXPortalUser().findByLoginId(vObj.getCreatedBy());
+
+ if (createdByUser != null) {
+ addedByUserId = createdByUser.getId();
+ }
+ }
entityObj.setCreateTime(DateUtil.getUTCDate());
entityObj.setUpdateTime(entityObj.getCreateTime());
- entityObj.setAddedByUserId(ContextUtil.getCurrentUserId());
+ entityObj.setAddedByUserId(addedByUserId);
entityObj.setUpdatedByUserId(entityObj.getAddedByUserId());
} else {
XXPortalUser createdByUser =
daoMgr.getXXPortalUser().findByLoginId(vObj.getCreatedBy());
@@ -348,8 +358,11 @@ protected T populateEntityBeanForUpdate(T entityObj, V
vObj) {
}
if (!populateExistingBaseFields) {
+ Long currentUserId = ContextUtil.getCurrentUserId();
ret.setUpdateTime(DateUtil.getUTCDate());
- ret.setUpdatedByUserId(ContextUtil.getCurrentUserId());
+ if (Objects.nonNull(currentUserId)) {
+ ret.setUpdatedByUserId(currentUserId);
+ }
}
return ret;