Yair Zaslavsky has uploaded a new change for review.

Change subject: aaa: Failure in adding users via REST-API
......................................................................

aaa: Failure in adding users via REST-API

The following patch fixes both the fact that
"domain" part appeared twice in rest-api and the
the search query to ignore the domain part in the username as
it is provided in the search pattern prior to the username.

Topic: AAA
Bug-Url: https://bugzilla.redhat.com/1102041
Change-Id: I81ce111439c1647b13ef8ec6fcad169fd5feead6
Signed-off-by: Yair Zaslavsky <yzasl...@redhat.com>
---
M 
backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/SearchParameters.java
3 files changed, 15 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/85/28685/1

diff --git 
a/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java
 
b/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java
index f1808d6..45269aa 100644
--- 
a/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java
+++ 
b/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java
@@ -286,11 +286,12 @@
     public static DirectoryUser mapPrincipalRecord(final ExtensionProxy 
extension, final ExtMap principalRecord) {
         DirectoryUser directoryUser = null;
         if (principalRecord != null) {
+            String name = principalRecord.<String> 
get(Authz.PrincipalRecord.NAME);
             directoryUser = new DirectoryUser(
                     extension.getContext().<String> 
get(Base.ContextKeys.INSTANCE_NAME),
                     principalRecord.<String> 
get(Authz.PrincipalRecord.NAMESPACE),
                     principalRecord.<String> get(Authz.PrincipalRecord.ID),
-                    principalRecord.<String> get(Authz.PrincipalRecord.NAME)
+                    name.contains("@") ? name.substring(0, name.indexOf("@")) 
: name
                     );
             directoryUser.setDepartment(principalRecord.<String> 
get(Authz.PrincipalRecord.DEPARTMENT));
             directoryUser.setFirstName(principalRecord.<String> 
get(Authz.PrincipalRecord.FIRST_NAME));
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
index da09f8b..c203b17 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
@@ -171,7 +171,15 @@
     }
 
     private List<DirectoryUser> searchDirectoryUsers() {
-        // Parse the query:
+        // The part after the = in the search pattern should not include 
domain information
+        String searchPattern = getParameters().getSearchPattern();
+        int atIndex = searchPattern.lastIndexOf("@");
+        int eqIndex = searchPattern.indexOf("=");
+
+        if (atIndex > eqIndex) {
+            searchPattern = searchPattern.substring(0, atIndex);
+        }
+        getParameters().setSearchPattern(searchPattern);
         QueryData data = initQueryData(true);
         if (data == null) {
             return Collections.emptyList();
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/SearchParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/SearchParameters.java
index ea2d680..10e9165 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/SearchParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/SearchParameters.java
@@ -28,6 +28,10 @@
         _maxCount = -1;
     }
 
+    public void setSearchPattern(String searchPattern) {
+        _searchPattern = searchPattern;
+    }
+
     public String getSearchPattern() {
         return _searchPattern;
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I81ce111439c1647b13ef8ec6fcad169fd5feead6
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yair Zaslavsky <yzasl...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to