This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.jcr.jackrabbit.accessmanager-2.1.2 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-jackrabbit-accessmanager.git
commit 48c3c0a4a4b857e09eecbf6030c2c898c9d797b6 Author: Mike Müller <[email protected]> AuthorDate: Tue Dec 11 14:57:03 2012 +0000 SLING-2644 - Make the jackrabbit/accessmanager and jackrabbit/usermanager to work with newer servlets/post bundle git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/jackrabbit-accessmanager@1420206 13f79535-47bb-0310-9956-ffa450edef68 --- pom.xml | 6 +-- .../post/AbstractAccessPostServlet.java | 47 +++++++++++----------- .../accessmanager/post/DeleteAcesServlet.java | 3 +- .../accessmanager/post/ModifyAceServlet.java | 3 +- 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/pom.xml b/pom.xml index d362485..4bb68f3 100644 --- a/pom.xml +++ b/pom.xml @@ -65,8 +65,8 @@ org.apache.sling.servlets.post;inline="org/apache/sling/servlets/post/impl/helper/JSONResponse*" </Embed-Dependency> <Export-Package> - org.apache.sling.jcr.jackrabbit.accessmanager;version=2.1.0, - org.apache.sling.jcr.jackrabbit.accessmanager.post;version=2.1.0 + org.apache.sling.jcr.jackrabbit.accessmanager;version=2.1.1, + org.apache.sling.jcr.jackrabbit.accessmanager.post;version=2.1.1 </Export-Package> <Sling-Initial-Content /> <Sling-Nodetypes /> @@ -118,7 +118,7 @@ <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.servlets.post</artifactId> - <version>2.1.0</version> + <version>2.1.2</version> <scope>provided</scope> </dependency> <dependency> diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java index f022c5c..0044688 100644 --- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java +++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java @@ -34,12 +34,13 @@ import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.resource.ResourceNotFoundException; import org.apache.sling.api.resource.ResourceUtil; -import org.apache.sling.api.servlets.HtmlResponse; +import org.apache.sling.servlets.post.HtmlResponse; import org.apache.sling.api.servlets.SlingAllMethodsServlet; import org.apache.sling.api.wrappers.SlingRequestPaths; +import org.apache.sling.servlets.post.AbstractPostResponse; import org.apache.sling.servlets.post.Modification; import org.apache.sling.servlets.post.SlingPostConstants; -import org.apache.sling.servlets.post.impl.helper.JSONResponse; +import org.apache.sling.servlets.post.JSONResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,20 +63,20 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { SlingHttpServletResponse httpResponse) throws ServletException, IOException { // prepare the response - HtmlResponse htmlResponse = createHtmlResponse(request); - htmlResponse.setReferer(request.getHeader("referer")); + AbstractPostResponse response = createHtmlResponse(request); + response.setReferer(request.getHeader("referer")); // calculate the paths String path = getItemPath(request); - htmlResponse.setPath(path); + response.setPath(path); // location - htmlResponse.setLocation(externalizePath(request, path)); + response.setLocation(externalizePath(request, path)); // parent location path = ResourceUtil.getParent(path); if (path != null) { - htmlResponse.setParentLocation(externalizePath(request, path)); + response.setParentLocation(externalizePath(request, path)); } Session session = request.getResourceResolver().adaptTo(Session.class); @@ -83,19 +84,19 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { final List<Modification> changes = new ArrayList<Modification>(); try { - handleOperation(request, htmlResponse, changes); + handleOperation(request, response, changes); //TODO: maybe handle SlingAuthorizablePostProcessor handlers here // set changes on html response for(Modification change : changes) { switch ( change.getType() ) { - case MODIFY : htmlResponse.onModified(change.getSource()); break; - case DELETE : htmlResponse.onDeleted(change.getSource()); break; - case MOVE : htmlResponse.onMoved(change.getSource(), change.getDestination()); break; - case COPY : htmlResponse.onCopied(change.getSource(), change.getDestination()); break; - case CREATE : htmlResponse.onCreated(change.getSource()); break; - case ORDER : htmlResponse.onChange("ordered", change.getSource(), change.getDestination()); break; + case MODIFY : response.onModified(change.getSource()); break; + case DELETE : response.onDeleted(change.getSource()); break; + case MOVE : response.onMoved(change.getSource(), change.getDestination()); break; + case COPY : response.onCopied(change.getSource(), change.getDestination()); break; + case CREATE : response.onCreated(change.getSource()); break; + case ORDER : response.onChange("ordered", change.getSource(), change.getDestination()); break; default: break; } @@ -105,13 +106,13 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { session.save(); } } catch (ResourceNotFoundException rnfe) { - htmlResponse.setStatus(HttpServletResponse.SC_NOT_FOUND, + response.setStatus(HttpServletResponse.SC_NOT_FOUND, rnfe.getMessage()); } catch (Throwable throwable) { log.debug("Exception while handling POST " + request.getResource().getPath() + " with " + getClass().getName(), throwable); - htmlResponse.setError(throwable); + response.setError(throwable); } finally { try { if (session.hasPendingChanges()) { @@ -124,8 +125,8 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { } // check for redirect URL if processing succeeded - if (htmlResponse.isSuccessful()) { - String redirect = getRedirectUrl(request, htmlResponse); + if (response.isSuccessful()) { + String redirect = getRedirectUrl(request, response); if (redirect != null) { httpResponse.sendRedirect(redirect); return; @@ -133,7 +134,7 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { } // create a html response and send if unsuccessful or no redirect - htmlResponse.send(httpResponse, isSetStatus(request)); + response.send(httpResponse, isSetStatus(request)); } /** @@ -145,7 +146,7 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { * </ul> * or a {@link org.apache.sling.api.servlets.HtmlResponse} otherwise */ - protected HtmlResponse createHtmlResponse(SlingHttpServletRequest req) { + protected AbstractPostResponse createHtmlResponse(SlingHttpServletRequest req) { if (JSONResponse.RESPONSE_CONTENT_TYPE.equals(req.getResponseContentType())) { return new JSONResponse(); } else { @@ -157,11 +158,11 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { * Extending Servlet should implement this operation to do the work * * @param request the sling http request to process - * @param htmlResponse the response + * @param response the response * @param changes */ abstract protected void handleOperation(SlingHttpServletRequest request, - HtmlResponse htmlResponse, List<Modification> changes) throws RepositoryException; + AbstractPostResponse response, List<Modification> changes) throws RepositoryException; /** @@ -170,7 +171,7 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet { * @param ctx the post processor * @return the redirect location or <code>null</code> */ - protected String getRedirectUrl(HttpServletRequest request, HtmlResponse ctx) { + protected String getRedirectUrl(HttpServletRequest request, AbstractPostResponse ctx) { // redirect param has priority (but see below, magic star) String result = request.getParameter(SlingPostConstants.RP_REDIRECT_TO); if (result != null && ctx.getPath() != null) { diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java index c67f344..797c561 100644 --- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java +++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java @@ -39,6 +39,7 @@ import org.apache.sling.api.resource.ResourceNotFoundException; import org.apache.sling.api.servlets.HtmlResponse; import org.apache.sling.jcr.base.util.AccessControlUtil; import org.apache.sling.jcr.jackrabbit.accessmanager.DeleteAces; +import org.apache.sling.servlets.post.AbstractPostResponse; import org.apache.sling.servlets.post.Modification; import org.apache.sling.servlets.post.SlingPostConstants; @@ -95,7 +96,7 @@ public class DeleteAcesServlet extends AbstractAccessPostServlet implements Dele */ @Override protected void handleOperation(SlingHttpServletRequest request, - HtmlResponse htmlResponse, List<Modification> changes) + AbstractPostResponse htmlResponse, List<Modification> changes) throws RepositoryException { Session session = request.getResourceResolver().adaptTo(Session.class); diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java index c387b8c..3b7086e 100644 --- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java +++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java @@ -40,6 +40,7 @@ import org.apache.sling.api.resource.ResourceNotFoundException; import org.apache.sling.api.servlets.HtmlResponse; import org.apache.sling.jcr.base.util.AccessControlUtil; import org.apache.sling.jcr.jackrabbit.accessmanager.ModifyAce; +import org.apache.sling.servlets.post.AbstractPostResponse; import org.apache.sling.servlets.post.Modification; /** @@ -107,7 +108,7 @@ public class ModifyAceServlet extends AbstractAccessPostServlet implements Modif */ @Override protected void handleOperation(SlingHttpServletRequest request, - HtmlResponse htmlResponse, List<Modification> changes) + AbstractPostResponse response, List<Modification> changes) throws RepositoryException { Session session = request.getResourceResolver().adaptTo(Session.class); String resourcePath = request.getResource().getPath(); -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
