Johannes, could you review your IDE settings? Seems like it tries to reformat every code entity you commit, which both causes a bad signal / noise ratio for the actual change and some new coding style that I'm not sure we want to introduce in general (such as opening block brackets on a new line).
Thanks, - René On 26.04.11 20:28, jo...@apache.org wrote: > Author: jogep > Date: Tue Apr 26 18:28:38 2011 > New Revision: 1096838 > > URL: http://svn.apache.org/viewvc?rev=1096838&view=rev > Log: > WW-3450: supressEmptyParameters option is misspelled > > Modified: > > struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletActionRedirectResult.java > > struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java > > Modified: > struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletActionRedirectResult.java > URL: > http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletActionRedirectResult.java?rev=1096838&r1=1096837&r2=1096838&view=diff > ============================================================================== > --- > struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletActionRedirectResult.java > (original) > +++ > struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletActionRedirectResult.java > Tue Apr 26 18:28:38 2011 > @@ -21,51 +21,60 @@ > > package org.apache.struts2.dispatcher; > > +import java.util.Arrays; > +import java.util.List; > + > +import org.apache.struts2.dispatcher.mapper.ActionMapper; > +import org.apache.struts2.dispatcher.mapper.ActionMapping; > + > import com.opensymphony.xwork2.ActionInvocation; > import com.opensymphony.xwork2.util.logging.Logger; > import com.opensymphony.xwork2.util.logging.LoggerFactory; > import com.opensymphony.xwork2.util.reflection.ReflectionExceptionHandler; > -import org.apache.struts2.dispatcher.mapper.ActionMapper; > -import org.apache.struts2.dispatcher.mapper.ActionMapping; > - > -import java.util.Arrays; > -import java.util.List; > > /** > * <!-- START SNIPPET: description --> > - * > - * This result uses the {@link ActionMapper} provided by the {@link > ActionMapperFactory} to redirect the browser to a > - * URL that invokes the specified action and (optional) namespace. This is > better than the {@link ServletRedirectResult} > - * because it does not require you to encode the URL patterns processed by > the {@link ActionMapper} in to your struts.xml > - * configuration files. This means you can change your URL patterns at any > point and your application will still work. > - * It is strongly recommended that if you are redirecting to another action, > you use this result rather than the > + * > + * This result uses the {@link ActionMapper} provided by the > + * {@link ActionMapperFactory} to redirect the browser to a URL that invokes > the > + * specified action and (optional) namespace. This is better than the > + * {@link ServletRedirectResult} because it does not require you to encode > the > + * URL patterns processed by the {@link ActionMapper} in to your struts.xml > + * configuration files. This means you can change your URL patterns at any > point > + * and your application will still work. It is strongly recommended that if > you > + * are redirecting to another action, you use this result rather than the > * standard redirect result. > - * > - * See examples below for an example of how request parameters could be > passed in. > - * > + * > + * See examples below for an example of how request parameters could be > passed > + * in. > + * > * <!-- END SNIPPET: description --> > - * > + * > * <b>This result type takes the following parameters:</b> > - * > + * > * <!-- START SNIPPET: params --> > - * > + * > * <ul> > - * > - * <li><b>actionName (default)</b> - the name of the action that will be > redirect to</li> > - * > - * <li><b>namespace</b> - used to determine which namespace the action is in > that we're redirecting to . If namespace is > - * null, this defaults to the current namespace</li> > - * > - * <li><b>supressEmptyParameters</b> - optional boolean (defaults to false) > that can prevent parameters with no values > - * from being included in the redirect URL.</li> > - * > + * > + * <li><b>actionName (default)</b> - the name of the action that will be > + * redirect to</li> > + * > + * <li><b>namespace</b> - used to determine which namespace the action is in > + * that we're redirecting to . If namespace is null, this defaults to the > + * current namespace</li> > + * > + * <li><b>suppressEmptyParameters</b> - optional boolean (defaults to false) > that > + * can prevent parameters with no values from being included in the redirect > + * URL.</li> > + * > * </ul> > - * > + * > * <!-- END SNIPPET: params --> > - * > + * > * <b>Example:</b> > - * > - * <pre><!-- START SNIPPET: example --> > + * > + * <pre> > + * <!-- START SNIPPET: example --> > * <package name="public" extends="struts-default"> > * <action name="login" class="..."> > * <!-- Redirect to another namespace --> > @@ -75,19 +84,19 @@ import java.util.List; > * </result> > * </action> > * </package> > - * > + * > * <package name="secure" extends="struts-default" namespace="/secure"> > * <-- Redirect to an action in the same namespace --> > * <action name="dashboard" class="..."> > * <result>dashboard.jsp</result> > * <result name="error" > type="redirectAction">error</result> > * </action> > - * > + * > * <action name="error" class="..."> > * <result>error.jsp</result> > * </action> > * </package> > - * > + * > * <package name="passingRequestParameters" extends="struts-default" > namespace="/passingRequestParameters"> > * <-- Pass parameters (reportType, width and height) --> > * <!-- > @@ -102,14 +111,15 @@ import java.util.List; > * <param name="width">100</param> > * <param name="height">100</param> > * <param name="empty"></param> > - * <param name="supressEmptyParameters">true</param> > + * <param name="suppressEmptyParameters">true</param> > * </result> > * </action> > * </package> > - * > - * > - * <!-- END SNIPPET: example --></pre> > - * > + * > + * > + * <!-- END SNIPPET: example --> > + * </pre> > + * > * @see ActionMapper > */ > public class ServletActionRedirectResult extends ServletRedirectResult > implements ReflectionExceptionHandler { > @@ -137,7 +147,6 @@ public class ServletActionRedirectResult > this(null, actionName, method, null); > } > > - > public ServletActionRedirectResult(String namespace, String actionName, > String method) { > this(namespace, actionName, method, null); > } > @@ -149,21 +158,26 @@ public class ServletActionRedirectResult > this.method = method; > } > > - > /** > * @see > com.opensymphony.xwork2.Result#execute(com.opensymphony.xwork2.ActionInvocation) > */ > - public void execute(ActionInvocation invocation) throws Exception { > + public void execute(ActionInvocation invocation) throws Exception > + { > actionName = conditionalParse(actionName, invocation); > - if (namespace == null) { > + if (namespace == null) > + { > namespace = invocation.getProxy().getNamespace(); > - } else { > + } > + else > + { > namespace = conditionalParse(namespace, invocation); > } > - if (method == null) { > + if (method == null) > + { > method = ""; > } > - else { > + else > + { > method = conditionalParse(method, invocation); > } > > @@ -176,34 +190,41 @@ public class ServletActionRedirectResult > > /** > * Sets the action name > - * > - * @param actionName The name > + * > + * @param actionName > + * The name > */ > - public void setActionName(String actionName) { > + public void setActionName(String actionName) > + { > this.actionName = actionName; > } > > /** > * Sets the namespace > - * > - * @param namespace The namespace > + * > + * @param namespace > + * The namespace > */ > - public void setNamespace(String namespace) { > + public void setNamespace(String namespace) > + { > this.namespace = namespace; > } > > /** > * Sets the method > - * > - * @param method The method > + * > + * @param method > + * The method > */ > - public void setMethod(String method) { > + public void setMethod(String method) > + { > this.method = method; > } > > - protected List<String> getProhibitedResultParams() { > - return Arrays.asList(new String[]{ > - DEFAULT_PARAM, "namespace", "method", "encode", "parse", > "location", > - "prependServletContext", "supressEmptyParameters", > "anchor"}); > + protected List<String> getProhibitedResultParams() > + { > + return Arrays.asList(new String[] { > + DEFAULT_PARAM, "namespace", "method", "encode", "parse", > "location", "prependServletContext", "suppressEmptyParameters", "anchor" > + }); > } > } > > Modified: > struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java > URL: > http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java?rev=1096838&r1=1096837&r2=1096838&view=diff > ============================================================================== > --- > struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java > (original) > +++ > struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java > Tue Apr 26 18:28:38 2011 > @@ -21,21 +21,8 @@ > > package org.apache.struts2.dispatcher; > > -import com.opensymphony.xwork2.ActionContext; > -import com.opensymphony.xwork2.ActionInvocation; > -import com.opensymphony.xwork2.config.entities.ResultConfig; > -import com.opensymphony.xwork2.inject.Inject; > -import com.opensymphony.xwork2.util.logging.Logger; > -import com.opensymphony.xwork2.util.logging.LoggerFactory; > -import com.opensymphony.xwork2.util.reflection.ReflectionException; > -import com.opensymphony.xwork2.util.reflection.ReflectionExceptionHandler; > -import org.apache.struts2.ServletActionContext; > -import org.apache.struts2.dispatcher.mapper.ActionMapper; > -import org.apache.struts2.dispatcher.mapper.ActionMapping; > -import org.apache.struts2.views.util.UrlHelper; > +import static javax.servlet.http.HttpServletResponse.SC_FOUND; > > -import javax.servlet.http.HttpServletRequest; > -import javax.servlet.http.HttpServletResponse; > import java.io.IOException; > import java.util.Arrays; > import java.util.Iterator; > @@ -43,12 +30,26 @@ import java.util.LinkedHashMap; > import java.util.List; > import java.util.Map; > > -import static javax.servlet.http.HttpServletResponse.SC_FOUND; > +import javax.servlet.http.HttpServletRequest; > +import javax.servlet.http.HttpServletResponse; > + > +import org.apache.struts2.ServletActionContext; > +import org.apache.struts2.dispatcher.mapper.ActionMapper; > +import org.apache.struts2.dispatcher.mapper.ActionMapping; > +import org.apache.struts2.views.util.UrlHelper; > > +import com.opensymphony.xwork2.ActionContext; > +import com.opensymphony.xwork2.ActionInvocation; > +import com.opensymphony.xwork2.config.entities.ResultConfig; > +import com.opensymphony.xwork2.inject.Inject; > +import com.opensymphony.xwork2.util.logging.Logger; > +import com.opensymphony.xwork2.util.logging.LoggerFactory; > +import com.opensymphony.xwork2.util.reflection.ReflectionException; > +import com.opensymphony.xwork2.util.reflection.ReflectionExceptionHandler; > > /** > * <!-- START SNIPPET: description --> > - * > + * > * Calls the {@link HttpServletResponse#sendRedirect(String) sendRedirect} > * method to the location specified. The response is told to redirect the > * browser to the specified location (a new request from the client). The > @@ -57,40 +58,42 @@ import static javax.servlet.http.HttpSer > * available. This is because actions are built on a single-thread model. The > * only way to pass data is through the session or with web parameters > * (url?name=value) which can be OGNL expressions. > - * > + * > * <!-- END SNIPPET: description --> > * <p/> > * <b>This result type takes the following parameters:</b> > - * > + * > * <!-- START SNIPPET: params --> > - * > + * > * <ul> > - * > + * > * <li><b>location (default)</b> - the location to go to after > execution.</li> > - * > + * > * <li><b>parse</b> - true by default. If set to false, the location param > will > * not be parsed for Ognl expressions.</li> > - * > + * > * <li><b>anchor</b> - optional, you can specify an anchor for result.</li> > - * > + * > * </ul> > - * > + * > * <p> > * This result follows the same rules from {@link StrutsResultSupport}. > * </p> > - * > + * > * <!-- END SNIPPET: params --> > - * > + * > * <b>Example:</b> > - * > - * <pre><!-- START SNIPPET: example --> > + * > + * <pre> > + * <!-- START SNIPPET: example --> > * <result name="success" type="redirect"> > * <param name="location">foo.jsp</param> > * <param name="parse">false</param> > * <param name="anchor">FRAGMENT</param> > * </result> > - * <!-- END SNIPPET: example --></pre> > - * > + * <!-- END SNIPPET: example --> > + * </pre> > + * > */ > public class ServletRedirectResult extends StrutsResultSupport implements > ReflectionExceptionHandler { > > @@ -104,10 +107,10 @@ public class ServletRedirectResult exten > > protected int statusCode = SC_FOUND; > > - protected boolean supressEmptyParameters = false; > + protected boolean suppressEmptyParameters = false; > > protected Map<String, String> requestParameters = new > LinkedHashMap<String, String>(); > - > + > protected String anchor; > > public ServletRedirectResult() { > @@ -117,41 +120,50 @@ public class ServletRedirectResult exten > public ServletRedirectResult(String location) { > this(location, null); > } > - > + > public ServletRedirectResult(String location, String anchor) { > super(location); > this.anchor = anchor; > } > - > + > @Inject > - public void setActionMapper(ActionMapper mapper) { > + public void setActionMapper(ActionMapper mapper) > + { > this.actionMapper = mapper; > } > > - public void setStatusCode(int code) { > + public void setStatusCode(int code) > + { > this.statusCode = code; > } > > /** > * Set the optional anchor value. > + * > * @param anchor > */ > - public void setAnchor(String anchor) { > + public void setAnchor(String anchor) > + { > this.anchor = anchor; > } > > /** > - * Sets whether or not to prepend the servlet context path to the > redirected URL. > - * > - * @param prependServletContext <tt>true</tt> to prepend the location > with the servlet context path, > - * <tt>false</tt> otherwise. > + * Sets whether or not to prepend the servlet context path to the > redirected > + * URL. > + * > + * @param prependServletContext > + * <tt>true</tt> to prepend the location with the servlet > context > + * path, <tt>false</tt> otherwise. > */ > - public void setPrependServletContext(boolean prependServletContext) { > + public void setPrependServletContext(boolean prependServletContext) > + { > this.prependServletContext = prependServletContext; > } > - > - public void execute(ActionInvocation invocation) throws Exception { > - if (anchor != null) { > + > + public void execute(ActionInvocation invocation) throws Exception > + { > + if (anchor != null) > + { > anchor = conditionalParse(anchor, invocation); > } > > @@ -159,47 +171,62 @@ public class ServletRedirectResult exten > } > > /** > - * Redirects to the location specified by calling {@link > HttpServletResponse#sendRedirect(String)}. > - * > - * @param finalLocation the location to redirect to. > - * @param invocation an encapsulation of the action execution state. > - * @throws Exception if an error occurs when redirecting. > + * Redirects to the location specified by calling > + * {@link HttpServletResponse#sendRedirect(String)}. > + * > + * @param finalLocation > + * the location to redirect to. > + * @param invocation > + * an encapsulation of the action execution state. > + * @throws Exception > + * if an error occurs when redirecting. > */ > - protected void doExecute(String finalLocation, ActionInvocation > invocation) throws Exception { > + protected void doExecute(String finalLocation, ActionInvocation > invocation) throws Exception > + { > ActionContext ctx = invocation.getInvocationContext(); > HttpServletRequest request = (HttpServletRequest) > ctx.get(ServletActionContext.HTTP_REQUEST); > HttpServletResponse response = (HttpServletResponse) > ctx.get(ServletActionContext.HTTP_RESPONSE); > > - if (isPathUrl(finalLocation)) { > - if (!finalLocation.startsWith("/")) { > - ActionMapping mapping = actionMapper.getMapping( > - request, > Dispatcher.getInstance().getConfigurationManager()); > + if (isPathUrl(finalLocation)) > + { > + if (!finalLocation.startsWith("/")) > + { > + ActionMapping mapping = actionMapper.getMapping(request, > Dispatcher.getInstance().getConfigurationManager()); > String namespace = null; > - if (mapping != null) { > + if (mapping != null) > + { > namespace = mapping.getNamespace(); > } > > - if ((namespace != null) && (namespace.length() > 0) && > (!"/".equals(namespace))) { > + if ((namespace != null) && (namespace.length() > 0) && > (!"/".equals(namespace))) > + { > finalLocation = namespace + "/" + finalLocation; > - } else { > + } > + else > + { > finalLocation = "/" + finalLocation; > } > } > > // if the URL's are relative to the servlet context, append the > servlet context path > - if (prependServletContext && (request.getContextPath() != null) > && (request.getContextPath().length() > 0)) { > + if (prependServletContext && (request.getContextPath() != null) > && (request.getContextPath().length() > 0)) > + { > finalLocation = request.getContextPath() + finalLocation; > } > > ResultConfig resultConfig = > invocation.getProxy().getConfig().getResults().get(invocation.getResultCode()); > - if (resultConfig != null ) { > + if (resultConfig != null) > + { > Map resultConfigParams = resultConfig.getParams(); > - for (Iterator i = resultConfigParams.entrySet().iterator(); > i.hasNext();) { > + for (Iterator i = resultConfigParams.entrySet().iterator(); > i.hasNext();) > + { > Map.Entry e = (Map.Entry) i.next(); > > - if (!getProhibitedResultParams().contains(e.getKey())) { > + if (!getProhibitedResultParams().contains(e.getKey())) > + { > String potentialValue = e.getValue() == null ? "" : > conditionalParse(e.getValue().toString(), invocation); > - if (!supressEmptyParameters || ((potentialValue != > null) && (potentialValue.length() > 0))) { > + if (!suppressEmptyParameters || ((potentialValue != > null) && (potentialValue.length() > 0))) > + { > requestParameters.put(e.getKey().toString(), > potentialValue); > } > } > @@ -210,39 +237,47 @@ public class ServletRedirectResult exten > UrlHelper.buildParametersString(requestParameters, tmpLocation, > "&"); > > // add the anchor > - if (anchor != null) { > + if (anchor != null) > + { > tmpLocation.append('#').append(anchor); > } > > finalLocation = > response.encodeRedirectURL(tmpLocation.toString()); > } > > - if (LOG.isDebugEnabled()) { > + if (LOG.isDebugEnabled()) > + { > LOG.debug("Redirecting to finalLocation " + finalLocation); > } > > sendRedirect(response, finalLocation); > } > > - protected List<String> getProhibitedResultParams() { > - return Arrays.asList(new String[]{ > - DEFAULT_PARAM, "namespace", "method", "encode", "parse", > "location", > - "prependServletContext", "supressEmptyParameters", > "anchor"}); > + protected List<String> getProhibitedResultParams() > + { > + return Arrays.asList(new String[] { > + DEFAULT_PARAM, "namespace", "method", "encode", "parse", > "location", "prependServletContext", "suppressEmptyParameters", "anchor" > + }); > } > > - > /** > - * Sends the redirection. Can be overridden to customize how the > redirect is handled (i.e. to use a different > - * status code) > - * > - * @param response The response > - * @param finalLocation The location URI > + * Sends the redirection. Can be overridden to customize how the > redirect is > + * handled (i.e. to use a different status code) > + * > + * @param response > + * The response > + * @param finalLocation > + * The location URI > * @throws IOException > */ > - protected void sendRedirect(HttpServletResponse response, String > finalLocation) throws IOException { > - if (SC_FOUND == statusCode) { > + protected void sendRedirect(HttpServletResponse response, String > finalLocation) throws IOException > + { > + if (SC_FOUND == statusCode) > + { > response.sendRedirect(finalLocation); > - } else { > + } > + else > + { > response.setStatus(statusCode); > response.setHeader("Location", finalLocation); > response.getWriter().write(finalLocation); > @@ -251,7 +286,8 @@ public class ServletRedirectResult exten > > } > > - private static boolean isPathUrl(String url) { > + private static boolean isPathUrl(String url) > + { > // filter out "http:", "https:", "mailto:", "file:", "ftp:" > // since the only valid places for : in URL's is before the path > specification > // either before the port, or after the protocol > @@ -259,26 +295,32 @@ public class ServletRedirectResult exten > } > > /** > - * Sets the supressEmptyParameters option > - * > - * @param supressEmptyParameters The new value for this option > + * Sets the suppressEmptyParameters option > + * > + * @param suppressEmptyParameters > + * The new value for this option > */ > - public void setSupressEmptyParameters(boolean supressEmptyParameters) { > - this.supressEmptyParameters = supressEmptyParameters; > + public void setSuppressEmptyParameters(boolean suppressEmptyParameters) > + { > + this.suppressEmptyParameters = suppressEmptyParameters; > } > > /** > * Adds a request parameter to be added to the redirect url > - * > - * @param key The parameter name > - * @param value The parameter value > + * > + * @param key > + * The parameter name > + * @param value > + * The parameter value > */ > - public ServletRedirectResult addParameter(String key, Object value) { > + public ServletRedirectResult addParameter(String key, Object value) > + { > requestParameters.put(key, String.valueOf(value)); > return this; > } > > - public void handle(ReflectionException ex) { > + public void handle(ReflectionException ex) > + { > // Only log as debug as they are probably parameters to be appended > to the url > LOG.debug(ex.getMessage(), ex); > } > > -- René Gielen http://twitter.com/rgielen --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org