Yair Zaslavsky has uploaded a new change for review.

Change subject: aaa: Adding namespace dropdown list to "add user" dialog
......................................................................

aaa: Adding namespace dropdown list to "add user" dialog

This both adds the namespace dropdown list and fixes
search to support namespace

Bug-Url: https://bugzilla.redhat.com/1117502

Topic: AAA
Change-Id: Ic78559243c765271bf8e12abd035deba05226bda
Signed-off-by: Yair Zaslavsky <[email protected]>
---
D 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAvailableAuthzNamespacesQuery.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/DirectorySearchParameters.java
D 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAvailableAuthzNamespacesQueryParameters.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainGroupsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainUsersResource.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.ui.xml
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/AdElementListModel.java
13 files changed, 142 insertions(+), 47 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/30698/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAvailableAuthzNamespacesQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAvailableAuthzNamespacesQuery.java
deleted file mode 100644
index 6104d61..0000000
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAvailableAuthzNamespacesQuery.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.ovirt.engine.core.bll;
-
-public class GetAvailableAuthzNamespacesQuery {
-
-}
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 4ba420b..2af84af 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
@@ -6,7 +6,6 @@
 import java.util.HashMap;
 import java.util.List;
 
-import org.ovirt.engine.api.extensions.aaa.Authz;
 import org.ovirt.engine.core.aaa.AuthenticationProfileRepository;
 import org.ovirt.engine.core.aaa.DirectoryGroup;
 import org.ovirt.engine.core.aaa.DirectoryUser;
@@ -33,9 +32,10 @@
 import org.ovirt.engine.core.common.config.ConfigValues;
 import 
org.ovirt.engine.core.common.errors.SearchEngineIllegalCharacterException;
 import org.ovirt.engine.core.common.errors.SqlInjectionException;
+import org.ovirt.engine.core.common.queries.DirectorySearchParameters;
 import org.ovirt.engine.core.common.queries.SearchParameters;
-import org.ovirt.engine.core.common.utils.ListUtils.Filter;
 import org.ovirt.engine.core.common.utils.ListUtils;
+import org.ovirt.engine.core.common.utils.ListUtils.Filter;
 import org.ovirt.engine.core.compat.DateTime;
 import org.ovirt.engine.core.compat.TimeSpan;
 import org.ovirt.engine.core.dao.SearchDAO;
@@ -179,12 +179,10 @@
         }
 
         ExtensionProxy authz = 
EngineExtensionsManager.getInstance().getExtensionByName(data.getDomain());
-        List<DirectoryUser> results = new ArrayList<>();
-        for (String namespace : authz.getContext().<List<String>> 
get(Authz.ContextKeys.AVAILABLE_NAMESPACES)) {
-            results.addAll(DirectoryUtils.findDirectoryUsersByQuery(authz, 
namespace, data.getQuery()));
-        }
+        return new 
ArrayList<DirectoryUser>(DirectoryUtils.findDirectoryUsersByQuery(authz,
+                ((DirectorySearchParameters) getParameters()).getNamespace(),
+                data.getQuery()));
 
-        return results;
     }
 
     private List<DirectoryGroup> searchDirectoryGroups() {
@@ -195,11 +193,9 @@
         }
 
         ExtensionProxy authz = 
EngineExtensionsManager.getInstance().getExtensionByName(data.getDomain());
-        List<DirectoryGroup> results = new ArrayList<>();
-        for (String namespace : authz.getContext().<List<String>> 
get(Authz.ContextKeys.AVAILABLE_NAMESPACES)) {
-            results.addAll(DirectoryUtils.findDirectoryGroupsByQuery(authz, 
namespace, data.getQuery()));
-        }
-        return results;
+        return new 
ArrayList<DirectoryGroup>(DirectoryUtils.findDirectoryGroupsByQuery(authz,
+                ((DirectorySearchParameters) getParameters()).getNamespace(),
+                data.getQuery()));
     }
 
     private List<DbUser> searchDbUsers() {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/DirectorySearchParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/DirectorySearchParameters.java
new file mode 100644
index 0000000..937af92
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/DirectorySearchParameters.java
@@ -0,0 +1,36 @@
+package org.ovirt.engine.core.common.queries;
+
+import org.ovirt.engine.core.common.interfaces.SearchType;
+
+public class DirectorySearchParameters extends SearchParameters {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1831775270159639568L;
+
+    private String namespace;
+
+    public DirectorySearchParameters() {
+        super();
+    }
+
+    public DirectorySearchParameters(String searchPattern, SearchType 
searchType, String namespace) {
+        super(searchPattern, searchType);
+        this.namespace = namespace;
+    }
+
+    public DirectorySearchParameters(String searchPattern,
+            SearchType searchType,
+            boolean caseSensitive,
+            String namespace) {
+        super(searchPattern, searchType, caseSensitive);
+        this.namespace = namespace;
+    }
+
+    public String getNamespace() {
+        return namespace;
+    }
+
+
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAvailableAuthzNamespacesQueryParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAvailableAuthzNamespacesQueryParameters.java
deleted file mode 100644
index 2ae76c5..0000000
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAvailableAuthzNamespacesQueryParameters.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.ovirt.engine.core.common.queries;
-
-public class GetAvailableAuthzNamespacesQueryParameters extends 
VdcQueryParametersBase {
-
-    /**
-     *
-     */
-    private static final long serialVersionUID = 2473511045533756911L;
-    private String authzName;
-
-    public GetAvailableAuthzNamespacesQueryParameters() {
-    }
-
-    public GetAvailableAuthzNamespacesQueryParameters(String authzName) {
-        this.authzName = authzName;
-    }
-
-    public String getAuthzName() {
-        return authzName;
-    }
-
-}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index 634d301..3066929 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -156,6 +156,7 @@
     // Directory queries:
     GetDirectoryUserById(VdcQueryAuthType.User),
     GetDirectoryGroupById(VdcQueryAuthType.User),
+    GetAvailableNamespaces(VdcQueryAuthType.User),
 
     // Groups queries:
     GetAllDbGroups(VdcQueryAuthType.User),
@@ -204,7 +205,7 @@
 
     // Search queries
     Search,
-    GetAvailableAuthzNamespaces,
+    GetAvailablezNamespaces,
 
     // Public services
     GetDomainList(VdcQueryAuthType.User),
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
index 18891d2..4ccdae0 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
@@ -75,7 +75,7 @@
     protected <T> T getEntity(Class<T> clz, SearchType searchType, String 
constraint) {
         try {
             VdcQueryReturnValue result = runQuery(VdcQueryType.Search,
-                    new SearchParameters(constraint, searchType));
+                    createSearchParameters(searchType, constraint));
             if (!result.getSucceeded()) {
                 backendFailure(result.getExceptionString());
             }
@@ -85,11 +85,16 @@
         }
     }
 
+
     protected VdcQueryReturnValue runQuery(VdcQueryType queryType, 
VdcQueryParametersBase queryParams) {
         queryParams.setFiltered(isFiltered());
         return backend.runQuery(queryType, sessionize(queryParams));
     }
 
+    protected SearchParameters createSearchParameters(SearchType searchType, 
String constraint) {
+        return new SearchParameters(constraint, searchType);
+    }
+
     protected <T> T getEntity(Class<T> clz, VdcQueryType query, 
VdcQueryParametersBase queryParams, String identifier) {
         return getEntity(clz, query, queryParams, identifier, false);
     }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainGroupsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainGroupsResource.java
index 615540f..58065f7 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainGroupsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainGroupsResource.java
@@ -14,6 +14,8 @@
 import org.ovirt.engine.api.restapi.resource.SingleEntityResource;
 import org.ovirt.engine.core.aaa.DirectoryGroup;
 import org.ovirt.engine.core.common.interfaces.SearchType;
+import org.ovirt.engine.core.common.queries.DirectorySearchParameters;
+import org.ovirt.engine.core.common.queries.SearchParameters;
 
 /**
  * This resource corresponds to the groups that exist in a directory 
accessible to the engine. Those groups may or may
@@ -40,6 +42,11 @@
         return parent;
     }
 
+    @Override
+    protected SearchParameters createSearchParameters(SearchType searchType, 
String constraint) {
+        return new DirectorySearchParameters(constraint, searchType, "*");
+    }
+
     public Domain getDirectory() {
         return parent.getDirectory();
     }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainUsersResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainUsersResource.java
index f19a7c2..4466e42 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainUsersResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/aaa/BackendDomainUsersResource.java
@@ -14,6 +14,8 @@
 import org.ovirt.engine.api.restapi.resource.SingleEntityResource;
 import org.ovirt.engine.core.aaa.DirectoryUser;
 import org.ovirt.engine.core.common.interfaces.SearchType;
+import org.ovirt.engine.core.common.queries.DirectorySearchParameters;
+import org.ovirt.engine.core.common.queries.SearchParameters;
 
 /**
  * This resource corresponds to the users that exist in a directory accessible
@@ -47,6 +49,11 @@
     }
 
     @Override
+    protected SearchParameters createSearchParameters(SearchType searchType, 
String constraint) {
+        return new DirectorySearchParameters(constraint, searchType, "*");
+    }
+
+    @Override
     @SingleEntityResource
     public DomainUserResource getDomainUserSubResource(String id) {
         return inject(new BackendDomainUserResource(id, this));
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
index e0ae04a..06f42be 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
@@ -1190,6 +1190,9 @@
     @DefaultStringValue("Search:")
     String searchPermissionsPopup();
 
+    @DefaultStringValue("")
+    String namespacePermissionsPopup();
+
     // Pool General
     @DefaultStringValue("Name")
     String namePoolGeneral();
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.java
index d81f5a0..b500036 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.java
@@ -53,6 +53,11 @@
     @WithElementId("profile")
     public ListModelListBoxEditor<Object> profileSelection;
 
+    @UiField(provided = true)
+    @Path("namespace.selectedItem")
+    @WithElementId("namespace")
+    public ListModelListBoxEditor<Object> namespaceSelection;
+
     @UiField
     @Ignore
     public Label roleToAssignLabel;
@@ -129,6 +134,13 @@
                 return ((Role) object).getname();
             }
         });
+
+        namespaceSelection = new ListModelListBoxEditor<Object>(new 
NullSafeRenderer<Object>() {
+            @Override
+            protected String renderNullSafe(Object object) {
+                return object.toString();
+            }
+        });
     }
 
     private void initTable(CommonApplicationConstants constants) {
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.ui.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.ui.xml
index 2ea7f8a..9339f1d 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.ui.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/permissions/AbstractPermissionsPopupView.ui.xml
@@ -27,7 +27,7 @@
         }
 
         .searchStringEditor {
-            width: 250px;
+            width: 200px;
             height: 18px;
             margin-left: 5px;
             margin-top: 3px;
@@ -39,13 +39,18 @@
             height: 30px;
         }
 
+        .namespaceSelection {
+            width: 300px;
+            height: 30px;
+        }
+
         .everyonePanel {
             height: 30px;
             margin-top: 3px;
         }
 
         .searchStringPanel {
-            width: 660px;
+            width: 860px;
             height: 30px;
         }
 
@@ -63,7 +68,7 @@
         }
     </ui:style>
 
-    <d:SimpleDialogPanel width="700px" height="500px">
+    <d:SimpleDialogPanel width="900px" height="500px">
         <d:content>
             <g:FlowPanel>
                 <g:SimplePanel ui:field="everyonePanel" 
addStyleNames="{style.everyonePanel}">
@@ -74,6 +79,7 @@
                 </g:SimplePanel>
                 <g:HorizontalPanel verticalAlignment="ALIGN_MIDDLE" 
addStyleNames="{style.searchStringPanel}">
                     <e:ListModelListBoxEditor 
addStyleNames="{style.profileSelection}" 
label="{constants.searchPermissionsPopup}" ui:field="profileSelection" />
+                    <e:ListModelListBoxEditor 
addStyleNames="{style.namespaceSelection}" ui:field="namespaceSelection" />
                     <e:TextBoxChanger 
addStyleNames="{style.searchStringEditor}" ui:field="searchStringEditor" />
                     <w:UiCommandButton ui:field="searchButton" 
addStyleNames="{style.goButton} appv_searchButton_pfly_fix" />
                 </g:HorizontalPanel>
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index 08b0927..27e75aa 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -1210,6 +1210,18 @@
         Frontend.getInstance().runQuery(VdcQueryType.GetAAAProfileList, new 
VdcQueryParametersBase(), aQuery);
     }
 
+    public void getAAANamespaces(AsyncQuery aQuery) {
+        aQuery.converterCallback = new IAsyncConverter() {
+            @Override
+            public Object Convert(Object source, AsyncQuery _asyncQuery)
+            {
+                return source != null ? (HashMap<String, List<String>>) source 
: new HashMap<String, List<String>>();
+            }
+        };
+        Frontend.getInstance().runQuery(VdcQueryType.GetAvailableNamespaces, 
new VdcQueryParametersBase(), aQuery);
+    }
+
+
     public void getAAAProfilesEntriesList(AsyncQuery aQuery) {
         aQuery.converterCallback = new IAsyncConverter() {
             @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/AdElementListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/AdElementListModel.java
index 2841869..7045114 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/AdElementListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/AdElementListModel.java
@@ -3,6 +3,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -14,7 +15,7 @@
 import org.ovirt.engine.core.common.businessentities.Role;
 import org.ovirt.engine.core.common.businessentities.aaa.DbUser;
 import org.ovirt.engine.core.common.interfaces.SearchType;
-import org.ovirt.engine.core.common.queries.SearchParameters;
+import org.ovirt.engine.core.common.queries.DirectorySearchParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.StringHelper;
@@ -29,6 +30,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
+import org.ovirt.engine.ui.uicompat.IEventListener;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 
 public class AdElementListModel extends SearchableListModel
@@ -45,6 +47,8 @@
     }
 
     private Iterable privateExcludeItems;
+
+    private HashMap<String, List<String>> namespacesMap;
 
     public Iterable getExcludeItems()
     {
@@ -66,6 +70,16 @@
     private void setProfile(ListModel value)
     {
         privateProfile = value;
+    }
+
+    private ListModel privateNamespace;
+
+    public void setNamespace(ListModel value) {
+        privateNamespace = value;
+    }
+
+    public ListModel getNamespace() {
+        return privateNamespace;
     }
 
     private ListModel privateRole;
@@ -157,6 +171,7 @@
     {
         setRole(new ListModel());
         setProfile(new ListModel());
+        setNamespace(new ListModel());
 
         setSelectAll(new EntityModel());
         getSelectAll().setEntity(false);
@@ -179,9 +194,26 @@
             @Override
             public void onSuccess(Object model, Object result) {
                 populateProfiles((List<ProfileEntry>) result);
+                getProfile().getSelectedItemChangedEvent().addListener(new 
IEventListener() {
+                    @Override
+                    public void eventRaised(Event ev, Object sender, EventArgs 
args) {
+                        
getNamespace().setItems(namespacesMap.get(((ProfileEntry) 
getProfile().getSelectedItem()).getAuthz()));
+                    }
+                });
             }
         }));
 
+        AsyncDataProvider.getInstance().getAAANamespaces(new AsyncQuery(this, 
new INewAsyncCallback() {
+
+            @Override
+            public void onSuccess(Object model, Object result) {
+                namespacesMap = (HashMap<String, List<String>>) result;
+                List<String> selectedNamespaces =
+                        namespacesMap.get(((ProfileEntry) 
(getProfile().getSelectedItem())).getAuthz());
+                getNamespace().setItems(selectedNamespaces);
+                getNamespace().setSelectedItem(selectedNamespaces.get(0));
+            }
+        }));
 
         AsyncDataProvider.getInstance().getRoleList(new AsyncQuery(this, new 
INewAsyncCallback() {
 
@@ -196,6 +228,11 @@
     protected void populateProfiles(List<ProfileEntry> profiles) {
         getProfile().setItems(profiles);
         getProfile().setSelectedItem(Linq.firstOrDefault(profiles));
+    }
+
+    protected void populateNamespaces(List<String> namespaces) {
+        getNamespace().setItems(namespaces);
+        getNamespace().setSelectedItem(Linq.firstOrDefault(namespaces));
     }
 
     protected void populateRoles(List<Role> roles){
@@ -342,13 +379,13 @@
     protected void findGroups(String searchString, AsyncQuery query) {
         Frontend.getInstance()
                 .runQuery(VdcQueryType.Search,
-                        new SearchParameters("ADGROUP@" + ((ProfileEntry) 
getProfile().getSelectedItem()).getAuthz() + ": " + searchString, 
SearchType.DirectoryGroup), query); //$NON-NLS-1$ //$NON-NLS-2$
+                        new DirectorySearchParameters("ADGROUP@" + 
((ProfileEntry) getProfile().getSelectedItem()).getAuthz() + ": " + 
searchString, SearchType.DirectoryGroup, (String) 
getNamespace().getSelectedItem()), query); //$NON-NLS-1$ //$NON-NLS-2$
     }
 
     protected void findUsers(String searchString, AsyncQuery query) {
         Frontend.getInstance()
                 .runQuery(VdcQueryType.Search,
-                        new SearchParameters("ADUSER@" + ((ProfileEntry) 
getProfile().getSelectedItem()).getAuthz() + ": " + searchString, 
SearchType.DirectoryUser), query); //$NON-NLS-1$ //$NON-NLS-2$
+                        new DirectorySearchParameters("ADUSER@" + 
((ProfileEntry) getProfile().getSelectedItem()).getAuthz() + ": " + 
searchString, SearchType.DirectoryUser, (String) 
getNamespace().getSelectedItem()), query); //$NON-NLS-1$ //$NON-NLS-2$
     }
 
     protected void onUserAndAdGroupsLoaded(AdElementListModel 
adElementListModel)


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

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