Package org.sonatype.security.rest.model

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


  @Override
  @GET
  public PrivilegeListResourceResponse get(Context context, Request request, Response response, Variant variant)
      throws ResourceException
  {
    PrivilegeListResourceResponse result = new PrivilegeListResourceResponse();

    Set<Privilege> privs = getSecuritySystem().listPrivileges();

    for (Privilege priv : privs) {
      PrivilegeStatusResource res = securityToRestModel(priv, request, true);

      if (res != null) {
        result.addData(res);
      }
    }

    return result;
  }
View Full Code Here


  {
    String responseString = response.getEntity().getText();

    XStreamRepresentation representation = new XStreamRepresentation(xstream, responseString, mediaType);

    PrivilegeListResourceResponse resourceResponse =
        (PrivilegeListResourceResponse) representation.getPayload(new PrivilegeListResourceResponse());

    return resourceResponse.getData();
  }
View Full Code Here

  @POST
  public PrivilegeListResourceResponse post(Context context, Request request, Response response, Object payload)
      throws ResourceException
  {
    PrivilegeResourceRequest resourceRequest = (PrivilegeResourceRequest) payload;
    PrivilegeListResourceResponse result = null;

    if (resourceRequest != null) {
      result = new PrivilegeListResourceResponse();

      PrivilegeResource resource = resourceRequest.getData();

      // currently we are allowing only of repotarget privs, so enforcing checkfor it
      if (!TargetPrivilegeDescriptor.TYPE.equals(resource.getType())) {
        throw new PlexusResourceException(
            Status.CLIENT_ERROR_BAD_REQUEST,
            "Configuration error.",
            getErrorResponse("type", "Not allowed privilege type!"));
      }

      List<String> methods = resource.getMethod();

      if (methods == null || methods.size() == 0) {
        throw new PlexusResourceException(
            Status.CLIENT_ERROR_BAD_REQUEST,
            "Configuration error.",
            getErrorResponse("method", "No method(s) supplied, must select at least one method."));
      }
      else {
        try {
          // Add a new privilege for each method
          for (String method : methods) {
            Privilege priv = new Privilege();

            priv.setName(resource.getName() != null ? resource.getName() + " - (" + method + ")" : null);
            priv.setDescription(resource.getDescription());
            priv.setType(TargetPrivilegeDescriptor.TYPE);

            priv.addProperty(ApplicationPrivilegeMethodPropertyDescriptor.ID, method);

            priv.addProperty(TargetPrivilegeRepositoryTargetPropertyDescriptor.ID, resource
                .getRepositoryTargetId());

            priv.addProperty(TargetPrivilegeRepositoryPropertyDescriptor.ID, resource.getRepositoryId());

            priv.addProperty(TargetPrivilegeGroupPropertyDescriptor.ID, resource.getRepositoryGroupId());

            priv = getSecuritySystem().getAuthorizationManager(DEFAULT_SOURCE).addPrivilege(priv);

            result.addData(this.securityToRestModel(priv, request, true));
          }
        }
        catch (InvalidConfigurationException e) {
          // build and throw exctption
          handleInvalidConfigurationException(e);
View Full Code Here

    }
  }

  @Override
  public Collection<Privilege> get() {
    final PrivilegeListResourceResponse privileges;
    try {
      privileges = getNexusClient()
          .serviceResource("privileges")
          .get(PrivilegeListResourceResponse.class);
    }
    catch (UniformInterfaceException e) {
      throw getNexusClient().convert(e);
    }
    catch (ClientHandlerException e) {
      throw getNexusClient().convert(e);
    }

    return Collections2.transform(privileges.getData(), new Function<PrivilegeStatusResource, Privilege>()
    {
      @Override
      public Privilege apply(@Nullable final PrivilegeStatusResource input) {
        return convert(input);
      }
View Full Code Here

    this.validateXmlHasNoPackageNames(resourceRequest);
  }

  @Test
  public void testPrivilegeListResourceResponse() {
    PrivilegeListResourceResponse resourceResponse = new PrivilegeListResourceResponse();

    PrivilegeStatusResource appResource1 = new PrivilegeStatusResource();
    appResource1.setId("Id1");
    appResource1.setResourceURI("ResourceURI1");
    appResource1.setName("Name1");
    appResource1.setDescription("Description1");
    appResource1.setType(ApplicationPrivilegeDescriptor.TYPE);

    PrivilegeProperty prop = new PrivilegeProperty();
    prop.setKey(ApplicationPrivilegeMethodPropertyDescriptor.ID);
    prop.setValue("Method1");
    appResource1.addProperty(prop);

    prop = new PrivilegeProperty();
    prop.setKey(ApplicationPrivilegePermissionPropertyDescriptor.ID);
    prop.setValue("Permission1");
    appResource1.addProperty(prop);

    PrivilegeStatusResource appResource2 = new PrivilegeStatusResource();
    appResource2.setId("Id2");
    appResource2.setResourceURI("ResourceURI2");
    appResource2.setName("Name2");
    appResource2.setDescription("Description2");
    appResource2.setType(ApplicationPrivilegeDescriptor.TYPE);

    prop = new PrivilegeProperty();
    prop.setKey(ApplicationPrivilegeMethodPropertyDescriptor.ID);
    prop.setValue("Method2");
    appResource2.addProperty(prop);

    prop = new PrivilegeProperty();
    prop.setKey(ApplicationPrivilegePermissionPropertyDescriptor.ID);
    prop.setValue("Permission2");
    appResource2.addProperty(prop);

    PrivilegeStatusResource targetResource1 = new PrivilegeStatusResource();
    targetResource1.setId("Id1");
    targetResource1.setResourceURI("ResourceURI1");
    targetResource1.setName("Name1");
    targetResource1.setDescription("Description1");
    targetResource1.setType(TargetPrivilegeDescriptor.TYPE);

    prop = new PrivilegeProperty();
    prop.setKey(TargetPrivilegeGroupPropertyDescriptor.ID);
    prop.setValue("RepositoryGroupId1");
    targetResource1.addProperty(prop);

    prop = new PrivilegeProperty();
    prop.setKey(TargetPrivilegeRepositoryPropertyDescriptor.ID);
    prop.setValue("RepositoryId1");
    targetResource1.addProperty(prop);

    prop = new PrivilegeProperty();
    prop.setKey(TargetPrivilegeRepositoryTargetPropertyDescriptor.ID);
    prop.setValue("RepositoryTargetId1");
    targetResource1.addProperty(prop);

    prop = new PrivilegeProperty();
    prop.setKey(ApplicationPrivilegeMethodPropertyDescriptor.ID);
    prop.setValue("Method1");
    targetResource1.addProperty(prop);

    PrivilegeStatusResource targetResource2 = new PrivilegeStatusResource();
    targetResource2.setId("Id2");
    targetResource2.setResourceURI("ResourceURI2");
    targetResource2.setName("Name2");
    targetResource2.setDescription("Description2");
    targetResource2.setType(TargetPrivilegeDescriptor.TYPE);

    prop = new PrivilegeProperty();
    prop.setKey(TargetPrivilegeGroupPropertyDescriptor.ID);
    prop.setValue("RepositoryGroupId2");
    targetResource2.addProperty(prop);

    prop = new PrivilegeProperty();
    prop.setKey(TargetPrivilegeRepositoryPropertyDescriptor.ID);
    prop.setValue("RepositoryId2");
    targetResource2.addProperty(prop);

    prop = new PrivilegeProperty();
    prop.setKey(TargetPrivilegeRepositoryTargetPropertyDescriptor.ID);
    prop.setValue("RepositoryTargetId2");
    targetResource2.addProperty(prop);

    prop = new PrivilegeProperty();
    prop.setKey(ApplicationPrivilegeMethodPropertyDescriptor.ID);
    prop.setValue("Method2");
    targetResource2.addProperty(prop);

    resourceResponse.addData(appResource1);
    resourceResponse.addData(targetResource1);
    resourceResponse.addData(appResource2);
    resourceResponse.addData(targetResource2);

    this.marshalUnmarchalThenCompare(resourceResponse, this.xstreamXML); // FIXME: list of multiple objects would
    // need a converter
    this.validateXmlHasNoPackageNames(resourceResponse);
  }
View Full Code Here

TOP

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

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.