This is an automated email from the ASF dual-hosted git repository.
madhan pushed a commit to branch ranger-2.8
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/ranger-2.8 by this push:
new b9e75bd25 RANGER-5392: policies created by grant command have empty
'created by' and 'updated by' fields (#726)
b9e75bd25 is described below
commit b9e75bd25afb30c660f88d7f95498a344049b895
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)
(cherry picked from commit 189b8312f6ea24085ff71526e68d3a3163c6468c)
---
.../ranger/service/RangerBaseModelService.java | 20 ++++++++++++++++++--
1 file changed, 18 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 4128d70df..d6238e46a 100644
---
a/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
+++
b/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
@@ -22,6 +22,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
import javax.persistence.EntityManager;
import javax.persistence.Query;
@@ -161,9 +162,19 @@ 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 if(populateExistingBaseFields) {
XXPortalUser createdByUser =
daoMgr.getXXPortalUser().findByLoginId(vObj.getCreatedBy());
@@ -197,8 +208,13 @@ 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;