Repository: incubator-ranger
Updated Branches:
  refs/heads/master 63c7893ae -> c50acc448


RANGER-352 : Add policy_type attribute and other changes to add id to objects

Signed-off-by: sneethiraj <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/c50acc44
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/c50acc44
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/c50acc44

Branch: refs/heads/master
Commit: c50acc4482f9dd7ac42f9350e1fc3899df5334a8
Parents: 63c7893
Author: Gautam Borad <[email protected]>
Authored: Wed Apr 8 11:41:58 2015 +0530
Committer: sneethiraj <[email protected]>
Committed: Wed Apr 8 02:32:07 2015 -0400

----------------------------------------------------------------------
 .../db/mysql/patches/009-updated_schema.sql     |  1 +
 .../db/oracle/patches/009-updated_schema.sql    |  1 +
 .../db/postgres/xa_core_db_postgres.sql         |  1 +
 .../db/sqlserver/xa_core_db_sqlserver.sql       |  1 +
 .../org/apache/ranger/biz/ServiceDBStore.java   | 17 +++---
 .../org/apache/ranger/entity/XXPolicyBase.java  | 28 ++++++++-
 .../ranger/service/RangerPolicyServiceBase.java |  2 +
 .../service/RangerServiceDefServiceBase.java    | 62 +++++++++++++++++---
 8 files changed, 97 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c50acc44/security-admin/db/mysql/patches/009-updated_schema.sql
----------------------------------------------------------------------
diff --git a/security-admin/db/mysql/patches/009-updated_schema.sql 
b/security-admin/db/mysql/patches/009-updated_schema.sql
index 5054d5d..a0d27e2 100644
--- a/security-admin/db/mysql/patches/009-updated_schema.sql
+++ b/security-admin/db/mysql/patches/009-updated_schema.sql
@@ -80,6 +80,7 @@ CREATE TABLE  `x_policy` (
 `version` bigint(20) DEFAULT NULL,
 `service` bigint(20) DEFAULT NULL,
 `name` varchar(512) DEFAULT NULL, 
+`policy_type` int(11) DEFAULT 0,
 `description` varchar(1024) DEFAULT NULL,
 `is_enabled` tinyint(1) NOT NULL DEFAULT '0',
 `is_audit_enabled` tinyint(1) NOT NULL DEFAULT '0',

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c50acc44/security-admin/db/oracle/patches/009-updated_schema.sql
----------------------------------------------------------------------
diff --git a/security-admin/db/oracle/patches/009-updated_schema.sql 
b/security-admin/db/oracle/patches/009-updated_schema.sql
index 5152570..c7c8493 100644
--- a/security-admin/db/oracle/patches/009-updated_schema.sql
+++ b/security-admin/db/oracle/patches/009-updated_schema.sql
@@ -85,6 +85,7 @@ upd_by_id NUMBER(20) DEFAULT NULL NULL,
 version NUMBER(20) DEFAULT NULL NULL,
 service NUMBER(20) DEFAULT NULL NULL,
 name VARCHAR(512) DEFAULT NULL NULL,
+policy_type NUMBER(11) DEFAULT '0' NULL,
 description VARCHAR(1024) DEFAULT NULL NULL,
 is_enabled NUMBER(1) DEFAULT '0' NOT NULL,
 is_audit_enabled NUMBER(1) DEFAULT '0' NOT NULL,

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c50acc44/security-admin/db/postgres/xa_core_db_postgres.sql
----------------------------------------------------------------------
diff --git a/security-admin/db/postgres/xa_core_db_postgres.sql 
b/security-admin/db/postgres/xa_core_db_postgres.sql
index 802ca4e..0e1f731 100644
--- a/security-admin/db/postgres/xa_core_db_postgres.sql
+++ b/security-admin/db/postgres/xa_core_db_postgres.sql
@@ -516,6 +516,7 @@ upd_by_id BIGINT DEFAULT NULL NULL,
 version BIGINT DEFAULT NULL NULL,
 service BIGINT DEFAULT NULL NULL,
 name VARCHAR(512) DEFAULT NULL NULL,
+policy_type int(11) DEFAULT 0 NULL,
 description VARCHAR(1024) DEFAULT NULL NULL,
 is_enabled BOOLEAN DEFAULT '0' NOT NULL,
 is_audit_enabled BOOLEAN DEFAULT '0' NOT NULL,

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c50acc44/security-admin/db/sqlserver/xa_core_db_sqlserver.sql
----------------------------------------------------------------------
diff --git a/security-admin/db/sqlserver/xa_core_db_sqlserver.sql 
b/security-admin/db/sqlserver/xa_core_db_sqlserver.sql
index 9486982..9bfe39f 100644
--- a/security-admin/db/sqlserver/xa_core_db_sqlserver.sql
+++ b/security-admin/db/sqlserver/xa_core_db_sqlserver.sql
@@ -1809,6 +1809,7 @@ CREATE TABLE [dbo].[x_policy] (
        [version] [bigint] DEFAULT NULL NULL,
        [service] [bigint] DEFAULT NULL NULL,
        [name] [varchar](512) DEFAULT NULL NULL, 
+       [policy_type] [int] DEFAULT 0 NULL,
        [description] [varchar](1024) DEFAULT NULL NULL,
        [is_enabled] [tinyint] DEFAULT 0 NOT NULL,
        [is_audit_enabled] [tinyint] DEFAULT 0 NOT NULL,

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c50acc44/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 2506d66..fd9c95b 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -250,7 +250,8 @@ public class ServiceDBStore extends AbstractServiceStore {
                XXServiceConfigDefDao xxServiceConfigDao = 
daoMgr.getXXServiceConfigDef();
                for(RangerServiceConfigDef config : configs) {
                        XXServiceConfigDef xConfig = new XXServiceConfigDef();
-                       xConfig = 
serviceDefService.populateRangerServiceConfigDefToXX(config, xConfig, 
createdSvcDef);
+                       xConfig = 
serviceDefService.populateRangerServiceConfigDefToXX(config, xConfig, 
createdSvcDef,
+                                       
RangerServiceDefService.OPERATION_CREATE_CONTEXT);
                        xConfig = xxServiceConfigDao.create(xConfig);
                }
                
@@ -260,7 +261,8 @@ public class ServiceDBStore extends AbstractServiceStore {
                        Long parentId = (parent != null) ? parent.getId() : 
null;
                        
                        XXResourceDef xResource = new XXResourceDef();
-                       xResource = 
serviceDefService.populateRangerResourceDefToXX(resource, xResource, 
createdSvcDef);
+                       xResource = 
serviceDefService.populateRangerResourceDefToXX(resource, xResource, 
createdSvcDef,
+                                       
RangerServiceDefService.OPERATION_CREATE_CONTEXT);
                        xResource.setParent(parentId);
                        xResource = xxResDefDao.create(xResource);
                }
@@ -268,7 +270,8 @@ public class ServiceDBStore extends AbstractServiceStore {
                XXAccessTypeDefDao xxATDDao = daoMgr.getXXAccessTypeDef();
                for(RangerAccessTypeDef accessType : accessTypes) {
                        XXAccessTypeDef xAccessType = new XXAccessTypeDef();
-                       xAccessType = 
serviceDefService.populateRangerAccessTypeDefToXX(accessType, xAccessType, 
createdSvcDef);
+                       xAccessType = 
serviceDefService.populateRangerAccessTypeDefToXX(accessType, xAccessType, 
createdSvcDef,
+                                       
RangerServiceDefService.OPERATION_CREATE_CONTEXT);
                        xAccessType = xxATDDao.create(xAccessType);
                        
                        Collection<String> impliedGrants = 
accessType.getImpliedGrants();
@@ -286,7 +289,7 @@ public class ServiceDBStore extends AbstractServiceStore {
                        XXPolicyConditionDef xPolicyCondition = new 
XXPolicyConditionDef();
                        xPolicyCondition = serviceDefService
                                        
.populateRangerPolicyConditionDefToXX(policyCondition,
-                                                       xPolicyCondition, 
createdSvcDef);
+                                                       xPolicyCondition, 
createdSvcDef, RangerServiceDefService.OPERATION_CREATE_CONTEXT);
                        xPolicyCondition = 
xxPolCondDao.create(xPolicyCondition);
                }
                
@@ -295,21 +298,21 @@ public class ServiceDBStore extends AbstractServiceStore {
                        XXContextEnricherDef xContextEnricher = new 
XXContextEnricherDef();
                        xContextEnricher = serviceDefService
                                        
.populateRangerContextEnricherDefToXX(contextEnricher,
-                                                       xContextEnricher, 
createdSvcDef);
+                                                       xContextEnricher, 
createdSvcDef, RangerServiceDefService.OPERATION_CREATE_CONTEXT);
                        xContextEnricher = 
xxContextEnricherDao.create(xContextEnricher);
                }
                
                XXEnumDefDao xxEnumDefDao = daoMgr.getXXEnumDef();
                for(RangerEnumDef vEnum : enums) {
                        XXEnumDef xEnum = new XXEnumDef();
-                       xEnum = 
serviceDefService.populateRangerEnumDefToXX(vEnum, xEnum, createdSvcDef);
+                       xEnum = 
serviceDefService.populateRangerEnumDefToXX(vEnum, xEnum, createdSvcDef, 
RangerServiceDefService.OPERATION_CREATE_CONTEXT);
                        xEnum = xxEnumDefDao.create(xEnum);
                        
                        List<RangerEnumElementDef> elements = 
vEnum.getElements();
                        XXEnumElementDefDao xxEnumEleDefDao = 
daoMgr.getXXEnumElementDef();
                        for(RangerEnumElementDef element : elements) {
                                XXEnumElementDef xElement = new 
XXEnumElementDef();
-                               xElement = 
serviceDefService.populateRangerEnumElementDefToXX(element, xElement, xEnum);
+                               xElement = 
serviceDefService.populateRangerEnumElementDefToXX(element, xElement, xEnum, 
RangerServiceDefService.OPERATION_CREATE_CONTEXT);
                                xElement = xxEnumEleDefDao.create(xElement);
                        }
                }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c50acc44/security-admin/src/main/java/org/apache/ranger/entity/XXPolicyBase.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/entity/XXPolicyBase.java 
b/security-admin/src/main/java/org/apache/ranger/entity/XXPolicyBase.java
index 7ee05c8..43d61ef 100644
--- a/security-admin/src/main/java/org/apache/ranger/entity/XXPolicyBase.java
+++ b/security-admin/src/main/java/org/apache/ranger/entity/XXPolicyBase.java
@@ -47,6 +47,15 @@ public abstract class XXPolicyBase extends XXDBBase {
        protected String name;
 
        /**
+        * policyType of the XXPolicy
+        * <ul>
+        * </ul>
+        *
+        */
+       @Column(name = "policy_type")
+       protected Integer policyType;
+
+       /**
         * description of the XXPolicy
         * <ul>
         * </ul>
@@ -208,6 +217,14 @@ public abstract class XXPolicyBase extends XXDBBase {
                return this.isAuditEnabled;
        }
 
+       public Integer getPolicyType() {
+               return policyType;
+       }
+
+       public void setPolicyType(Integer policyType) {
+               this.policyType = policyType;
+       }
+
        /*
         * (non-Javadoc)
         * 
@@ -269,6 +286,13 @@ public abstract class XXPolicyBase extends XXDBBase {
                } else if (!version.equals(other.version)) {
                        return false;
                }
+               if (policyType == null) {
+                       if (other.policyType != null) {
+                               return false;
+                       }
+               } else if (!policyType.equals(other.policyType)) {
+                       return false;
+               }
                return true;
        }
 
@@ -280,8 +304,8 @@ public abstract class XXPolicyBase extends XXDBBase {
        @Override
        public String toString() {
                return "XXPolicyBase [" + super.toString() + " guid=" + guid + 
", version=" + version + ", service=" + service
-                               + ", name=" + name + ", description=" + 
description + ", isEnabled=" + isEnabled + ", isAuditEnabled="
-                               + isAuditEnabled + "]";
+                               + ", name=" + name + ", policyType=" + 
policyType + ", description=" + description + ", isEnabled="
+                               + isEnabled + ", isAuditEnabled=" + 
isAuditEnabled + "]";
        }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c50acc44/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
index 290d85c..a89a988 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
@@ -83,6 +83,7 @@ public abstract class RangerPolicyServiceBase<T extends 
XXPolicyBase, V extends
                }
                xObj.setService(xService.getId());
                xObj.setName(vObj.getName());
+               xObj.setPolicyType(vObj.getPolicyType());
                xObj.setDescription(vObj.getDescription());
                xObj.setIsAuditEnabled(vObj.getIsAuditEnabled());
                xObj.setIsEnabled(vObj.getIsEnabled());
@@ -98,6 +99,7 @@ public abstract class RangerPolicyServiceBase<T extends 
XXPolicyBase, V extends
                vObj.setVersion(xObj.getVersion());
                vObj.setService(xService.getName());
                vObj.setName(xObj.getName());
+               vObj.setPolicyType(xObj.getPolicyType());
                vObj.setDescription(xObj.getDescription());
                vObj.setIsEnabled(xObj.getIsEnabled());
                vObj.setIsAuditEnabled(xObj.getIsAuditEnabled());

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c50acc44/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
index 044cf56..0c4f635 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
@@ -76,12 +76,17 @@ public abstract class RangerServiceDefServiceBase<T extends 
XXServiceDef, V exte
                return vObj;
        }
        
-       public XXServiceConfigDef 
populateRangerServiceConfigDefToXX(RangerServiceConfigDef vObj, 
XXServiceConfigDef xObj, XXServiceDef serviceDef) {
+       public XXServiceConfigDef 
populateRangerServiceConfigDefToXX(RangerServiceConfigDef vObj, 
XXServiceConfigDef xObj,
+                       XXServiceDef serviceDef, int operationContext) {
                if(serviceDef == null) {
                        
LOG.error("RangerServiceDefServiceBase.populateRangerServiceConfigDefToXX, 
serviceDef can not be null");
                        throw 
restErrorUtil.createRESTException("RangerServiceDef cannot be null.", 
MessageEnums.DATA_NOT_FOUND);
                }
                
+               if(operationContext == OPERATION_UPDATE_CONTEXT) {
+                       xObj.setId(vObj.getId());
+               }
+               
                xObj = (XXServiceConfigDef) 
rangerAuditFields.populateAuditFields(xObj, serviceDef);
                xObj.setDefid(serviceDef.getId());
                xObj.setName(vObj.getName());
@@ -103,6 +108,7 @@ public abstract class RangerServiceDefServiceBase<T extends 
XXServiceDef, V exte
 
        public RangerServiceConfigDef 
populateXXToRangerServiceConfigDef(XXServiceConfigDef xObj) {
                RangerServiceConfigDef vObj = new RangerServiceConfigDef();
+               vObj.setId(xObj.getId());
                vObj.setName(xObj.getName());
                vObj.setType(xObj.getType());
                vObj.setSubType(xObj.getSubtype());
@@ -119,11 +125,17 @@ public abstract class RangerServiceDefServiceBase<T 
extends XXServiceDef, V exte
                return vObj;
        }
        
-       public XXResourceDef populateRangerResourceDefToXX(RangerResourceDef 
vObj, XXResourceDef xObj, XXServiceDef serviceDef) {
+       public XXResourceDef populateRangerResourceDefToXX(RangerResourceDef 
vObj, XXResourceDef xObj,
+                       XXServiceDef serviceDef, int operationContext) {
                if(serviceDef == null) {
                        
LOG.error("RangerServiceDefServiceBase.populateRangerResourceDefToXX, 
serviceDef can not be null");
                        throw 
restErrorUtil.createRESTException("RangerServiceDef cannot be null.", 
MessageEnums.DATA_NOT_FOUND);
                }
+               
+               if(operationContext == OPERATION_UPDATE_CONTEXT) {
+                       xObj.setId(vObj.getId());
+               }
+               
                xObj = (XXResourceDef) 
rangerAuditFields.populateAuditFields(xObj, serviceDef);
                xObj.setDefid(serviceDef.getId());
                xObj.setName(vObj.getName());
@@ -149,6 +161,7 @@ public abstract class RangerServiceDefServiceBase<T extends 
XXServiceDef, V exte
        
        public RangerResourceDef populateXXToRangerResourceDef(XXResourceDef 
xObj) {
                RangerResourceDef vObj = new RangerResourceDef();
+               vObj.setId(xObj.getId());
                vObj.setName(xObj.getName());
                vObj.setType(xObj.getType());
                vObj.setLevel(xObj.getLevel());         
@@ -174,11 +187,17 @@ public abstract class RangerServiceDefServiceBase<T 
extends XXServiceDef, V exte
                return vObj;
        }
        
-       public XXAccessTypeDef 
populateRangerAccessTypeDefToXX(RangerAccessTypeDef vObj, XXAccessTypeDef xObj, 
XXServiceDef serviceDef) {
+       public XXAccessTypeDef 
populateRangerAccessTypeDefToXX(RangerAccessTypeDef vObj, XXAccessTypeDef xObj,
+                       XXServiceDef serviceDef, int operationContext) {
                if(serviceDef == null) {
                        
LOG.error("RangerServiceDefServiceBase.populateRangerAccessTypeDefToXX, 
serviceDef can not be null");
                        throw 
restErrorUtil.createRESTException("RangerServiceDef cannot be null.", 
MessageEnums.DATA_NOT_FOUND);
                }
+               
+               if(operationContext == OPERATION_UPDATE_CONTEXT) {
+                       xObj.setId(vObj.getId());
+               }
+               
                xObj = (XXAccessTypeDef) 
rangerAuditFields.populateAuditFields(xObj, serviceDef);
                xObj.setDefid(serviceDef.getId());
                xObj.setName(vObj.getName());
@@ -190,6 +209,7 @@ public abstract class RangerServiceDefServiceBase<T extends 
XXServiceDef, V exte
        
        public RangerAccessTypeDef 
populateXXToRangerAccessTypeDef(XXAccessTypeDef xObj) {
                RangerAccessTypeDef vObj = new RangerAccessTypeDef();
+               vObj.setId(xObj.getId());
                vObj.setName(xObj.getName());
                vObj.setLabel(xObj.getLabel());
                vObj.setRbKeyLabel(xObj.getRbkeylabel());
@@ -199,11 +219,17 @@ public abstract class RangerServiceDefServiceBase<T 
extends XXServiceDef, V exte
                return vObj;
        }
        
-       public XXPolicyConditionDef 
populateRangerPolicyConditionDefToXX(RangerPolicyConditionDef vObj, 
XXPolicyConditionDef xObj, XXServiceDef serviceDef) {
+       public XXPolicyConditionDef 
populateRangerPolicyConditionDefToXX(RangerPolicyConditionDef vObj,
+                       XXPolicyConditionDef xObj, XXServiceDef serviceDef, int 
operationContext) {
                if(serviceDef == null) {
                        
LOG.error("RangerServiceDefServiceBase.populateRangerPolicyConditionDefToXX, 
serviceDef can not be null");
                        throw 
restErrorUtil.createRESTException("RangerServiceDef cannot be null.", 
MessageEnums.DATA_NOT_FOUND);
                }
+               
+               if(operationContext == OPERATION_UPDATE_CONTEXT) {
+                       xObj.setId(vObj.getId());
+               }
+               
                xObj = (XXPolicyConditionDef) 
rangerAuditFields.populateAuditFields(xObj, serviceDef);
                xObj.setDefid(serviceDef.getId());
                xObj.setName(vObj.getName());
@@ -223,6 +249,7 @@ public abstract class RangerServiceDefServiceBase<T extends 
XXServiceDef, V exte
        
        public RangerPolicyConditionDef 
populateXXToRangerPolicyConditionDef(XXPolicyConditionDef xObj) {
                RangerPolicyConditionDef vObj = new RangerPolicyConditionDef();
+               vObj.setId(xObj.getId());
                vObj.setName(xObj.getName());
                vObj.setEvaluator(xObj.getEvaluator());
                
vObj.setEvaluatorOptions(jsonStringToMap(xObj.getEvaluatoroptions()));
@@ -237,11 +264,17 @@ public abstract class RangerServiceDefServiceBase<T 
extends XXServiceDef, V exte
                return vObj;
        }
        
-       public XXContextEnricherDef 
populateRangerContextEnricherDefToXX(RangerContextEnricherDef vObj, 
XXContextEnricherDef xObj, XXServiceDef serviceDef) {
+       public XXContextEnricherDef 
populateRangerContextEnricherDefToXX(RangerContextEnricherDef vObj,
+                       XXContextEnricherDef xObj, XXServiceDef serviceDef, int 
operationContext) {
                if(serviceDef == null) {
                        
LOG.error("RangerServiceDefServiceBase.populateRangerContextEnricherDefToXX, 
serviceDef can not be null");
                        throw 
restErrorUtil.createRESTException("RangerServiceDef cannot be null.", 
MessageEnums.DATA_NOT_FOUND);
                }
+               
+               if(operationContext == OPERATION_UPDATE_CONTEXT) {
+                       xObj.setId(vObj.getId());
+               }
+               
                xObj = (XXContextEnricherDef) 
rangerAuditFields.populateAuditFields(xObj, serviceDef);
                xObj.setDefid(serviceDef.getId());
                xObj.setName(vObj.getName());
@@ -253,17 +286,24 @@ public abstract class RangerServiceDefServiceBase<T 
extends XXServiceDef, V exte
        
        public RangerContextEnricherDef 
populateXXToRangerContextEnricherDef(XXContextEnricherDef xObj) {
                RangerContextEnricherDef vObj = new RangerContextEnricherDef();
+               vObj.setId(xObj.getId());
                vObj.setName(xObj.getName());
                vObj.setEnricher(xObj.getEnricher());
                
vObj.setEnricherOptions(jsonStringToMap(xObj.getEnricherOptions()));
                return vObj;
        }
        
-       public XXEnumDef populateRangerEnumDefToXX(RangerEnumDef vObj, 
XXEnumDef xObj, XXServiceDef serviceDef) {
+       public XXEnumDef populateRangerEnumDefToXX(RangerEnumDef vObj, 
XXEnumDef xObj, XXServiceDef serviceDef,
+                       int operationContext) {
                if(serviceDef == null) {
                        
LOG.error("RangerServiceDefServiceBase.populateRangerEnumDefToXX, serviceDef 
can not be null");
                        throw 
restErrorUtil.createRESTException("RangerServiceDef cannot be null.", 
MessageEnums.DATA_NOT_FOUND);
                }
+               
+               if(operationContext == OPERATION_UPDATE_CONTEXT) {
+                       xObj.setId(vObj.getId());
+               }
+               
                xObj = (XXEnumDef) rangerAuditFields.populateAuditFields(xObj, 
serviceDef);
                xObj.setDefid(serviceDef.getId());
                xObj.setName(vObj.getName());
@@ -273,6 +313,7 @@ public abstract class RangerServiceDefServiceBase<T extends 
XXServiceDef, V exte
        
        public RangerEnumDef populateXXToRangerEnumDef(XXEnumDef xObj) {
                RangerEnumDef vObj = new RangerEnumDef();
+               vObj.setId(xObj.getId());
                vObj.setName(xObj.getName());
                vObj.setDefaultIndex(xObj.getDefaultindex());
                
@@ -288,11 +329,17 @@ public abstract class RangerServiceDefServiceBase<T 
extends XXServiceDef, V exte
                return vObj;
        }
        
-       public XXEnumElementDef 
populateRangerEnumElementDefToXX(RangerEnumElementDef vObj, XXEnumElementDef 
xObj, XXEnumDef enumDef) {
+       public XXEnumElementDef 
populateRangerEnumElementDefToXX(RangerEnumElementDef vObj, XXEnumElementDef 
xObj,
+                       XXEnumDef enumDef, int operationContext) {
                if(enumDef == null) {
                        
LOG.error("RangerServiceDefServiceBase.populateRangerEnumElementDefToXX, 
enumDef can not be null");
                        throw restErrorUtil.createRESTException("enumDef cannot 
be null.", MessageEnums.DATA_NOT_FOUND);
                }
+               
+               if(operationContext == OPERATION_UPDATE_CONTEXT) {
+                       xObj.setId(vObj.getId());
+               }
+               
                xObj = (XXEnumElementDef) 
rangerAuditFields.populateAuditFields(xObj, enumDef);
                xObj.setEnumdefid(enumDef.getId());
                xObj.setName(vObj.getName());
@@ -304,6 +351,7 @@ public abstract class RangerServiceDefServiceBase<T extends 
XXServiceDef, V exte
        
        public RangerEnumElementDef 
populateXXToRangerEnumElementDef(XXEnumElementDef xObj) {
                RangerEnumElementDef vObj = new RangerEnumElementDef();
+               vObj.setId(xObj.getId());
                vObj.setName(xObj.getName());
                vObj.setLabel(xObj.getLabel());
                vObj.setRbKeyLabel(xObj.getRbkeylabel());

Reply via email to