Class GroupWebService

  • All Implemented Interfaces:
    IGroupWebService

    @Named("scim2GroupEndpoint")
    @Path("/v2/Groups")
    public class GroupWebService
    extends BaseScimWebService
    implements IGroupWebService
    Implementation of /Groups endpoint. Methods here are intercepted. Filter io.jans.scim.service.filter.AuthorizationProcessingFilter secures invocations
    • Constructor Detail

      • GroupWebService

        public GroupWebService()
    • Method Detail

      • createGroup

        @POST
        @Consumes({"application/scim+json","application/json"})
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response createGroup​(GroupResource group,
                                                       @QueryParam("attributes")
                                                       String attrsList,
                                                       @QueryParam("excludedAttributes")
                                                       String excludedAttrsList)
        Specified by:
        createGroup in interface IGroupWebService
      • getGroupById

        @Path("{id}")
        @GET
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response getGroupById​(@PathParam("id")
                                                        String id,
                                                        @QueryParam("attributes")
                                                        String attrsList,
                                                        @QueryParam("excludedAttributes")
                                                        String excludedAttrsList)
        Specified by:
        getGroupById in interface IGroupWebService
      • updateGroup

        @Path("{id}")
        @PUT
        @Consumes({"application/scim+json","application/json"})
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response updateGroup​(GroupResource group,
                                                       @PathParam("id")
                                                       String id,
                                                       @QueryParam("attributes")
                                                       String attrsList,
                                                       @QueryParam("excludedAttributes")
                                                       String excludedAttrsList)
        This implementation differs from spec in the following aspects: - Passing a null value for an attribute, does not modify the attribute in the destination, however passing an empty array for a multivalued attribute does clear the attribute. Thus, to clear single-valued attribute, PATCH operation should be used
        Specified by:
        updateGroup in interface IGroupWebService
      • deleteGroup

        @Path("{id}")
        @DELETE
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response deleteGroup​(@PathParam("id")
                                                       String id)
        Specified by:
        deleteGroup in interface IGroupWebService
      • searchGroups

        @GET
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response searchGroups​(@QueryParam("filter")
                                                        String filter,
                                                        @QueryParam("startIndex")
                                                        Integer startIndex,
                                                        @QueryParam("count")
                                                        Integer count,
                                                        @QueryParam("sortBy")
                                                        String sortBy,
                                                        @QueryParam("sortOrder")
                                                        String sortOrder,
                                                        @QueryParam("attributes")
                                                        String attrsList,
                                                        @QueryParam("excludedAttributes")
                                                        String excludedAttrsList)
        Specified by:
        searchGroups in interface IGroupWebService
      • searchGroupsPost

        @Path(".search")
        @POST
        @Consumes({"application/scim+json","application/json"})
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response searchGroupsPost​(SearchRequest searchRequest)
        Specified by:
        searchGroupsPost in interface IGroupWebService
      • patchGroup

        @Path("{id}")
        @Consumes({"application/scim+json","application/json"})
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response patchGroup​(PatchRequest request,
                                                      @PathParam("id")
                                                      String id,
                                                      @QueryParam("attributes")
                                                      String attrsList,
                                                      @QueryParam("excludedAttributes")
                                                      String excludedAttrsList)
        Specified by:
        patchGroup in interface IGroupWebService
      • setup

        @PostConstruct
        public void setup()