Yair Zaslavsky has uploaded a new change for review.

Change subject: aaa: Change API to 3.3 behavior
......................................................................

aaa: Change API to 3.3 behavior

Changing back the behavior of the API to 3.3 behavior.
Changing also the behavior of internal id allocation -
this is cancelled, and internal id will always be the guid
returned from the directory.
Although in 3.5 we will have directories that are non ldap,
hence can have ids that are not GUID, we would like to handle
the user id representation differently, and this is a first stage.

Topic: AAA
Change-Id: Iff51fb9df33b4b679eba5b1c3ef2bea6ea7b3e07
Signed-off-by: Yair Zaslavsky <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddGroupCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddUserCommand.java
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendBaseTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceTest.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/GroupMapper.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UserMapper.java
10 files changed, 8 insertions(+), 27 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/97/25997/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddGroupCommand.java
index 91e786a..4cbfa83 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddGroupCommand.java
@@ -61,7 +61,7 @@
         DbGroup dbGroup = 
dao.getByExternalId(directoryGroup.getDirectoryName(), directoryGroup.getId());
         if (dbGroup == null) {
             dbGroup = new DbGroup(directoryGroup);
-            dbGroup.setId(Guid.newGuid());
+            dbGroup.setId(new Guid(directoryGroup.getId().getBytes(), true));
             dao.save(dbGroup);
         }
         else {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddUserCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddUserCommand.java
index 6e91b98..0ae04f7 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddUserCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddUserCommand.java
@@ -92,7 +92,7 @@
         DbUser dbUser = dao.getByExternalId(directoryUser.getDirectoryName(), 
directoryUser.getId());
         if (dbUser == null) {
             dbUser = new DbUser(directoryUser);
-            dbUser.setId(Guid.newGuid());
+            dbUser.setId(new Guid(directoryUser.getId().getBytes(), true));
             String groupIds = 
DirectoryUtils.getGroupIdsFromUser(directoryUser);
             dbUser.setGroupIds(groupIds);
             dao.save(dbUser);
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
index 746b8b0..d08a053 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
@@ -1666,7 +1666,6 @@
       <xs:extension base="BaseResource">
         <xs:sequence>
           <xs:element ref="domain" minOccurs="0"/>
-          <xs:element name="external_id" type="xs:string" minOccurs="0" 
maxOccurs="1"/>
           <xs:element name="department" type="xs:string" minOccurs="0" 
maxOccurs="1"/>
           <xs:element name="logged_in" type="xs:boolean" minOccurs="0" 
maxOccurs="1"/>
           <xs:element name="last_name" type="xs:string" minOccurs="0" 
maxOccurs="1"/>
@@ -1736,7 +1735,6 @@
       <xs:extension base="BaseResource">
         <xs:sequence>
           <xs:element ref="domain" minOccurs="0"/>
-          <xs:element name="external_id" type="xs:string" minOccurs="0" 
maxOccurs="1"/>
           <!-- used only to represent the initial role assignments for a
                new group, therafter modification of role assignments are
                only supported via the rel="roles" sub-collection -->
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendBaseTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendBaseTest.java
index 40158d1..a8f6fd7 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendBaseTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendBaseTest.java
@@ -65,10 +65,9 @@
      * External identifiers used by directory users and groups.
      */
     protected static final ExternalId[] EXTERNAL_IDS = {
-        new ExternalId(0),
-        new ExternalId(1),
-        new ExternalId(2),
-        new ExternalId(3),
+            ExternalId.fromHex(GUIDS[0].toString()),
+            ExternalId.fromHex(GUIDS[1].toString()),
+            ExternalId.fromHex(GUIDS[2].toString()),
     };
 
     /**
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupResourceTest.java
index a39b706..1876a87 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupResourceTest.java
@@ -78,7 +78,6 @@
 
     protected void verifyModel(Group model, int index) {
         assertEquals(GUIDS[index].toString(), model.getId());
-        assertEquals(EXTERNAL_IDS[index].toHex(), model.getExternalId());
         assertEquals(NAMES[index], model.getName());
         assertNotNull(model.getDomain());
         verifyLinks(model);
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceTest.java
index bd8a819..ee7a7c9 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceTest.java
@@ -377,7 +377,6 @@
     @Override
     protected void verifyModel(Group model, int index) {
         assertEquals(GUIDS[index].toString(), model.getId());
-        assertEquals(EXTERNAL_IDS[index].toHex(), model.getExternalId());
         assertEquals(GROUP_NAMES[index], model.getName());
         assertNotNull(model.getDomain());
         assertEquals(new Guid(DOMAIN.getBytes(), true).toString(), 
model.getDomain().getId());
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
index 55ffed1..684ffe3 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
@@ -94,7 +94,6 @@
 
     protected void verifyModel(User model, int index) {
         assertEquals(GUIDS[index].toString(), model.getId());
-        assertEquals(EXTERNAL_IDS[index].toHex(), model.getExternalId());
         assertEquals(NAMES[index], model.getName());
         assertNotNull(model.getDomain());
         assertTrue(model.isSetGroups());
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceTest.java
index 9693dcf..4d5e181 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceTest.java
@@ -219,7 +219,6 @@
     @Override
     protected void verifyModel(User model, int index) {
         assertEquals(GUIDS[index].toString(), model.getId());
-        assertEquals(EXTERNAL_IDS[index].toHex(), model.getExternalId());
         assertEquals(NAMES[index] + "@" + DOMAIN, model.getUserName());
         assertNotNull(model.getDomain());
         assertEquals(new Guid(DOMAIN.getBytes(), true).toString(), 
model.getDomain().getId());
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/GroupMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/GroupMapper.java
index f3d29a4..8bc9596 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/GroupMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/GroupMapper.java
@@ -15,7 +15,6 @@
     @Mapping(from = DbGroup.class, to = Group.class)
     public static Group map(DbGroup entity, Group template) {
         Group model = template != null ? template : new Group();
-        model.setExternalId(entity.getExternalId().toHex());
         model.setName(entity.getName());
         model.setId(entity.getId().toString());
         if (!StringUtils.isEmpty(entity.getDomain())) {
@@ -49,16 +48,11 @@
             String id = model.getId();
             try {
                 entity.setId(GuidUtils.asGuid(id));
+                
entity.setExternalId(ExternalId.fromHex(entity.getId().toString()));
             }
             catch (MalformedIdException exception) {
                 // The identifier won't be a UUID if the group comes from 
/domains/{domain:id}/groups.
             }
-            if (!model.isSetExternalId()) {
-                entity.setExternalId(ExternalId.fromHex(id));
-            }
-        }
-        if (model.isSetExternalId()) {
-            entity.setExternalId(ExternalId.fromHex(model.getExternalId()));
         }
         if (model.isSetDomain()) {
             Domain domain = model.getDomain();
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UserMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UserMapper.java
index f332fdf..45bf64f 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UserMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UserMapper.java
@@ -18,7 +18,6 @@
     @Mapping(from = DbUser.class, to = User.class)
     public static User map(DbUser entity, User template) {
         User model = template != null ? template : new User();
-        model.setExternalId(entity.getExternalId().toHex());
         model.setName(entity.getFirstName());
         model.setUserName(entity.getLoginName() + "@" + entity.getDomain());
         model.setId(entity.getId().toString());
@@ -46,7 +45,7 @@
         User model = template != null ? template : new User();
         model.setName(entity.getFirstName());
         model.setUserName(entity.getName() + "@" + entity.getDirectoryName());
-        model.setId(entity.getId().toHex());
+        model.setId(new Guid(entity.getId().getBytes(), true).toString());
         model.setLastName(entity.getLastName());
         model.setEmail(entity.getEmail());
         model.setDepartment(entity.getDepartment());
@@ -76,16 +75,11 @@
             String id = model.getId();
             try {
                 entity.setId(GuidUtils.asGuid(id));
+                
entity.setExternalId(ExternalId.fromHex(entity.getId().toString()));
             }
             catch (MalformedIdException exception) {
                 // The identifier won't be a UUID if the user comes from 
/domains/{domain:id}/users.
             }
-            if (!model.isSetExternalId()) {
-                entity.setExternalId(ExternalId.fromHex(id));
-            }
-        }
-        if (model.isSetExternalId()) {
-            entity.setExternalId(ExternalId.fromHex(model.getExternalId()));
         }
         if (model.isSetDomain()) {
             Domain domain = model.getDomain();


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iff51fb9df33b4b679eba5b1c3ef2bea6ea7b3e07
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yair Zaslavsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to