@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; }
@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; }
@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; }
@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(adaptIn(from.getUser()));