Martin Mucha has uploaded a new change for review. Change subject: userportal,webadmin: DbUser->PermissionsOperationsParameters to separate class ......................................................................
userportal,webadmin: DbUser->PermissionsOperationsParameters to separate class refactored creation PermissionsOperationsParameters out of DbUser to separate class so it can be reused elsewhere. Change-Id: Ib70ceb201c20ce621df917d68bff4ae2b8f1e834 Signed-off-by: Martin Mucha <[email protected]> --- A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/PermissionsOperationsParametersBuilder.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/SystemPermissionListModel.java 2 files changed, 80 insertions(+), 30 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/14/33314/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/PermissionsOperationsParametersBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/PermissionsOperationsParametersBuilder.java new file mode 100644 index 0000000..7a63a67 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/PermissionsOperationsParametersBuilder.java @@ -0,0 +1,78 @@ +package org.ovirt.engine.ui.uicommonweb.models.configure; + +import java.util.ArrayList; +import java.util.List; + +import org.ovirt.engine.core.common.VdcObjectType; +import org.ovirt.engine.core.common.action.PermissionsOperationsParameters; +import org.ovirt.engine.core.common.action.VdcActionParametersBase; +import org.ovirt.engine.core.common.businessentities.Permissions; +import org.ovirt.engine.core.common.businessentities.Role; +import org.ovirt.engine.core.common.businessentities.aaa.DbGroup; +import org.ovirt.engine.core.common.businessentities.aaa.DbUser; +import org.ovirt.engine.core.compat.Guid; + +public class PermissionsOperationsParametersBuilder { + private Role role; + private VdcObjectType objectType; + private Guid objectId; + + public ArrayList<VdcActionParametersBase> build(List<DbUser> dbUsers) { + ArrayList<VdcActionParametersBase> result = new ArrayList<VdcActionParametersBase>(); + for (DbUser dbUser : dbUsers) { + result.add(dbUserToPermissionsOperationsParameters(dbUser)); + } + return result; + } + + public VdcActionParametersBase build(DbUser user) { + return dbUserToPermissionsOperationsParameters(user); + } + + private PermissionsOperationsParameters dbUserToPermissionsOperationsParameters(DbUser dbUser) { + PermissionsOperationsParameters result = new PermissionsOperationsParameters(); + + result.setPermission(createPermissions(dbUser)); + if (dbUser.isGroup()) { + result.setGroup(createDbGroup(dbUser)); + } else { + result.setUser(dbUser); + } + + return result; + } + + private DbGroup createDbGroup(DbUser dbUser) { + DbGroup group = new DbGroup(); + group.setId(dbUser.getId()); + group.setName(dbUser.getFirstName()); + group.setDomain(dbUser.getDomain()); + group.setExternalId(dbUser.getExternalId()); + group.setNamespace(dbUser.getNamespace()); + return group; + } + + private Permissions createPermissions(DbUser user) { + Permissions permissions = new Permissions(); + permissions.setad_element_id(user.getId()); + permissions.setrole_id(role.getId()); + permissions.setObjectId(objectId); + permissions.setObjectType(objectType); + return permissions; + } + + public PermissionsOperationsParametersBuilder setRole(Role role) { + this.role = role; + return this; + } + + public PermissionsOperationsParametersBuilder setObjectType(VdcObjectType objectType) { + this.objectType = objectType; + return this; + } + + public PermissionsOperationsParametersBuilder setObjectId(Guid objectId) { + this.objectId = objectId; + return this; + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/SystemPermissionListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/SystemPermissionListModel.java index 2b63ad5..8b26f34 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/SystemPermissionListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/SystemPermissionListModel.java @@ -8,7 +8,6 @@ import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.Permissions; import org.ovirt.engine.core.common.businessentities.Role; -import org.ovirt.engine.core.common.businessentities.aaa.DbGroup; import org.ovirt.engine.core.common.businessentities.aaa.DbUser; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; @@ -159,35 +158,8 @@ Role role = (Role) model.getRole().getSelectedItem(); - ArrayList<VdcActionParametersBase> list = new ArrayList<VdcActionParametersBase>(); - for (DbUser user : items) - { - Permissions tempVar = new Permissions(); - tempVar.setad_element_id(user.getId()); - tempVar.setrole_id(role.getId()); - Permissions perm = tempVar; - - if (user.isGroup()) - { - DbGroup group = new DbGroup(); - group.setId(user.getId()); - group.setName(user.getFirstName()); - group.setDomain(user.getDomain()); - group.setExternalId(user.getExternalId()); - group.setNamespace(user.getNamespace()); - PermissionsOperationsParameters tempVar2 = new PermissionsOperationsParameters(); - tempVar2.setPermission(perm); - tempVar2.setGroup(group); - list.add(tempVar2); - } - else - { - PermissionsOperationsParameters tempVar3 = new PermissionsOperationsParameters(); - tempVar3.setPermission(perm); - tempVar3.setUser(user); - list.add(tempVar3); - } - } + final PermissionsOperationsParametersBuilder builder = new PermissionsOperationsParametersBuilder(); + ArrayList<VdcActionParametersBase> list = builder.setRole(role).build(items); model.startProgress(null); -- To view, visit http://gerrit.ovirt.org/33314 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib70ceb201c20ce621df917d68bff4ae2b8f1e834 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Mucha <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
