@SuppressWarnings("unchecked") private Account createProject(String type, ApiRequest apiRequest) { Policy policy = (Policy) ApiContext.getContext().getPolicy(); Map<String, Object> project = CollectionUtils.toMap(apiRequest.getRequestObject()); if (authDao.getAccountById(policy.getAccountId()).getKind().equalsIgnoreCase(ProjectConstants.TYPE)) { throw new ClientVisibleException(ResponseCodes.FORBIDDEN); } Object object = super.createInternal(type, apiRequest); if (object instanceof Account) { Account newProject = (Account) object; newProject.setKind(AccountConstants.PROJECT_KIND); objectManager.persist(newProject); List<Map<String, String>> members = (ArrayList<Map<String, String>>) project.get("members"); projectMemberResourceManager.setMembers(newProject, members, true); policy.grantObjectAccess(newProject); return objectManager.reload(newProject); } else { throw new ClientVisibleException(ResponseCodes.INTERNAL_SERVER_ERROR); } }
account.setKind(AccountConstants.ADMIN_KIND); objectManager.persist(account); } else {