added HttpsOffloadAwareServletActionRedirectResult
Project: http://git-wip-us.apache.org/repos/asf/struts-extras/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-extras/commit/276471cc Tree: http://git-wip-us.apache.org/repos/asf/struts-extras/tree/276471cc Diff: http://git-wip-us.apache.org/repos/asf/struts-extras/diff/276471cc Branch: refs/heads/master Commit: 276471cc49c84e5016d2beaf7770a5e036e5e191 Parents: 02a1ca6 Author: Stefaan Dutry <stefaan.du...@gmail.com> Authored: Tue Mar 28 08:35:36 2017 +0200 Committer: Stefaan Dutry <stefaan.du...@gmail.com> Committed: Tue Mar 28 08:35:36 2017 +0200 ---------------------------------------------------------------------- ...OffloadAwareServletActionRedirectResult.java | 123 +++++++++++++++++++ .../HttpsOffloadAwareServletRedirectResult.java | 12 ++ 2 files changed, 135 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts-extras/blob/276471cc/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletActionRedirectResult.java ---------------------------------------------------------------------- diff --git a/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletActionRedirectResult.java b/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletActionRedirectResult.java new file mode 100644 index 0000000..0cd1390 --- /dev/null +++ b/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletActionRedirectResult.java @@ -0,0 +1,123 @@ +/* + * $Id$ + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.struts2.result; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.struts2.ServletActionContext; +import org.apache.struts2.dispatcher.mapper.ActionMapping; +import org.apache.struts2.dispatcher.Dispatcher; +import org.apache.struts2.result.ServletRedirectResult; +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; + +public class HttpsOffloadAwareServletActionRedirectResult extends HttpsOffloadAwareServletRedirectResult { + /* The default parameter */ + public static final String DEFAULT_PARAM = "actionName"; + + protected String actionName; + protected String namespace; + protected String method; + + public HttpsOffloadAwareServletActionRedirectResult() {} + + public HttpsOffloadAwareServletActionRedirectResult(String actionName) { + this(null, actionName, null, null); + } + + public HttpsOffloadAwareServletActionRedirectResult(String actionName, String method) { + this(null, actionName, method, null); + } + + public HttpsOffloadAwareServletActionRedirectResult(String namespace, String actionName, String method) { + this(namespace, actionName, method, null); + } + + public HttpsOffloadAwareServletActionRedirectResult(String namespace, String actionName, String method, String anchor) { + super(null, anchor); + this.namespace = namespace; + this.actionName = actionName; + this.method = method; + } + + /** + * @see com.opensymphony.xwork2.Result#execute(com.opensymphony.xwork2.ActionInvocation) + */ + public void execute(ActionInvocation invocation) throws Exception { + actionName = conditionalParse(actionName, invocation); + if (namespace == null) { + namespace = invocation.getProxy().getNamespace(); + } else { + namespace = conditionalParse(namespace, invocation); + } + if (method == null) { + method = ""; + } else { + method = conditionalParse(method, invocation); + } + + String tmpLocation = actionMapper.getUriFromActionMapping(new ActionMapping(actionName, namespace, method, null)); + + setLocation(tmpLocation); + + super.execute(invocation); + } + + /** + * Sets the action name + * + * @param actionName The name + */ + public void setActionName(String actionName) { + this.actionName = actionName; + } + + /** + * Sets the namespace + * + * @param namespace The namespace + */ + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + /** + * Sets the method + * + * @param method The method + */ + public void setMethod(String method) { + this.method = method; + } + +} http://git-wip-us.apache.org/repos/asf/struts-extras/blob/276471cc/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletRedirectResult.java ---------------------------------------------------------------------- diff --git a/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletRedirectResult.java b/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletRedirectResult.java index 201eb3b..9de6739 100644 --- a/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletRedirectResult.java +++ b/struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/HttpsOffloadAwareServletRedirectResult.java @@ -52,6 +52,18 @@ public class HttpsOffloadAwareServletRedirectResult extends ServletRedirectResul this.urlHelper = urlHelper; } + public HttpsOffloadAwareServletRedirectResult() { + super(); + } + + public HttpsOffloadAwareServletRedirectResult(String location) { + this(location, null); + } + + public HttpsOffloadAwareServletRedirectResult(String location, String anchor) { + super(location, anchor); + } + /** * Redirects to the location specified by calling * {@link HttpServletResponse#sendRedirect(String)}.