@Override protected Permission addLinks(Permission model, Class<? extends BaseResource> suggestedParent, String... subCollectionMembersToExclude) { return super.addLinks(model, model.getUser() != null ? suggestedParentType : Group.class); }
@Override public Permission addParents(Permission permission) { // REVISIT for entity-level permissions we need an isUser // flag on the permissions entity in order to distinguish // between the user and group cases if (isGroupSubCollection() && permission.isSetUser() && permission.getUser().isSetId()) { permission.setGroup(new Group()); permission.getGroup().setId(permission.getUser().getId()); permission.setUser(null); } return permission; }
protected Permissions mapCollection(Set<org.ovirt.engine.core.common.businessentities.Permission> entities) { Permissions collection = new Permissions(); for (org.ovirt.engine.core.common.businessentities.Permission entity : entities) { castEveryonePermissionsToUser(entity); Permission permission = map(entity, getUserById(entity.getAdElementId())); collection.getPermissions().add(addLinks(permission, permission.getUser() != null ? suggestedParentType : Group.class)); } return collection; }
@Test public void testCompleteSuperFieldAlternatives() { Permission permission = new Permission(); permission.setUser(new User()); permission.getUser().setName("joe"); CompletenessAssertor.validateParameters(permission, "vm|user.name"); }
@Test public void testCompleteBothAlternatives() { Permission permission = new Permission(); permission.setUser(new User()); permission.getUser().setName("joe"); CompletenessAssertor.validateParameters(permission, "vm|user.name|id"); }
/** * injects user/group base on permission owner type * @param entity the permission to map * @param user the permission owner * @return permission */ public Permission map(org.ovirt.engine.core.common.businessentities.Permission entity, DbUser user) { Permission template = new Permission(); if (entity.getAdElementId() != null) { if (isUser(user)) { template.setUser(new User()); template.getUser().setId(entity.getAdElementId().toString()); } else { template.setGroup(new Group()); template.getGroup().setId(entity.getAdElementId().toString()); } } return map(entity, template); }
@Override protected Permission getModel() { Permission model = new Permission(); model.setUser(new User()); model.getUser().setId(GUIDS[1].toString()); model.setRole(new Role()); model.getRole().setId(GUIDS[3].toString()); return model; }
@Override protected void verifyModel(Permission model, int index) { super.verifyModel(model, index); if (index == 0) { assertTrue(model.isSetUser()); assertEquals(GUIDS[1].toString(), model.getUser().getId()); } else { assertTrue(model.isSetGroup()); assertEquals(GUIDS[1].toString(), model.getGroup().getId()); } } }
@Override protected void verifyModel(Permission model, int index) { super.verifyModel(model, index); if (index == 0) { assertTrue(model.isSetUser()); assertEquals(GUIDS[1].toString(), model.getUser().getId()); } else { assertTrue(model.isSetGroup()); assertEquals(GUIDS[1].toString(), model.getGroup().getId()); } } }
@Mapping(from = org.ovirt.engine.core.common.businessentities.Permission.class, to = Permission.class) public static Permission map(org.ovirt.engine.core.common.businessentities.Permission entity, Permission template) { Permission model = template != null ? template : new Permission(); model.setId(entity.getId().toString()); if (entity.getRoleId() != null) { model.setRole(new Role()); model.getRole().setId(entity.getRoleId().toString()); } if (entity.getAdElementId() != null && (template == null || !template.isSetGroup())) { model.setUser(new User()); model.getUser().setId(entity.getAdElementId().toString()); } if (entity.getObjectId() != null) { setObjectId(model, entity); } return model; }
@Override protected void verifyModel(Permission model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertTrue(model.isSetUser()); assertEquals(GUIDS[1].toString(), model.getUser().getId()); assertTrue(model.isSetRole()); assertEquals(GUIDS[2].toString(), model.getRole().getId()); }
User user = permission.getUser(); DbUser dbUser = UserMapper.map(user, null); if (dbUser.getDomain() == null) {
@Test public void testAddIncompletePermission() { Permission model = new Permission(); model.setUser(new User()); model.getUser().setId(GUIDS[1].toString()); model.setRole(new Role()); model.getRole().setId(GUIDS[3].toString()); setUriInfo(setUpBasicUriExpectations()); verifyIncompleteException( assertThrows(WebApplicationException.class, () -> collection.add(model)), "Permission", "add", "dataCenter|cluster|host|storageDomain|vm|vmPool|template.id"); }
to.setUser(adaptOut(from.getUser()));