Juan Hernandez has uploaded a new change for review.

Change subject: core: Use ExternalId in DbUser
......................................................................

core: Use ExternalId in DbUser

This patch changes the DbUser entity and the corresponding DAO to use
the ExternalId class for management of the directory identifier of the
user.

Change-Id: I60ee292f95993c28666bd63bcd153e2416744027
Signed-off-by: Juan Hernandez <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
4 files changed, 22 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/19476/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 9398d08..03b4eae 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
@@ -1,9 +1,8 @@
 package org.ovirt.engine.core.common.businessentities;
 
-import java.util.Arrays;
-
 import javax.validation.constraints.Size;
 
+import org.ovirt.engine.core.common.utils.ExternalId;
 import org.ovirt.engine.core.common.utils.ObjectUtils;
 import org.ovirt.engine.core.compat.Guid;
 
@@ -19,7 +18,7 @@
     /**
      * This is the identifier assigned by the external directory to this user.
      */
-    private byte[] externalId;
+    private ExternalId externalId;
 
     @Size(min = 1, max = BusinessEntitiesDefinitions.USER_DOMAIN_SIZE)
     private String domain;
@@ -83,7 +82,7 @@
 
     public DbUser(LdapUser ldapUser) {
         id = ldapUser.getUserId();
-        externalId = ldapUser.getUserId().toByteArray();
+        externalId = new ExternalId(ldapUser.getUserId().toByteArray());
         domain = ldapUser.getDomainControler();
         loginName = getFullLoginName(ldapUser);
         firstName = ldapUser.getName();
@@ -105,11 +104,11 @@
         this.id = id;
     }
 
-    public byte[] getExternalId() {
+    public ExternalId getExternalId() {
         return externalId;
     }
 
-    public void setExternalId(byte[] externalId) {
+    public void setExternalId(ExternalId externalId) {
         this.externalId = externalId;
     }
 
@@ -244,7 +243,7 @@
         final int prime = 31;
         int result = 1;
         result = prime * result + ((id == null) ? 0 : id.hashCode());
-        result = prime * result + Arrays.hashCode(externalId);
+        result = prime * result + ((externalId == null) ? 0 : 
externalId.hashCode());
         result = prime * result + ((department == null) ? 0 : 
department.hashCode());
         result = prime * result + ((domain == null) ? 0 : domain.hashCode());
         result = prime * result + ((email == null) ? 0 : email.hashCode());
@@ -272,7 +271,7 @@
         }
         DbUser other = (DbUser) obj;
         return (ObjectUtils.objectsEqual(id, other.id)
-                && Arrays.equals(externalId, other.externalId)
+                && ObjectUtils.objectsEqual(externalId, other.externalId)
                 && ObjectUtils.objectsEqual(department, other.department)
                 && ObjectUtils.objectsEqual(domain, other.domain)
                 && ObjectUtils.objectsEqual(email, other.email)
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
index d5b0098..a50c4cd 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
@@ -3,6 +3,7 @@
 import java.util.List;
 
 import org.ovirt.engine.core.common.businessentities.DbUser;
+import org.ovirt.engine.core.common.utils.ExternalId;
 import org.ovirt.engine.core.compat.Guid;
 
 /**
@@ -38,7 +39,7 @@
      * @return a reference to the user or <code>null</code> if no such user
      *   can be found in the database
      */
-    DbUser getByExternalId(String domain, byte[] externalId);
+    DbUser getByExternalId(String domain, ExternalId externalId);
 
     /**
      * Retrieves all users associated with the specified virtual machine.
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
index 66dbbae..a5dedd9 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
@@ -5,6 +5,7 @@
 import java.util.List;
 
 import org.ovirt.engine.core.common.businessentities.DbUser;
+import org.ovirt.engine.core.common.utils.ExternalId;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.CustomMapSqlParameterSource;
 import org.springframework.jdbc.core.RowMapper;
@@ -37,7 +38,7 @@
             entity.setLoginName(rs.getString("username"));
             
entity.setLastAdminCheckStatus(rs.getBoolean("last_admin_check_status"));
             entity.setGroupIds(rs.getString("group_ids"));
-            entity.setExternalId(rs.getBytes("external_id"));
+            entity.setExternalId(new ExternalId(rs.getBytes("external_id")));
             return entity;
         }
     }
@@ -80,10 +81,10 @@
     }
 
     @Override
-    public DbUser getByExternalId(String domain, byte[] externalId) {
+    public DbUser getByExternalId(String domain, ExternalId externalId) {
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
                 .addValue("domain", domain)
-                .addValue("external_id", externalId);
+                .addValue("external_id", externalId.getBytes());
 
         return getCallsHandler().executeRead("GetUserByExternalId", 
DbUserRowMapper.instance, parameterSource);
     }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
index fa82a52..ee5f0d0 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
@@ -6,13 +6,13 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import java.util.Arrays;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
 import org.junit.Before;
 import org.junit.Test;
 import org.ovirt.engine.core.common.businessentities.DbUser;
+import org.ovirt.engine.core.common.utils.ExternalId;
 import org.ovirt.engine.core.compat.Guid;
 
 public class DbUserDAOTest extends BaseDAOTestCase {
@@ -36,7 +36,7 @@
 
         newUser = new DbUser();
 
-        newUser.setExternalId(new byte[0]);
+        newUser.setExternalId(new ExternalId(new byte[0]));
         newUser.setFirstName("Bob");
         newUser.setLastName("Milqtoste");
         newUser.setLoginName("newuser");
@@ -71,9 +71,7 @@
      */
     @Test
     public void testGetWithInvalidExternalId() {
-        byte[] externalId = {
-            (byte) 0x00
-        };
+        ExternalId externalId = new ExternalId(0);
         DbUser result = dao.getByExternalId("testportal.redhat.com", 
externalId);
         assertNull(result);
     }
@@ -83,12 +81,10 @@
      */
     @Test
     public void testGetByExternalId() {
-        byte[] externalId = {
-            (byte) 0x9b, (byte) 0xf7, (byte) 0xc6, (byte) 0x40,
-            (byte) 0xb6, (byte) 0x20, (byte) 0x45, (byte) 0x6f,
-            (byte) 0xa5, (byte) 0x50, (byte) 0x03, (byte) 0x48,
-            (byte) 0xf3, (byte) 0x66, (byte) 0x54, (byte) 0x4a
-        };
+        ExternalId externalId = new ExternalId(
+            0x9b, 0xf7, 0xc6, 0x40, 0xb6, 0x20, 0x45, 0x6f,
+            0xa5, 0x50, 0x03, 0x48, 0xf3, 0x66, 0x54, 0x4a
+        );
         DbUser result = dao.getByExternalId("testportal.redhat.com", 
externalId);
         assertNotNull(result);
     }
@@ -101,7 +97,7 @@
         DbUser userBefore = dao.get(existingUser.getId());
         dao.update(userBefore);
         DbUser userAfter = dao.get(existingUser.getId());
-        assertTrue(Arrays.equals(userBefore.getExternalId(), 
userAfter.getExternalId()));
+        assertEquals(userBefore.getExternalId(), userAfter.getExternalId());
     }
 
     /**
@@ -198,7 +194,7 @@
     @Test
     public void testSaveUserWithTooManyGroups() {
         DbUser tooManyGroupsUser = new DbUser();
-        tooManyGroupsUser.setExternalId(new byte[0]);
+        tooManyGroupsUser.setExternalId(new ExternalId(0));
         tooManyGroupsUser.setFirstName("I");
         tooManyGroupsUser.setLastName("Have");
         tooManyGroupsUser.setLoginName("too");


-- 
To view, visit http://gerrit.ovirt.org/19476
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I60ee292f95993c28666bd63bcd153e2416744027
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