Juan Hernandez has uploaded a new change for review. Change subject: [WIP] Add generic directory support to DbUser ......................................................................
[WIP] Add generic directory support to DbUser Currently the DbUser class is populated from a LdapUser. In order to support the generic directory interface it needs to support DirectoryUser as well. This change adds a new constructor that populates the DbUser from a DirectoryUser, but preserves the constructor that uses LdapUser. This constructor will be removed once the engine uses only the generic directory interfaces. Change-Id: Iaf81ba87a178f3d275ed172e82b0036635f1a28f Signed-off-by: Juan Hernandez <[email protected]> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java 1 file changed, 32 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/49/15749/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java index ec0452b..1bbb4ef 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java @@ -2,6 +2,8 @@ import javax.validation.constraints.Size; +import org.ovirt.engine.core.common.users.DirectoryGroup; +import org.ovirt.engine.core.common.users.DirectoryUser; import org.ovirt.engine.core.common.utils.ObjectUtils; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.StringHelper; @@ -201,6 +203,36 @@ setGroupIds(ldapUser.getGroupIds()); } + public DbUser(DirectoryUser directoryUser) { + setuser_id(directoryUser.getId()); + setusername(directoryUser.getName()); + setname(directoryUser.getFirstName()); + setsurname(directoryUser.getLastName()); + setdepartment(directoryUser.getDepartment()); + setdomain(directoryUser.getDirectory().getName()); + setemail(directoryUser.getEmail()); + setstatus(directoryUser.getStatus().getValue()); + + // The database currently contains the list of names and ids of the + // groups as comma separated strings: + StringBuilder namesBuffer = new StringBuilder(); + StringBuilder idsBuffer = new StringBuilder(); + boolean first = true; + for (DirectoryGroup directoryGroup : directoryUser.getGroups()) { + if (!first) { + namesBuffer.append(','); + idsBuffer.append(','); + } + else { + first = false; + } + namesBuffer.append(directoryGroup.getName()); + idsBuffer.append(directoryGroup.getId()); + } + setgroups(namesBuffer.toString()); + setGroupIds(idsBuffer.toString()); + } + private String getFullUserName(LdapUser ldapUser) { String userName = ldapUser.getUserName(); if (userName.indexOf("@") == -1) { -- To view, visit http://gerrit.ovirt.org/15749 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iaf81ba87a178f3d275ed172e82b0036635f1a28f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Juan Hernandez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
