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
