@Override public void save(Permission permission) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("ad_element_id", permission.getAdElementId()) .addValue("id", permission.getId()) .addValue("role_id", permission.getRoleId()) .addValue("object_id", permission.getObjectId()) .addValue("object_type_id", permission.getObjectType().getValue()); getCallsHandler().executeModification("InsertPermission", parameterSource); }
@Override protected org.ovirt.engine.core.common.businessentities.Permission getEntity(int index) { org.ovirt.engine.core.common.businessentities.Permission permission = new org.ovirt.engine.core.common.businessentities.Permission(); permission.setId(GUIDS[0]); permission.setAdElementId(GUIDS[1]); permission.setRoleId(GUIDS[2]); return permission; }
@Mapping(from = Permission.class, to = org.ovirt.engine.core.common.businessentities.Permission.class) public static org.ovirt.engine.core.common.businessentities.Permission map( Permission model, org.ovirt.engine.core.common.businessentities.Permission template) { org.ovirt.engine.core.common.businessentities.Permission entity = template != null ? template : new org.ovirt.engine.core.common.businessentities.Permission(); if (model.isSetId()) { entity.setId(GuidUtils.asGuid(model.getId())); } if (model.isSetRole()) { Role role = model.getRole(); if (role.isSetId()) { entity.setRoleId(GuidUtils.asGuid(role.getId())); } if (role.isSetName()) { entity.setRoleName(role.getName()); } } entity.setObjectId(map(model, template != null ? template.getObjectId() : null)); entity.setObjectType(map(model, template != null ? template.getObjectType() : null)); return entity; }
@Override protected Object[] getRawValue(Permission object) { return new Object[] { object.getObjectType(), object.getObjectName(), getModel().getEntity(), object.getObjectId() }; } };
private void castEveryonePermissionsToUser(org.ovirt.engine.core.common.businessentities.Permission entity) { if (entity.getAdElementId() != null && entity.getAdElementId().equals(Guid.EVERYONE) && queryType.equals(QueryType.GetPermissionsByAdElementId)) { entity.setAdElementId(this.targetId); } }
Permission perms = new Permission(); perms.setRoleType(RoleType.ADMIN); perms.setRoleId(ADMIN_ROLE_TYPE_FROM_FIXTURE_ID); perms.setAdElementId(nonAdminUser.getId()); perms.setObjectId(SYSTEM_OBJECT_ID); perms.setObjectType(VdcObjectType.System); assertNotNull(permissionDao.get(perms.getId()));
/** * Ensures that saving a permission works as expected. */ @Test public void testSave() { dao.save(new_permissions); Permission result = dao.getForRoleAndAdElementAndObject( new_permissions.getRoleId(), new_permissions.getAdElementId(), new_permissions.getObjectId()); assertNotNull(result); assertEquals(new_permissions, result); }
/** * Create the parameters for the permissions operation. * * @param model the incoming permission * @return the parameters for the operation */ private PermissionsOperationsParameters getParameters(Permission model) { org.ovirt.engine.core.common.businessentities.Permission entity = map(model, null); if (!isPrincipalSubCollection()) { entity.setObjectId(targetId); entity.setObjectType(objectType); } PermissionsOperationsParameters parameters = new PermissionsOperationsParameters(); parameters.setPermission(entity); Object principal = getPrincipal(model); if (principal instanceof DbUser) { DbUser user = (DbUser) principal; entity.setAdElementId(user.getId()); parameters.setUser(user); } if (principal instanceof DbGroup) { DbGroup group = (DbGroup) principal; entity.setAdElementId(group.getId()); parameters.setGroup(group); } return parameters; }
for (Permission permission : list) { if (permission.getRoleId().equals(ApplicationGuids.superUser.asGuid()) || permission.getRoleId().equals(ApplicationGuids.dataCenterAdmin.asGuid())) { continue; if (!map.containsKey(permission.getAdElementId())) { map.put(permission.getAdElementId(), permission); } else { if (map.get(permission.getAdElementId()) .getRoleId() .equals(ApplicationGuids.quotaConsumer.asGuid())) { map.put(permission.getAdElementId(), permission);
@Override protected Permission map(org.ovirt.engine.core.common.businessentities.Permission entity, Permission template) { Map<Guid, DbUser> users = parent.getUsers(); return parent.map(entity, users.containsKey(entity.getAdElementId()) ? users.get(entity.getAdElementId()) : null); }
/** * Ensures that the correct collection is returned. */ @Test public void testGetAllForAdElementAndObject() { List<Permission> result = dao.getAllForAdElementAndObjectId(AD_ELEMENT_ID, VM_ENTITY_ID); assertNotNull(result); assertFalse(result.isEmpty()); for (Permission permission : result) { assertEquals(AD_ELEMENT_ID, permission.getAdElementId()); assertEquals(VM_ENTITY_ID, permission.getObjectId()); } }
String id = entity.getObjectId().toString(); switch (entity.getObjectType()) { case System: break;
private List<org.ovirt.engine.core.common.businessentities.Permission> getInheritedPermissions() { ((GetPermissionsForObjectParameters)queryParams).setVdcObjectType(objectType); ((GetPermissionsForObjectParameters)queryParams).setDirectOnly(false); List<org.ovirt.engine.core.common.businessentities.Permission> inheritedPermissions = getBackendCollection(queryType, queryParams); for (org.ovirt.engine.core.common.businessentities.Permission entity : inheritedPermissions) { if (objectType != null) { entity.setObjectType(objectType); entity.setObjectId(targetId); } } return inheritedPermissions; }
/** * Ensures that the correct collection is returned. */ @Test public void testGetAllForRoleAndObject() { List<Permission> result = dao.getAllForRoleAndObject(ROLE_ID, VM_ENTITY_ID); assertNotNull(result); assertFalse(result.isEmpty()); for (Permission permission : result) { assertEquals(ROLE_ID, permission.getRoleId()); assertEquals(VM_ENTITY_ID, permission.getObjectId()); } }
@BeforeEach @Override public void setUp() throws Exception { super.setUp(); new_permissions = new Permission(AD_ELEMENT_ID, ROLE_ID, FixturesTool.DATA_CENTER, VdcObjectType.StoragePool); }
/** * asserts the result of a call to {@link PermissionDao#getTreeForEntity(Guid, VdcObjectType)} * @param entityID The object to retrieve tree for * @param alternativeObjectIds Additional object IDs that are allowed in the resulting permissions */ protected void assertGetTreeForEntityResult(Guid entityID, List<Permission> result, Guid... alternativeObjectIds) { Set<Guid> expectedObjectIds = new HashSet<>(); expectedObjectIds.add(entityID); expectedObjectIds.addAll(Arrays.asList(alternativeObjectIds)); assertNotNull(result); assertFalse(result.isEmpty()); for (Permission permission : result) { assertTrue(expectedObjectIds.contains(permission.getObjectId())); } }
private void updateActionAvailability() { ArrayList<Permission> items = (getSelectedItems() != null) ? (ArrayList<Permission>) getSelectedItems() : new ArrayList<Permission>(); boolean removeExe = false; if (items.size() > 0) { removeExe = true; } for (Permission perm : items) { if (!perm.getRoleId().equals(ApplicationGuids.quotaConsumer.asGuid())) { removeExe = false; break; } } getRemoveCommand().setIsExecutionAllowed(removeExe); }
for (Permission permission : permissions) { if (permission.getObjectType() == VdcObjectType.System && permission.getRoleType() == RoleType.ADMIN) { hasAdminSystemPermission = true; break;
@Mapping(from = org.ovirt.engine.core.common.businessentities.Permission.class, to = Role.class) public static Role map(org.ovirt.engine.core.common.businessentities.Permission entity, Role template) { Role model = template != null ? template : new Role(); model.setName(entity.getRoleName()); model.setId(entity.getRoleId().toString()); return model; }
protected Roles mapCollection(List<Permission> entities) { Roles collection = new Roles(); for (Permission entity : entities) { if (entity.getObjectType() == VdcObjectType.System) { collection.getRoles().add(addLinks(map(entity))); } } return collection; }