Yair Zaslavsky has uploaded a new change for review. Change subject: aaa: change code of AddUser and AddGroup ......................................................................
aaa: change code of AddUser and AddGroup removing the check from canDoAction to check if entity exists in directory as these checks are done both by rest-api and gui. Topic: AAA Change-Id: If841c8d30d6ab2c5d06b1637cde93cfc65598a96 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/AddPermissionCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddUserCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddGroupParameters.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddUserParameters.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.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/BackendUsersResourceTest.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java 13 files changed, 127 insertions(+), 190 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/07/30207/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 2012841..ce75c35 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 @@ -1,32 +1,18 @@ package org.ovirt.engine.core.bll; -import java.util.Arrays; import java.util.Collections; import java.util.List; -import org.ovirt.engine.api.extensions.ExtMap; -import org.ovirt.engine.api.extensions.aaa.Authz; -import org.ovirt.engine.api.extensions.aaa.Authz.GroupRecord; -import org.ovirt.engine.core.aaa.AuthzUtils; -import org.ovirt.engine.core.aaa.DirectoryUtils; import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.utils.PermissionSubject; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.VdcObjectType; -import org.ovirt.engine.core.common.action.DirectoryIdParameters; +import org.ovirt.engine.core.common.action.AddGroupParameters; import org.ovirt.engine.core.common.businessentities.DbGroup; -import org.ovirt.engine.core.common.errors.VdcBllMessages; -import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.DbGroupDAO; -import org.ovirt.engine.core.extensions.mgr.ExtensionProxy; -import org.ovirt.engine.core.utils.extensionsmgr.EngineExtensionsManager; -public class AddGroupCommand<T extends DirectoryIdParameters> +public class AddGroupCommand<T extends AddGroupParameters> extends CommandBase<T> { - - // We save a reference to the directory group to avoid looking it up once when checking the conditions and another - // time when actually adding the group to the database: - private ExtMap groupRecord; public AddGroupCommand(T params) { this(params, null); @@ -44,30 +30,7 @@ @Override protected boolean canDoAction() { - String directoryName = getParameters().getDirectory(); - String id = getParameters().getId(); - ExtensionProxy authz = EngineExtensionsManager.getInstance().getExtensionByName(directoryName); - if (authz == null) { - addCanDoActionMessage(VdcBllMessages.USER_MUST_EXIST_IN_DIRECTORY); - return false; - } - - boolean foundGroup = false; - for (String namespace : getParameters().getNamespace() != null ? Arrays.asList(getParameters().getNamespace()) - : authz.getContext().<List<String>> get(Authz.ContextKeys.AVAILABLE_NAMESPACES)) { - groupRecord = AuthzUtils.findGroupRecordsByIds(authz, namespace, Arrays.asList(id), true, true).get(0); - if (groupRecord != null) { - foundGroup = true; - break; - } - } - - if (!foundGroup) { - addCanDoActionMessage(VdcBllMessages.USER_MUST_EXIST_IN_DIRECTORY); - return false; - } - - addCustomValue("NewUserName", groupRecord.<String> get(GroupRecord.NAME)); + addCustomValue("NewUserName", getParameters().getGroupToAdd().getName()); return true; } @@ -77,21 +40,17 @@ // First check if the group is already in the database, if it is we // need to update, if not we need to insert: DbGroupDAO dao = getAdGroupDAO(); - DbGroup dbGroup = dao.getByExternalId(getParameters().getDirectory(), groupRecord.<String> get(GroupRecord.NAME)); + DbGroup groupToAdd = getParameters().getGroupToAdd(); + DbGroup dbGroup = dao.getByExternalId(groupToAdd.getDomain(), groupToAdd.getExternalId()); if (dbGroup == null) { - dbGroup = DirectoryUtils.mapGroupRecordToDbGroup(getParameters().getDirectory(), groupRecord); - dbGroup.setId(Guid.newGuid()); - dao.save(dbGroup); + dao.save(groupToAdd); } else { - Guid id = dbGroup.getId(); - dbGroup = DirectoryUtils.mapGroupRecordToDbGroup(getParameters().getDirectory(), groupRecord); - dbGroup.setId(id); dao.update(dbGroup); } // Return the identifier of the created group: - setActionReturnValue(dbGroup.getId()); + setActionReturnValue(groupToAdd.getId()); setSucceeded(true); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddPermissionCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddPermissionCommand.java index 6a1e5cb..ab43418 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddPermissionCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddPermissionCommand.java @@ -7,7 +7,8 @@ import org.ovirt.engine.core.bll.utils.PermissionSubject; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.VdcObjectType; -import org.ovirt.engine.core.common.action.DirectoryIdParameters; +import org.ovirt.engine.core.common.action.AddGroupParameters; +import org.ovirt.engine.core.common.action.AddUserParameters; import org.ovirt.engine.core.common.action.PermissionsOperationsParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VdcReturnValueBase; @@ -105,7 +106,7 @@ user = existing; } else { - user = addUser(id, directory, externalId, user.getNamespace()); + user = addUser(user); if (user == null) { setSucceeded(false); return; @@ -122,7 +123,7 @@ group = existing; } else { - group = addGroup(id, directory, externalId, group.getNamespace()); + group = addGroup(group); if (group == null) { setSucceeded(false); return; @@ -206,16 +207,13 @@ return permissionsSubject; } - private DbUser addUser(Guid id, String directory, String externalId, String namespace) { + private DbUser addUser(DbUser dbUser) { // Try to add the user with the external id: - if (directory != null && externalId != null) { - DirectoryIdParameters parameters = new DirectoryIdParameters(); - parameters.setDirectory(directory); - parameters.setId(externalId); - parameters.setNamespace(namespace); + if (dbUser.getDomain() != null && dbUser.getExternalId() != null) { + AddUserParameters parameters = new AddUserParameters(dbUser); VdcReturnValueBase result = runInternalAction(VdcActionType.AddUser, parameters, cloneContextAndDetachFromParent()); if (result.getCanDoAction()) { - id = (Guid) result.getActionReturnValue(); + Guid id = (Guid) result.getActionReturnValue(); if (id != null) { return getDbUserDAO().get(id); } @@ -226,16 +224,13 @@ return null; } - private DbGroup addGroup(Guid id, String directory, String externalId, String namespace) { + private DbGroup addGroup(DbGroup groupToAdd) { // Try to add the user with the external id: - if (directory != null && externalId != null) { - DirectoryIdParameters parameters = new DirectoryIdParameters(); - parameters.setDirectory(directory); - parameters.setId(externalId); - parameters.setNamespace(namespace); + if (groupToAdd.getDomain() != null && groupToAdd.getExternalId() != null) { + AddGroupParameters parameters = new AddGroupParameters(groupToAdd); VdcReturnValueBase result = runInternalAction(VdcActionType.AddGroup, parameters, cloneContextAndDetachFromParent()); if (result.getCanDoAction()) { - id = (Guid) result.getActionReturnValue(); + Guid id = (Guid) result.getActionReturnValue(); if (id != null) { return getAdGroupDAO().get(id); } 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 182d5d2..8762617 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 @@ -2,30 +2,17 @@ import java.util.Arrays; import java.util.Collections; -import java.util.HashSet; import java.util.List; -import org.ovirt.engine.api.extensions.ExtMap; -import org.ovirt.engine.api.extensions.aaa.Authz; -import org.ovirt.engine.api.extensions.aaa.Authz.PrincipalRecord; -import org.ovirt.engine.core.aaa.AuthzUtils; -import org.ovirt.engine.core.aaa.DirectoryUtils; import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.utils.PermissionSubject; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.VdcObjectType; -import org.ovirt.engine.core.common.action.DirectoryIdParameters; +import org.ovirt.engine.core.common.action.AddUserParameters; import org.ovirt.engine.core.common.businessentities.DbUser; -import org.ovirt.engine.core.common.errors.VdcBllMessages; -import org.ovirt.engine.core.compat.Guid; -import org.ovirt.engine.core.dao.DbUserDAO; -import org.ovirt.engine.core.extensions.mgr.ExtensionProxy; -import org.ovirt.engine.core.utils.extensionsmgr.EngineExtensionsManager; +import org.ovirt.engine.core.dal.dbbroker.DbFacade; -public class AddUserCommand<T extends DirectoryIdParameters> extends CommandBase<T> { - // We save a reference to the directory user to avoid looking it up once when checking the conditions and another - // time when actually adding the user to the database: - private ExtMap principal; +public class AddUserCommand<T extends AddUserParameters> extends CommandBase<T> { public AddUserCommand(T params) { this(params, null); @@ -43,90 +30,17 @@ @Override protected boolean canDoAction() { - // Check that the directory name has been provided: - String directoryName = getParameters().getDirectory(); - if (directoryName == null) { - log.error( - "Can't add user because directory name hasn't been provided." - ); - addCanDoActionMessage(VdcBllMessages.USER_MUST_EXIST_IN_DIRECTORY); - return false; - } - - // Check that the identifier of the directory user has been provided: - String id = getParameters().getId(); - if (id == null) { - log.errorFormat( - "Can't add user from directory \"{0}\" because the user identifier hasn't been provided.", - directoryName - ); - addCanDoActionMessage(VdcBllMessages.USER_MUST_EXIST_IN_DIRECTORY); - return false; - } - - // Check that the directory exists: - ExtensionProxy authz = EngineExtensionsManager.getInstance().getExtensionByName(directoryName); - if (authz == null) { - log.errorFormat( - "Can't add user with id \"{0}\" because directory \"{1}\" doesn't exist.", - id, directoryName - ); - addCanDoActionMessage(VdcBllMessages.USER_MUST_EXIST_IN_DIRECTORY); - return false; - } - - // Check that the user is available in the directory (and save the reference to avoid looking it up later when - // actually adding the user to the database): - boolean foundUser = false; - for (String namespace : getParameters().getNamespace() != null ? Arrays.asList(getParameters().getNamespace()) - : authz.getContext().<List<String>> get(Authz.ContextKeys.AVAILABLE_NAMESPACES)) { - principal = AuthzUtils.fetchPrincipalsByIdsRecursively(authz, namespace, Arrays.asList(id)).get(0); - if (principal != null) { - foundUser = true; - break; - } - } - if (!foundUser) { - log.errorFormat( - "Can't add user with id \"{0}\" because it doesn't exist in directory \"{1}\".", - id, directoryName - ); - addCanDoActionMessage(VdcBllMessages.USER_MUST_EXIST_IN_DIRECTORY); - return false; - } - - - // Populate information for the audit log: - addCustomValue("NewUserName", principal.<String> get(PrincipalRecord.NAME)); - + addCustomValue("NewUserName", getParameters().getUserToAdd().getLoginName()); return true; } @Override protected void executeCommand() { - DbUserDAO dao = getDbUserDAO(); - // First check if the user is already in the database, if it is we need to update, if not we need to insert: - DirectoryUtils.flatGroups(principal); - HashSet<Guid> groupIds = DirectoryUtils.getGroupIdsFromPrincipal(getParameters().getDirectory(), principal); - DbUser dbUser = dao.getByExternalId(getParameters().getDirectory(), principal.<String> get(PrincipalRecord.ID)); - if (dbUser == null) { - dbUser = DirectoryUtils.mapPrincipalRecordToDbUser(getParameters().getDirectory(), principal); - dbUser.setId(Guid.newGuid()); - dbUser.setGroupIds(groupIds); - dao.save(dbUser); - } - else { - Guid id = dbUser.getId(); - dbUser = DirectoryUtils.mapPrincipalRecordToDbUser(getParameters().getDirectory(), principal); - dbUser.setId(id); - dbUser.setGroupIds(groupIds); - dao.update(dbUser); - } - - // Return the identifier of the created user: - setActionReturnValue(dbUser.getId()); + DbUser userToAdd = getParameters().getUserToAdd(); + SyncUsers.sync(Arrays.asList(userToAdd)); + setActionReturnValue(DbFacade.getInstance().getDbUserDao().getByExternalId(userToAdd.getDomain(), userToAdd.getExternalId()).getId()); setSucceeded(true); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java index cb80065..8ad22c5 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java @@ -64,14 +64,14 @@ log.info(String.format("The user %1$s from authz extension %2$s got updated since last interval", activeUser.getLoginName(), activeUser.getDomain())); - DbFacade.getInstance().getDbUserDao().update(activeUser); + DbFacade.getInstance().getDbUserDao().saveOrUpdate(activeUser); } } else { log.info(String.format("The user %1$s from authz extension %2$s could not be found, and will be marked as inactive", dbUser.getLoginName(), dbUser.getDomain())); dbUser.setActive(false); - DbFacade.getInstance().getDbUserDao().update(dbUser); + DbFacade.getInstance().getDbUserDao().saveOrUpdate(dbUser); } } } catch (Exception ex) { diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddGroupParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddGroupParameters.java new file mode 100644 index 0000000..562c031 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddGroupParameters.java @@ -0,0 +1,28 @@ +package org.ovirt.engine.core.common.action; + +import org.ovirt.engine.core.common.businessentities.DbGroup; + +public class AddGroupParameters extends VdcActionParametersBase { + + /** + * + */ + private static final long serialVersionUID = -5422503021503559327L; + private DbGroup groupToAdd; + + public AddGroupParameters() { + } + + public AddGroupParameters(DbGroup groupToAdd) { + this.groupToAdd = groupToAdd; + } + + public DbGroup getGroupToAdd() { + return groupToAdd; + } + + public void setGroupToAdd(DbGroup groupToAdd) { + this.groupToAdd = groupToAdd; + } + +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddUserParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddUserParameters.java new file mode 100644 index 0000000..2ef7f6a --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddUserParameters.java @@ -0,0 +1,28 @@ +package org.ovirt.engine.core.common.action; + +import org.ovirt.engine.core.common.businessentities.DbUser; + +public class AddUserParameters extends VdcActionParametersBase { + + /** + * + */ + private static final long serialVersionUID = 5238452182295928273L; + private DbUser userToAdd; + + public AddUserParameters(DbUser userToAdd) { + this.userToAdd = userToAdd; + } + + public AddUserParameters() { + } + + public void setUserToAdd(DbUser userToAdd) { + this.userToAdd = userToAdd; + } + + public DbUser getUserToAdd() { + return userToAdd; + } + +} diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java index 2ffc7cd..b6a77c5 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java @@ -86,6 +86,9 @@ @Override public void save(DbGroup group) { + if (Guid.isNullOrEmpty(group.getId())) { + group.setId(Guid.newGuid()); + } insertOrUpdate(group, "InsertGroup"); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java index bc5c37a..813a514 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java @@ -163,6 +163,7 @@ @Override public void save(DbUser user) { + setIdIfNeeded(user); new SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertUser").execute(new DbUserMapSqlParameterSource(user)); } @@ -181,7 +182,14 @@ @Override public void saveOrUpdate(DbUser user) { + setIdIfNeeded(user); new SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertOrUpdateUser").execute(new DbUserMapSqlParameterSource(user)); } + private void setIdIfNeeded(DbUser user) { + if (Guid.isNullOrEmpty(user.getId())) { + user.setId(Guid.newGuid()); + } + } + } 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 ac0dd52..814d8a9 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 @@ -14,7 +14,7 @@ import org.ovirt.engine.api.resource.GroupResource; import org.ovirt.engine.api.resource.GroupsResource; import org.ovirt.engine.core.aaa.DirectoryGroup; -import org.ovirt.engine.core.common.action.DirectoryIdParameters; +import org.ovirt.engine.core.common.action.AddGroupParameters; import org.ovirt.engine.core.common.action.IdParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.DbGroup; @@ -163,10 +163,8 @@ .entity("No such group: " + group.getName() + " in directory " + directoryName) .build(); } - DirectoryIdParameters parameters = new DirectoryIdParameters(); - parameters.setDirectory(directoryName); - parameters.setId(directoryGroup.getId()); - parameters.setNamespace(directoryGroup.getNamespace()); + AddGroupParameters parameters = new AddGroupParameters(); + parameters.setGroupToAdd(new DbGroup(directoryGroup)); QueryIdResolver<Guid> resolver = new QueryIdResolver<>(VdcQueryType.GetDbGroupById, IdQueryParameters.class); return performCreate(VdcActionType.AddGroup, parameters, resolver, BaseResource.class); } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java index 699d8cd..cea6092 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResource.java @@ -16,7 +16,7 @@ import org.ovirt.engine.api.resource.UserResource; import org.ovirt.engine.api.resource.UsersResource; import org.ovirt.engine.core.aaa.DirectoryUser; -import org.ovirt.engine.core.common.action.DirectoryIdParameters; +import org.ovirt.engine.core.common.action.AddUserParameters; import org.ovirt.engine.core.common.action.IdParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.DbUser; @@ -187,10 +187,7 @@ .entity("No such user: " + user.getUserName() + " in domain " + domain) .build(); } - DirectoryIdParameters parameters = new DirectoryIdParameters(); - parameters.setDirectory(directoryUser.getDirectoryName()); - parameters.setId(directoryUser.getId()); - parameters.setNamespace(directoryUser.getNamespace()); + AddUserParameters parameters = new AddUserParameters(new DbUser(directoryUser)); QueryIdResolver<Guid> resolver = new QueryIdResolver<>(VdcQueryType.GetDbUserByUserId, IdQueryParameters.class); return performCreate(VdcActionType.AddUser, parameters, resolver, BaseResource.class); } 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 02e9810..8020590 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 @@ -11,7 +11,7 @@ import org.ovirt.engine.api.model.Fault; import org.ovirt.engine.api.model.Group; import org.ovirt.engine.core.aaa.DirectoryGroup; -import org.ovirt.engine.core.common.action.DirectoryIdParameters; +import org.ovirt.engine.core.common.action.AddGroupParameters; import org.ovirt.engine.core.common.action.IdParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.DbGroup; @@ -208,9 +208,9 @@ ); setUpCreationExpectations( VdcActionType.AddGroup, - DirectoryIdParameters.class, - new String[] { "Directory", "Id" }, - new Object[] { DOMAIN, EXTERNAL_IDS[0] }, + AddGroupParameters.class, + new String[] { "GroupToAdd" }, + new Object[] { new DbGroup(getDirectoryGroup(0)) }, true, true, GUIDS[0], @@ -247,9 +247,9 @@ ); setUpCreationExpectations( VdcActionType.AddGroup, - DirectoryIdParameters.class, - new String[] { "Directory", "Id" }, - new Object[] { DOMAIN, EXTERNAL_IDS[0] }, + AddGroupParameters.class, + new String[] { "GroupToAdd" }, + new Object[] { new DbGroup(getDirectoryGroup(0)) }, true, true, GUIDS[0], @@ -305,9 +305,9 @@ ); setUpCreationExpectations( VdcActionType.AddGroup, - DirectoryIdParameters.class, - new String[] { "Directory", "Id" }, - new Object[] { DOMAIN, EXTERNAL_IDS[0] }, + AddGroupParameters.class, + new String[] { "GroupToAdd" }, + new Object[] { new DbGroup(getDirectoryGroup(0)) }, true, true, GUIDS[0], 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 6d570fa..ca6f226 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 @@ -15,7 +15,7 @@ import org.ovirt.engine.api.model.Group; import org.ovirt.engine.api.model.User; import org.ovirt.engine.core.aaa.DirectoryUser; -import org.ovirt.engine.core.common.action.DirectoryIdParameters; +import org.ovirt.engine.core.common.action.AddUserParameters; import org.ovirt.engine.core.common.action.IdParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.DbUser; @@ -186,9 +186,9 @@ ); setUpCreationExpectations( VdcActionType.AddUser, - DirectoryIdParameters.class, - new String[] { "Directory", "Id" }, - new Object[] { DOMAIN, EXTERNAL_IDS[0] }, + AddUserParameters.class, + new String[] { "UserToAdd" }, + new Object[] { new DbUser(getDirectoryUser(0)) }, true, true, GUIDS[0], diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java index 40bc41e..27c5f45 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java @@ -5,11 +5,13 @@ import java.util.Map; import org.ovirt.engine.core.common.VdcActionUtils; +import org.ovirt.engine.core.common.action.AddGroupParameters; +import org.ovirt.engine.core.common.action.AddUserParameters; import org.ovirt.engine.core.common.action.AttachEntityToTagParameters; -import org.ovirt.engine.core.common.action.DirectoryIdParameters; import org.ovirt.engine.core.common.action.IdParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.DbGroup; import org.ovirt.engine.core.common.businessentities.DbUser; import org.ovirt.engine.core.common.businessentities.Tags; import org.ovirt.engine.core.common.businessentities.VDSGroup; @@ -455,21 +457,26 @@ ArrayList<VdcActionType> actionsList = new ArrayList<VdcActionType>(items.size()); ArrayList<VdcActionParametersBase> parametersList = new ArrayList<VdcActionParametersBase>(items.size()); + VdcActionParametersBase parameters = null; for (DbUser item : items) { if (item.isGroup()) { actionsList.add(VdcActionType.AddGroup); - + DbGroup grp = new DbGroup(); + grp.setExternalId(item.getExternalId()); + grp.setName(item.getFirstName()); + grp.setNamespace(item.getNamespace()); + grp.setId(item.getId()); + grp.setDomain(item.getDomain()); + grp.setActive(item.isActive()); + parameters = new AddGroupParameters(grp); } else { actionsList.add(VdcActionType.AddUser); + parameters = new AddUserParameters(item); } - DirectoryIdParameters parameters = new DirectoryIdParameters(); - parameters.setDirectory(item.getDomain()); - parameters.setId(item.getExternalId()); - parameters.setNamespace(item.getNamespace()); parametersList.add(parameters); } -- To view, visit http://gerrit.ovirt.org/30207 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If841c8d30d6ab2c5d06b1637cde93cfc65598a96 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Yair Zaslavsky <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
