Class CreateGroupServlet
java.lang.Object
javax.servlet.GenericServlet
org.apache.sling.api.servlets.SlingSafeMethodsServlet
org.apache.sling.api.servlets.SlingAllMethodsServlet
org.apache.sling.jackrabbit.usermanager.impl.post.AbstractPostServlet
org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
org.apache.sling.jackrabbit.usermanager.impl.post.AbstractGroupPostServlet
org.apache.sling.jackrabbit.usermanager.impl.post.CreateGroupServlet
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
,CreateGroup
Sling Post Servlet implementation for creating a group in the jackrabbit UserManager.
Rest Service Description
Creates a new group. Maps on to nodes of resourceType sling/groups
like
/rep:system/rep:userManager/rep:groups
mapped to a resource url
/system/userManager/group
. This servlet responds at
/system/userManager/group.create.html
Methods
- POST
Post Parameters
- one of these
-
- :name - The value is the exact name to use
- :name@ValueFrom - The value is the name of another submitted parameter whose value is the exact name to use
- :nameHint - The value is filtered, trimmed and made unique
- :nameHint@ValueFrom - The value is the name of another submitted parameter whose value is filtered, trimmed and made unique
- otherwise - Try the value of any server-side configured "principalNameHints" parameter to treat as a hint that is filtered, trimmed and made unique
- *
- Any additional parameters become properties of the group node (optional)
Response
- 200
- Success, a redirect is sent to the group resource locator. The redirect comes with HTML describing the status.
- 500
- Failure, including group already exists. HTML explains the failure.
Example
curl -F:name=newGroupA -Fproperty1=value1 http://localhost:8080/system/userManager/group.create.html
Notes
- See Also:
-
Field Summary
Fields inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
principalNameFilter, principalNameGenerators, PROP_DATE_FORMAT, RP_NODE_NAME_HINT_VALUE_FROM, RP_NODE_NAME_VALUE_FROM, systemUserManagerPaths
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
bindPostResponseCreator
(PostResponseCreator creator, Map<String, Object> properties) Overridden since the @Reference annotation is not inherited from the super methodprotected void
Bind a new principal name filterprotected void
bindPrincipalNameGenerator
(PrincipalNameGenerator generator, Map<String, Object> properties) Bind a new principal name generatorprotected void
org.apache.jackrabbit.api.security.user.Group
createGroup
(javax.jcr.Session jcrSession, String name, Map<String, ?> properties, List<Modification> changes) Create a new group for the repositoryprotected void
protected void
handleOperation
(SlingHttpServletRequest request, PostResponse response, List<Modification> changes) Extending Servlet should implement this operation to do the workprotected void
unbindPostResponseCreator
(PostResponseCreator creator, Map<String, Object> properties) Unbind a post response creatorprotected void
protected void
Methods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractGroupPostServlet
updateGroupMembership
Methods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
collectContent, collectContentMap, concatPath, convertToRequestParameterArray, convertToString, convertToStringArray, getOrGeneratePrincipalName, hasItemPathPrefix, processCreate, processDeletes, requireItemPathPrefix, writeContent
Methods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractPostServlet
createHtmlResponse, doPost, externalizePath, getItemPath, getRanking, getRedirectUrl, getRedirectUrl, handleOperation, isSetStatus
Methods inherited from class org.apache.sling.api.servlets.SlingAllMethodsServlet
doDelete, doPut, getAllowedRequestMethods, isMethodValid, mayService
Methods inherited from class org.apache.sling.api.servlets.SlingSafeMethodsServlet
doGeneric, doGet, doHead, doOptions, doTrace, getServletInfo, handleMethodNotImplemented, service, service
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, init, log, log
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.sling.jackrabbit.usermanager.CreateGroup
createGroup
-
Constructor Details
-
CreateGroupServlet
public CreateGroupServlet()
-
-
Method Details
-
activate
- Overrides:
activate
in classAbstractAuthorizablePostServlet
-
deactivate
protected void deactivate()- Overrides:
deactivate
in classAbstractAuthorizablePostServlet
-
bindPrincipalNameGenerator
protected void bindPrincipalNameGenerator(PrincipalNameGenerator generator, Map<String, Object> properties) Description copied from class:AbstractAuthorizablePostServlet
Bind a new principal name generator- Overrides:
bindPrincipalNameGenerator
in classAbstractAuthorizablePostServlet
-
unbindPrincipalNameGenerator
- Overrides:
unbindPrincipalNameGenerator
in classAbstractAuthorizablePostServlet
-
bindPrincipalNameFilter
Description copied from class:AbstractAuthorizablePostServlet
Bind a new principal name filter- Overrides:
bindPrincipalNameFilter
in classAbstractAuthorizablePostServlet
-
unbindPrincipalNameFilter
- Overrides:
unbindPrincipalNameFilter
in classAbstractAuthorizablePostServlet
-
bindSystemUserManagerPaths
- Overrides:
bindSystemUserManagerPaths
in classAbstractAuthorizablePostServlet
-
bindPostResponseCreator
Overridden since the @Reference annotation is not inherited from the super method -
unbindPostResponseCreator
protected void unbindPostResponseCreator(PostResponseCreator creator, Map<String, Object> properties) Description copied from class:AbstractPostServlet
Unbind a post response creator- Overrides:
unbindPostResponseCreator
in classAbstractPostServlet
-
handleOperation
protected void handleOperation(SlingHttpServletRequest request, PostResponse response, List<Modification> changes) throws javax.jcr.RepositoryException Description copied from class:AbstractPostServlet
Extending Servlet should implement this operation to do the work- Specified by:
handleOperation
in classAbstractPostServlet
- Parameters:
request
- the sling http request to processresponse
- the responsechanges
- the changes to report- Throws:
javax.jcr.RepositoryException
- in case of exceptions during the operation
-
createGroup
public org.apache.jackrabbit.api.security.user.Group createGroup(javax.jcr.Session jcrSession, String name, Map<String, ?> properties, List<Modification> changes) throws javax.jcr.RepositoryExceptionDescription copied from interface:CreateGroup
Create a new group for the repository- Specified by:
createGroup
in interfaceCreateGroup
- Parameters:
jcrSession
- the JCR session of the user creating the groupname
- The name of the new group. If null or empty, the name is calculated from the supplied properties (per SLING-10902).properties
- Extra properties to update on the group. The entry values should be either a String or String[] (optional)changes
- The list of changes for this operation (optional)- Returns:
- the group that was created
- Throws:
javax.jcr.RepositoryException
- if group can't be created
-