public static void validateAdd(Role role) { if (role == null) { throw new ValidationException("Parameter 'role' is mandatory but was not provided."); } if (role.getName()==null) { throw new ValidationException("Parameter 'role.name' is mandatory but was not provided."); } if (role.getPermits()==null || role.getPermits().getPermits()==null || role.getPermits().getPermits().size() == 0 || role.getPermits().getPermits().get(0).getId()==null) { throw new ValidationException("Parameter 'role.permits.id' is mandatory but was not provided."); } }
private void validatePermitId(Role role) { for (Permit permit : role.getPermits().getPermits()) { if (permit.isSetId()) { ActionGroup actionGroup = ActionGroup.forValue(Integer.parseInt(permit.getId())); if (actionGroup == null) { throw new WebApplicationException(Response.status(Response.Status.BAD_REQUEST) .entity(permit.getId() + " is not a valid permit ID.") .build()); } } } }
@Override public Response add(Role role) { validateParameters(role, "name", "permits.id"); validatePermitId(role); return performCreate(ActionType.AddRoleWithActionGroups, new RoleWithActionGroupsParameters(map(role), mapPermits(role.getPermits().getPermits())), new QueryIdResolver<Guid>(QueryType.GetRoleById, IdQueryParameters.class)); }
@Test public void testAddRoleInvalidPermit() { setUriInfo(setUpBasicUriExpectations()); Role model = new Role(); model.setName(NAMES[0]); model.setPermits(new Permits()); model.getPermits().getPermits().add(new Permit()); model.getPermits().getPermits().get(0).setId("1234"); WebApplicationException wae = assertThrows(WebApplicationException.class, () -> collection.add(model)); verifyBadRequest(wae); assertEquals("1234 is not a valid permit ID.", wae.getResponse().getEntity()); }
@Test public void testAddIncompleteParametersNoName() { Role model = new Role(); model.setPermits(new Permits()); model.getPermits().getPermits().add(new Permit()); model.getPermits().getPermits().get(0).setId("1"); setUriInfo(setUpBasicUriExpectations()); verifyIncompleteException( assertThrows(WebApplicationException.class, () -> collection.add(model)), "Role", "add", "name"); }
@Test public void testAddRole() { setUriInfo(setUpBasicUriExpectations()); setUpCreationExpectations(ActionType.AddRoleWithActionGroups, RoleWithActionGroupsParameters.class, new String[] { "Role.Id", "Role.Name" }, new Object[] { GUIDS[0], NAMES[0] }, true, true, GUIDS[0], QueryType.GetRoleById, IdQueryParameters.class, new String[] { "Id" }, new Object[] { GUIDS[0] }, getEntity(0)); Role model = new Role(); model.setName(NAMES[0]); model.setPermits(new Permits()); model.getPermits().getPermits().add(new Permit()); model.getPermits().getPermits().get(0).setId(""+ActionGroup.CREATE_VM.getId()); Response response = collection.add(model); assertEquals(201, response.getStatus()); assertTrue(response.getEntity() instanceof Role); verifyModel((Role) response.getEntity(), 0); }
to.getPermits().getPermits().addAll(adaptIn(from.getPermits().getPermits()));
to.getPermits().getPermits().addAll(adaptOut(from.getPermits().getPermits()));