|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.servlet.GenericServlet org.apache.sling.api.servlets.SlingSafeMethodsServlet org.apache.sling.api.servlets.SlingAllMethodsServlet org.apache.sling.jackrabbit.usermanager.post.AbstractAuthorizablePostServlet
public abstract class AbstractAuthorizablePostServlet
Base class for all the POST servlets for the UserManager operations
Constructor Summary | |
---|---|
AbstractAuthorizablePostServlet()
|
Method Summary | |
---|---|
protected void |
activate(org.osgi.service.component.ComponentContext context)
|
protected java.util.Map<java.lang.String,org.apache.sling.jackrabbit.usermanager.post.impl.RequestProperty> |
collectContent(SlingHttpServletRequest request,
HtmlResponse response)
Collects the properties that form the content to be written back to the repository. |
protected void |
deactivate(org.osgi.service.component.ComponentContext context)
|
protected void |
doPost(SlingHttpServletRequest request,
SlingHttpServletResponse httpResponse)
Called by the SlingAllMethodsServlet.mayService(SlingHttpServletRequest, SlingHttpServletResponse) method to
handle an HTTP POST request. |
protected java.lang.String |
externalizePath(SlingHttpServletRequest request,
java.lang.String path)
Returns an external form of the given path prepending the context path and appending a display extension. |
protected java.lang.String |
getItemPath(SlingHttpServletRequest request)
Returns the path of the resource of the request as the item path. |
protected java.lang.String |
getRedirectUrl(javax.servlet.http.HttpServletRequest request,
HtmlResponse ctx)
compute redirect URL (SLING-126) |
protected abstract void |
handleOperation(SlingHttpServletRequest request,
HtmlResponse htmlResponse,
java.util.List<Modification> changes)
Extending Servlet should implement this operation to do the work |
protected boolean |
hasItemPathPrefix(java.lang.String name)
Returns true if the name starts with either
of the prefixes
{@link SlingPostConstants#ITEM_PREFIX_RELATIVE_CURRENT . |
protected boolean |
isSetStatus(SlingHttpServletRequest request)
|
protected void |
processDeletes(org.apache.jackrabbit.api.security.user.Authorizable resource,
java.util.Map<java.lang.String,org.apache.sling.jackrabbit.usermanager.post.impl.RequestProperty> reqProperties,
java.util.List<Modification> changes)
Removes all properties listed as RequestProperty.isDelete() from
the authorizable. |
protected boolean |
requireItemPathPrefix(SlingHttpServletRequest request)
Returns true if any of the request parameters starts with {@link SlingPostConstants#ITEM_PREFIX_RELATIVE_CURRENT . |
protected void |
writeContent(javax.jcr.Session session,
org.apache.jackrabbit.api.security.user.Authorizable authorizable,
java.util.Map<java.lang.String,org.apache.sling.jackrabbit.usermanager.post.impl.RequestProperty> reqProperties,
java.util.List<Modification> changes)
Writes back the content |
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 |
Constructor Detail |
---|
public AbstractAuthorizablePostServlet()
Method Detail |
---|
protected void activate(org.osgi.service.component.ComponentContext context)
protected void deactivate(org.osgi.service.component.ComponentContext context)
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse httpResponse) throws javax.servlet.ServletException, java.io.IOException
SlingAllMethodsServlet
SlingAllMethodsServlet.mayService(SlingHttpServletRequest, SlingHttpServletResponse)
method to
handle an HTTP POST request.
This default implementation reports back to the client that the method is not supported.
Implementations of this class should overwrite this method with their implementation for the HTTP POST method support.
doPost
in class SlingAllMethodsServlet
request
- The HTTP requesthttpResponse
- The HTTP response
javax.servlet.ServletException
- Not thrown by this implementation.
java.io.IOException
- If the error status cannot be reported back to the
client.protected abstract void handleOperation(SlingHttpServletRequest request, HtmlResponse htmlResponse, java.util.List<Modification> changes) throws javax.jcr.RepositoryException
request
- the sling http request to processhtmlResponse
- the responsechanges
-
javax.jcr.RepositoryException
protected java.lang.String getRedirectUrl(javax.servlet.http.HttpServletRequest request, HtmlResponse ctx)
ctx
- the post processor
null
protected boolean isSetStatus(SlingHttpServletRequest request)
protected java.util.Map<java.lang.String,org.apache.sling.jackrabbit.usermanager.post.impl.RequestProperty> collectContent(SlingHttpServletRequest request, HtmlResponse response)
javax.jcr.RepositoryException
- if a repository error occurs
javax.servlet.ServletException
- if an internal error occursprotected void processDeletes(org.apache.jackrabbit.api.security.user.Authorizable resource, java.util.Map<java.lang.String,org.apache.sling.jackrabbit.usermanager.post.impl.RequestProperty> reqProperties, java.util.List<Modification> changes) throws javax.jcr.RepositoryException
RequestProperty.isDelete()
from
the authorizable.
authorizable
- The org.apache.jackrabbit.api.security.user.Authorizable
that should have properties deleted.reqProperties
- The map of request properties to check for
properties to be removed.response
- The HtmlResponse
to be updated with
information on deleted properties.
javax.jcr.RepositoryException
- Is thrown if an error occurrs checking or
removing properties.protected void writeContent(javax.jcr.Session session, org.apache.jackrabbit.api.security.user.Authorizable authorizable, java.util.Map<java.lang.String,org.apache.sling.jackrabbit.usermanager.post.impl.RequestProperty> reqProperties, java.util.List<Modification> changes) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
- if a repository error occurs
javax.servlet.ServletException
- if an internal error occursprotected java.lang.String getItemPath(SlingHttpServletRequest request)
This method may be overwritten by extension if the operation has different requirements on path processing.
protected final java.lang.String externalizePath(SlingHttpServletRequest request, java.lang.String path)
path
- the path to externalize
protected boolean hasItemPathPrefix(java.lang.String name)
true
if the name
starts with either
of the prefixes
./
,
../
and /
.
protected final boolean requireItemPathPrefix(SlingHttpServletRequest request)
./
.
In this case only parameters starting with either of the prefixes
./
,
../
and /
are
considered as providing content to be stored. Otherwise all parameters
not starting with the command prefix :
are considered as
parameters to be stored.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |