Juan Hernandez has uploaded a new change for review. Change subject: restapi: Fix group search and add ......................................................................
restapi: Fix group search and add The RESTAPI doesn't currently accept group names with the format domain/organization/group. This patch fixes that. Change-Id: Iffb4ba829d5e07b46c0bb6d71e46bdbdbcb2442c Bug-Url: https://bugzilla.redhat.com/1057214 Signed-off-by: Juan Hernandez <[email protected]> --- M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceTest.java M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ADSyntaxChecker.java 3 files changed, 17 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/24205/1 diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResource.java index 7e74317..9f828ee 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResource.java @@ -194,10 +194,17 @@ // Try to find a group that matches the name contained in the model: if (groupModel.isSetName()) { + String groupName = groupModel.getName(); + if (groupName.startsWith(directoryName + "/")) { + int lastSlash = groupName.lastIndexOf("/"); + if (lastSlash != -1) { + groupName = groupName.substring(lastSlash + 1); + } + } return getEntity( DirectoryGroup.class, SearchType.DirectoryGroup, - getDirectoryGroupSearchPattern(groupModel.getName(), directoryName) + getDirectoryGroupSearchPattern(groupName, directoryName) ); } 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 21e4686..df37608 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 @@ -240,7 +240,7 @@ public void testAddGroupWithImplicitDirectoryName() throws Exception { setUriInfo(setUpBasicUriExpectations()); setUpGetEntityExpectations( - "ADGROUP@" + DOMAIN + ": allnames=" + GROUP_NAMES[0], + "ADGROUP@" + DOMAIN + ": allnames=" + NAMES[0], SearchType.DirectoryGroup, getDirectoryGroup(0) ); diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ADSyntaxChecker.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ADSyntaxChecker.java index 27932c8..d4c94b1 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ADSyntaxChecker.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ADSyntaxChecker.java @@ -268,7 +268,8 @@ StringBuilder retval = new StringBuilder(); if (syntax.getvalid()) { IConditionFieldAutoCompleter conditionFieldAC; - if (syntax.getSearchObjectStr().toUpperCase().contains("ADUSER")) { + boolean searchingUsers = syntax.getSearchObjectStr().toUpperCase().contains("ADUSER"); + if (searchingUsers) { retval.append("(&"); retval.append("(" + USER_ACCOUNT_TYPE + ")"); conditionFieldAC = new AdUserConditionFieldAutoCompleter(); @@ -283,7 +284,12 @@ switch (so.getType()) { case CONDITION_FIELD: if ("ALLNAMES".equals(so.getBody())) { - phrase.append(" (|($GIVENNAME={value})(sn={value})($USER_ACCOUNT_NAME={value})($PRINCIPAL_NAME={value}))"); + if (searchingUsers) { + phrase.append(" (|($GIVENNAME={value})(sn={value})($USER_ACCOUNT_NAME={value})($PRINCIPAL_NAME={value}))"); + } + else { + phrase.append(" (|($CN={value}))"); + } /** * mark this search as findAll for later use */ -- To view, visit http://gerrit.ovirt.org/24205 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iffb4ba829d5e07b46c0bb6d71e46bdbdbcb2442c 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
