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

Reply via email to