You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2007/09/14 14:48:06 UTC
svn commit: r575664 -
/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/SlingManager.java
Author: fmeschbe
Date: Fri Sep 14 05:48:06 2007
New Revision: 575664
URL: http://svn.apache.org/viewvc?rev=575664&view=rev
Log:
- Allow action on "root" URL (no preliminary redirection if there is an action)
- Add support for _noredir_ parameter preventing redirection after successfull action
Modified:
incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/SlingManager.java
Modified: incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/SlingManager.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/SlingManager.java?rev=575664&r1=575663&r2=575664&view=diff
==============================================================================
--- incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/SlingManager.java (original)
+++ incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/SlingManager.java Fri Sep 14 05:48:06 2007
@@ -63,6 +63,13 @@
private static final long serialVersionUID = 1L;
/**
+ * The name and value of a parameter which will prevent redirection to a
+ * render after the action has been executed (value is "_noredir_"). This
+ * may be used by programmatic action submissions.
+ */
+ public static final String PARAM_NO_REDIRECT_AFTER_ACTION = "_noredir_";
+
+ /**
* @scr.property value="/sling"
*/
private static final String PROP_MANAGER_ROOT = "manager.root";
@@ -86,7 +93,7 @@
* @scr.property value="admin"
*/
private static final String PROP_PASSWORD = "password";
-
+
private ComponentContext componentContext;
/**
@@ -115,6 +122,11 @@
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
+ // handle the request action, terminate if done
+ if (this.handleAction(request, response)) {
+ return;
+ }
+
// check whether we are not at .../{webManagerRoot}
if (request.getRequestURI().endsWith(this.webManagerRoot)) {
response.sendRedirect(request.getRequestURI() + "/"
@@ -122,11 +134,6 @@
return;
}
- // handle the request action, terminate if done
- if (this.handleAction(request, response)) {
- return;
- }
-
// otherwise we render the response
Render render = this.getRender(request);
if (render == null) {
@@ -162,6 +169,15 @@
} catch (ServletException se) {
this.log(se.getMessage(), se.getRootCause());
}
+
+ // maybe overwrite redirect
+ if (PARAM_NO_REDIRECT_AFTER_ACTION.equals(getParameter(req, PARAM_NO_REDIRECT_AFTER_ACTION))) {
+ resp.setStatus(HttpServletResponse.SC_OK);
+ resp.setContentType("text/html");
+ resp.getWriter().println("Ok");
+ return true;
+ }
+
if (redirect) {
String uri = req.getRequestURI();
// Object pars =