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 voidprotected voidbindPostResponseCreator(PostResponseCreator creator, Map<String, Object> properties) Overridden since the @Reference annotation is not inherited from the super methodprotected voidBind a new principal name filterprotected voidbindPrincipalNameGenerator(PrincipalNameGenerator generator, Map<String, Object> properties) Bind a new principal name generatorprotected voidorg.apache.jackrabbit.api.security.user.GroupcreateGroup(javax.jcr.Session jcrSession, String name, Map<String, ?> properties, List<Modification> changes) Create a new group for the repositoryprotected voidprotected voidhandleOperation(SlingHttpServletRequest request, PostResponse response, List<Modification> changes) Extending Servlet should implement this operation to do the workprotected voidunbindPostResponseCreator(PostResponseCreator creator, Map<String, Object> properties) Unbind a post response creatorprotected voidprotected voidMethods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractGroupPostServlet
updateGroupMembershipMethods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
collectContent, collectContentMap, concatPath, convertToRequestParameterArray, convertToString, convertToStringArray, getOrGeneratePrincipalName, hasItemPathPrefix, processCreate, processDeletes, requireItemPathPrefix, writeContentMethods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractPostServlet
createHtmlResponse, doPost, externalizePath, getItemPath, getRanking, getRedirectUrl, getRedirectUrl, handleOperation, isSetStatusMethods inherited from class org.apache.sling.api.servlets.SlingAllMethodsServlet
doDelete, doPut, getAllowedRequestMethods, isMethodValid, mayServiceMethods inherited from class org.apache.sling.api.servlets.SlingSafeMethodsServlet
doGeneric, doGet, doHead, doOptions, doTrace, getServletInfo, handleMethodNotImplemented, service, serviceMethods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, init, log, logMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.sling.jackrabbit.usermanager.CreateGroup
createGroup
-
Constructor Details
-
CreateGroupServlet
public CreateGroupServlet()
-
-
Method Details
-
activate
- Overrides:
activatein classAbstractAuthorizablePostServlet
-
deactivate
protected void deactivate()- Overrides:
deactivatein classAbstractAuthorizablePostServlet
-
bindPrincipalNameGenerator
protected void bindPrincipalNameGenerator(PrincipalNameGenerator generator, Map<String, Object> properties) Description copied from class:AbstractAuthorizablePostServletBind a new principal name generator- Overrides:
bindPrincipalNameGeneratorin classAbstractAuthorizablePostServlet
-
unbindPrincipalNameGenerator
- Overrides:
unbindPrincipalNameGeneratorin classAbstractAuthorizablePostServlet
-
bindPrincipalNameFilter
Description copied from class:AbstractAuthorizablePostServletBind a new principal name filter- Overrides:
bindPrincipalNameFilterin classAbstractAuthorizablePostServlet
-
unbindPrincipalNameFilter
- Overrides:
unbindPrincipalNameFilterin classAbstractAuthorizablePostServlet
-
bindSystemUserManagerPaths
- Overrides:
bindSystemUserManagerPathsin 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:AbstractPostServletUnbind a post response creator- Overrides:
unbindPostResponseCreatorin classAbstractPostServlet
-
handleOperation
protected void handleOperation(SlingHttpServletRequest request, PostResponse response, List<Modification> changes) throws javax.jcr.RepositoryException Description copied from class:AbstractPostServletExtending Servlet should implement this operation to do the work- Specified by:
handleOperationin 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:CreateGroupCreate a new group for the repository- Specified by:
createGroupin 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
-