Repository: incubator-ranger Updated Branches: refs/heads/master 20baa3f88 -> 82960509b
Ranger-427:UserSync Process didn't sync the group when groups are added to the user at later time Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/c8376979 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/c8376979 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/c8376979 Branch: refs/heads/master Commit: c8376979a73712a8b09410e16bba24cc513a1f6b Parents: 168c135 Author: rmani <[email protected]> Authored: Fri Apr 24 11:44:19 2015 -0700 Committer: rmani <[email protected]> Committed: Fri Apr 24 11:44:19 2015 -0700 ---------------------------------------------------------------------- .../process/PolicyMgrUserGroupBuilder.java | 24 ++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/c8376979/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java ---------------------------------------------------------------------- diff --git a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java index 6d78d25..84d9555 100644 --- a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java +++ b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java @@ -305,7 +305,7 @@ public class PolicyMgrUserGroupBuilder implements UserGroupSink { LOG.debug("INFO: addPMXAGroupToUser(" + userName + "," + g + ")" ) ; } if (! isMockRun) { - addXUserGroupInfo(user, addGroups) ; + addXUserGroupInfo(user, addGroups) ; } for(String g : delGroups) { @@ -526,6 +526,8 @@ public class PolicyMgrUserGroupBuilder implements UserGroupSink { private XUserGroupInfo addXUserGroupInfo(XUserInfo aUserInfo, XGroupInfo aGroupInfo) { + XUserGroupInfo ret = null ; + XUserGroupInfo ugInfo = new XUserGroupInfo() ; ugInfo.setUserId(aUserInfo.getId()); @@ -534,7 +536,25 @@ public class PolicyMgrUserGroupBuilder implements UserGroupSink { // ugInfo.setParentGroupId("1"); - return ugInfo ; + Client c = getClient() ; + + WebResource r = c.resource(getURL(PM_ADD_USER_GROUP_LINK_URI)) ; + + Gson gson = new GsonBuilder().create() ; + + String jsonString = gson.toJson(ugInfo) ; + + String response = r.accept(MediaType.APPLICATION_JSON_TYPE).type(MediaType.APPLICATION_JSON_TYPE).post(String.class, jsonString) ; + + LOG.debug("RESPONSE: [" + response + "]") ; + + ret = gson.fromJson(response, XUserGroupInfo.class) ; + + if (ret != null) { + addUserGroupToList(ret); + } + + return ret ; }
