Package org.sonatype.security.rest.model

Examples of org.sonatype.security.rest.model.RoleAndPrivilegeListResourceResponse


  @POST
  @Override
  public RoleAndPrivilegeListResourceResponse post(Context context, Request request, Response response, Object payload)
      throws ResourceException
  {
    RoleAndPrivilegeListResourceResponse result = new RoleAndPrivilegeListResourceResponse();

    List<RoleAndPrivilegeListResource> resources = new ArrayList<RoleAndPrivilegeListResource>();

    RoleAndPrivilegeListFilterResourceRequest filterRequest = (RoleAndPrivilegeListFilterResourceRequest) payload;

    try {
      Form form = request.getResourceRef().getQueryAsForm();

      FilterRequest filter = new FilterRequest(filterRequest);

      for (Role role : getSecuritySystem().getAuthorizationManager(DEFAULT_SOURCE).listRoles()) {
        RoleAndPrivilegeListResource res = toDTO(role);

        if (filter.applies(res)) {
          resources.add(res);
        }
      }

      for (Privilege privilege : getSecuritySystem().getAuthorizationManager(DEFAULT_SOURCE).listPrivileges()) {
        RoleAndPrivilegeListResource res = toDTO(privilege);

        if (filter.applies(res)) {
          resources.add(res);
        }
      }

      if (!StringUtils.isEmpty(filterRequest.getData().getUserId())) {
        try {
          User user = getSecuritySystem().getUser(filterRequest.getData().getUserId());

          List<PlexusRoleResource> plexusRoles = securityToRestModel(user).getRoles();

          for (PlexusRoleResource plexusRole : plexusRoles) {
            if (!DEFAULT_SOURCE.equals(plexusRole.getSource())) {
              RoleAndPrivilegeListResource res = toDTO(plexusRole);

              if (filter.applies(res)) {
                resources.add(res);
              }
            }
          }
        }
        catch (UserNotFoundException e) {
          getLogger().warn("Unable to load user, and retrieve any external roles assigned", e);
        }
      }

      result.setTotalCount(resources.size());

      result.setData(generateResultSet(resources, form));
    }
    catch (NoSuchAuthorizationManagerException e) {
      this.getLogger().error("Unable to find AuthorizationManager 'default'", e);
      throw new ResourceException(Status.SERVER_ERROR_INTERNAL, "Unable to find AuthorizationManager 'default'");
    }
View Full Code Here

TOP

Related Classes of org.sonatype.security.rest.model.RoleAndPrivilegeListResourceResponse

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.