[4/7] struts git commit: Updates flow to handle new API
Updates flow to handle new API Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/103e3b17 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/103e3b17 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/103e3b17 Branch: refs/heads/support-2-3 Commit: 103e3b174e497bbe7058919f12b9f48a0ddf6de3 Parents: 2776b34 Author: Lukasz Lenart Authored: Wed Aug 2 14:59:54 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 08:55:50 2017 +0200 -- .../org/apache/struts2/rest/ContentTypeHandlerManager.java| 7 +++ .../java/org/apache/struts2/rest/ContentTypeInterceptor.java | 2 +- .../java/org/apache/struts2/rest/RestActionInvocation.java| 4 +--- .../java/org/apache/struts2/rest/RestWorkflowInterceptor.java | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/103e3b17/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java b/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java index 38ca89c..dee61fd 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java @@ -21,6 +21,7 @@ package org.apache.struts2.rest; +import com.opensymphony.xwork2.ActionInvocation; import org.apache.struts2.rest.handler.ContentTypeHandler; import javax.servlet.http.HttpServletRequest; @@ -58,10 +59,16 @@ public interface ContentTypeHandlerManager { * @param target The object to return, usually the action object * @return The new result code to process * @throws IOException If unable to write to the response + * + * @deprecated use version which requires {@link ActionInvocation} */ +@Deprecated String handleResult(ActionConfig actionConfig, Object methodResult, Object target) throws IOException; +String handleResult(ActionInvocation actionInvocation, Object methodResult, Object target) +throws IOException; + /** * Finds the extension in the url * http://git-wip-us.apache.org/repos/asf/struts/blob/103e3b17/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java b/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java index 7ee05a7..43c8189 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java @@ -61,7 +61,7 @@ public class ContentTypeInterceptor implements Interceptor { if (request.getContentLength() > 0) { InputStream is = request.getInputStream(); InputStreamReader reader = new InputStreamReader(is); -handler.toObject(reader, target); +handler.toObject(invocation, reader, target); } return invocation.invoke(); } http://git-wip-us.apache.org/repos/asf/struts/blob/103e3b17/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java b/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java index ed8c695..b1dd061 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java @@ -229,9 +229,7 @@ public class RestActionInvocation extends DefaultActionInvocation { if (handler != null && !(handler instanceof HtmlHandler)) { // Specific representation (json, xml...) -resultCode = handlerSelector.handleResult( -this.getProxy().getConfig(), httpHeaders, target); - +resultCode = handlerSelector.handleResult(this, httpHeaders, target); } else { // Normal struts execution (html o other struts result) http://git-wip-us.apache.org/repos/asf/struts/blob/103e3b17/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java b/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java index 72193ae..a4be52
[6/7] struts git commit: Fixes post cherry-pick
Fixes post cherry-pick Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/b9a0c497 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/b9a0c497 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/b9a0c497 Branch: refs/heads/support-2-3 Commit: b9a0c497d3fd872defc9683341c8ceaccc23b7f1 Parents: 2f95b9a Author: Lukasz Lenart Authored: Thu Aug 24 09:10:12 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 09:10:12 2017 +0200 -- .../struts2/rest/DefaultContentTypeHandlerManager.java| 7 +++ .../struts2/rest/handler/AbstractContentTypeHandler.java | 8 +++- .../apache/struts2/rest/handler/JacksonLibHandler.java| 10 +- 3 files changed, 11 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/b9a0c497/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java b/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java index 02a314a..def9da0 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java @@ -25,8 +25,8 @@ import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.config.entities.ActionConfig; import com.opensymphony.xwork2.inject.Container; import com.opensymphony.xwork2.inject.Inject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +import com.opensymphony.xwork2.util.logging.Logger; +import com.opensymphony.xwork2.util.logging.LoggerFactory; import org.apache.struts2.ServletActionContext; import org.apache.struts2.rest.handler.ContentTypeHandler; @@ -44,7 +44,7 @@ import java.util.Set; */ public class DefaultContentTypeHandlerManager implements ContentTypeHandlerManager { -private static final Logger LOG = LogManager.getLogger(DefaultContentTypeHandlerManager.class); +private static final Logger LOG = LoggerFactory.getLogger(DefaultContentTypeHandlerManager.class); /** ContentTypeHandlers keyed by the extension */ Map handlersByExtension = new HashMap(); @@ -158,7 +158,6 @@ public class DefaultContentTypeHandlerManager implements ContentTypeHandlerManag return handler; } -@Override public String handleResult(ActionConfig actionConfig, Object methodResult, Object target) throws IOException { LOG.warn("This method is deprecated!"); return readResultCode(methodResult); http://git-wip-us.apache.org/repos/asf/struts/blob/b9a0c497/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java index ae9b3b8..1aadc66 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java @@ -19,8 +19,8 @@ package org.apache.struts2.rest.handler; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +import com.opensymphony.xwork2.util.logging.Logger; +import com.opensymphony.xwork2.util.logging.LoggerFactory; import java.io.IOException; import java.io.Reader; @@ -28,14 +28,12 @@ import java.io.Writer; abstract public class AbstractContentTypeHandler implements ContentTypeHandler { -private static final Logger LOG = LogManager.getLogger(AbstractContentTypeHandler.class); +private static final Logger LOG = LoggerFactory.getLogger(AbstractContentTypeHandler.class); -@Override public void toObject(Reader in, Object target) throws IOException { LOG.warn("This method is deprecated!"); } -@Override public String fromObject(Object obj, String resultCode, Writer stream) throws IOException { LOG.warn("This method is deprecated!"); return null; http://git-wip-us.apache.org/repos/asf/struts/blob/b9a0c497/plugins/rest/src/main/java/org/apache/struts2/rest/handler/JacksonLibHandler.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/JacksonLibHandler.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/JacksonLibHandler.java index dd9dee3..a8ed5a5 100644 --- a/plugins/rest/src/main/java/
[2/7] struts git commit: Adds new methods and marks current as deprecated
Adds new methods and marks current as deprecated Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/287e3bc8 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/287e3bc8 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/287e3bc8 Branch: refs/heads/support-2-3 Commit: 287e3bc8cbd66fdda04b075bc96362bfd3e2dce9 Parents: 677cceb Author: Lukasz Lenart Authored: Wed Aug 2 14:56:09 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 08:49:21 2017 +0200 -- .../struts2/rest/handler/ContentTypeHandler.java | 17 +++-- 1 file changed, 15 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/287e3bc8/plugins/rest/src/main/java/org/apache/struts2/rest/handler/ContentTypeHandler.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/ContentTypeHandler.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/ContentTypeHandler.java index 9ea78e8..a01557e 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/ContentTypeHandler.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/ContentTypeHandler.java @@ -21,6 +21,8 @@ package org.apache.struts2.rest.handler; +import com.opensymphony.xwork2.ActionInvocation; + import java.io.IOException; import java.io.Reader; import java.io.Writer; @@ -34,9 +36,15 @@ public interface ContentTypeHandler { * Populates an object using data from the input stream * @param in The input stream, usually the body of the request * @param target The target, usually the action class + * @throws IOException If unable to write to the output stream + * + * @deprecated use version which requires {@link ActionInvocation} */ +@Deprecated void toObject(Reader in, Object target) throws IOException; - + +void toObject(ActionInvocation invocation, Reader in, Object target) throws IOException; + /** * Writes content to the stream * @@ -45,9 +53,14 @@ public interface ContentTypeHandler { * @param stream The output stream, usually the response * @return The new result code * @throws IOException If unable to write to the output stream + * + * @deprecated use version which requires {@link ActionInvocation} */ +@Deprecated String fromObject(Object obj, String resultCode, Writer stream) throws IOException; - + +String fromObject(ActionInvocation invocation, Object obj, String resultCode, Writer stream) throws IOException; + /** * Gets the content type for this handler *
[3/7] struts git commit: Adds an abstract layer to allow easily handle API change
Adds an abstract layer to allow easily handle API change Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/2776b34b Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/2776b34b Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/2776b34b Branch: refs/heads/support-2-3 Commit: 2776b34b44808f2a4ce2c6fee3c2f3a586bc55b0 Parents: 287e3bc Author: Lukasz Lenart Authored: Wed Aug 2 14:58:15 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 08:53:57 2017 +0200 -- .../handler/AbstractContentTypeHandler.java | 44 .../rest/handler/FormUrlEncodedHandler.java | 18 +--- .../struts2/rest/handler/HtmlHandler.java | 8 ++-- .../struts2/rest/handler/JacksonLibHandler.java | 20 - .../struts2/rest/handler/JsonLibHandler.java| 7 ++-- .../rest/handler/MultipartFormDataHandler.java | 18 +--- .../struts2/rest/handler/XStreamHandler.java| 7 ++-- 7 files changed, 91 insertions(+), 31 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/2776b34b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java new file mode 100644 index 000..ae9b3b8 --- /dev/null +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AbstractContentTypeHandler.java @@ -0,0 +1,44 @@ +/* + * 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.rest.handler; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.IOException; +import java.io.Reader; +import java.io.Writer; + +abstract public class AbstractContentTypeHandler implements ContentTypeHandler { + +private static final Logger LOG = LogManager.getLogger(AbstractContentTypeHandler.class); + +@Override +public void toObject(Reader in, Object target) throws IOException { +LOG.warn("This method is deprecated!"); +} + +@Override +public String fromObject(Object obj, String resultCode, Writer stream) throws IOException { +LOG.warn("This method is deprecated!"); +return null; +} + +} http://git-wip-us.apache.org/repos/asf/struts/blob/2776b34b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/FormUrlEncodedHandler.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/FormUrlEncodedHandler.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/FormUrlEncodedHandler.java index 17ea005..30168c7 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/FormUrlEncodedHandler.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/FormUrlEncodedHandler.java @@ -20,6 +20,8 @@ */ package org.apache.struts2.rest.handler; +import com.opensymphony.xwork2.ActionInvocation; + import java.io.Writer; import java.io.IOException; import java.io.Reader; @@ -34,21 +36,25 @@ import java.io.Reader; * {@link http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4} * */ -public class FormUrlEncodedHandler implements ContentTypeHandler { +public class FormUrlEncodedHandler extends AbstractContentTypeHandler { public static final String CONTENT_TYPE = "application/x-www-form-urlencoded"; -public String fromObject(Object obj, String resultCode, Writer out) throws IOException { +public String fromObject(ActionInvocation invocation, Object obj, String resultCode, Writer out) throws IOException { throw new IOException("Conversion from Object to '"+getContentType()+"' is not supported"); } -/** No transformation is required as the framework handles this data */ -public void toObject(Reader in, Object target) { +/** + *
[1/7] struts git commit: WW-4836 Upgrades xstream lib to the latest version
Repository: struts Updated Branches: refs/heads/support-2-3 f11ac901d -> 6dd6e5cfb WW-4836 Upgrades xstream lib to the latest version Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/677ccebe Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/677ccebe Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/677ccebe Branch: refs/heads/support-2-3 Commit: 677ccebe83d159d7c0a2274af703a7cc752a04b3 Parents: f11ac90 Author: Lukasz Lenart Authored: Wed Aug 2 15:09:03 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 08:46:34 2017 +0200 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/677ccebe/pom.xml -- diff --git a/pom.xml b/pom.xml index 498abef..faed02b 100644 --- a/pom.xml +++ b/pom.xml @@ -940,7 +940,7 @@ com.thoughtworks.xstream xstream -1.4.8 +1.4.10
[7/7] struts git commit: Allows define allowed classes per action
Allows define allowed classes per action Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/6dd6e5cf Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/6dd6e5cf Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/6dd6e5cf Branch: refs/heads/support-2-3 Commit: 6dd6e5cfb7b5e020abffe7e8091bd63fe97c10af Parents: b9a0c49 Author: Lukasz Lenart Authored: Mon Aug 21 13:17:31 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 09:10:28 2017 +0200 -- .../struts2/rest/handler/AllowedClassNames.java | 26 +++ .../struts2/rest/handler/AllowedClasses.java| 26 +++ .../struts2/rest/handler/XStreamHandler.java| 81 +++- .../rest/handler/XStreamPermissionProvider.java | 28 +++ 4 files changed, 158 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/6dd6e5cf/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClassNames.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClassNames.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClassNames.java new file mode 100644 index 000..70927e6 --- /dev/null +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClassNames.java @@ -0,0 +1,26 @@ +/* + * 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.rest.handler; + +import java.util.Set; + +public interface AllowedClassNames { +Set allowedClassNames(); +} http://git-wip-us.apache.org/repos/asf/struts/blob/6dd6e5cf/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClasses.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClasses.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClasses.java new file mode 100644 index 000..9c2b8b4 --- /dev/null +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClasses.java @@ -0,0 +1,26 @@ +/* + * 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.rest.handler; + +import java.util.Set; + +public interface AllowedClasses { +Set> allowedClasses(); +} http://git-wip-us.apache.org/repos/asf/struts/blob/6dd6e5cf/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java index 5650702..2090742 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java @@ -22,34 +22,97 @@ package org.apache.struts2.rest.handler; import com.opensymphony.xwork2.ActionInvocation; +import com.opensymphony.xwork2.ModelDriven; import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.security.ArrayTypePermission; +import com.thoughtworks.xstream.security.ExplicitTypePermission; +import com.thoughtworks.xstream.security.NoTypePer
[5/7] struts git commit: Updates tests
Updates tests Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/2f95b9a1 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/2f95b9a1 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/2f95b9a1 Branch: refs/heads/support-2-3 Commit: 2f95b9a130322b62cdd8d61c62b7462b354ca548 Parents: 103e3b1 Author: Lukasz Lenart Authored: Wed Aug 2 15:00:01 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 08:56:07 2017 +0200 -- .../rest/DefaultContentTypeHandlerManager.java | 21 +++ .../rest/ContentTypeHandlerManagerTest.java | 22 +++- .../DefaultContentTypeHandlerManagerTest.java | 8 --- .../rest/RestWorkflowInterceptorTest.java | 1 - .../rest/handler/JacksonLibHandlerTest.java | 9 .../rest/handler/JsonLibHandlerTest.java| 7 --- 6 files changed, 48 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/2f95b9a1/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java b/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java index dba7d13..02a314a 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java @@ -21,9 +21,12 @@ package org.apache.struts2.rest; +import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.config.entities.ActionConfig; import com.opensymphony.xwork2.inject.Container; import com.opensymphony.xwork2.inject.Inject; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.struts2.ServletActionContext; import org.apache.struts2.rest.handler.ContentTypeHandler; @@ -41,6 +44,8 @@ import java.util.Set; */ public class DefaultContentTypeHandlerManager implements ContentTypeHandlerManager { +private static final Logger LOG = LogManager.getLogger(DefaultContentTypeHandlerManager.class); + /** ContentTypeHandlers keyed by the extension */ Map handlersByExtension = new HashMap(); /** ContentTypeHandlers keyed by the content-type */ @@ -115,7 +120,7 @@ public class DefaultContentTypeHandlerManager implements ContentTypeHandlerManag /** * Gets the handler for the response by looking at the extension of the request - * @param req The request + * @param request The request * @return The appropriate handler * * WW-4588: modified to get a handler for the response side and auto generate the response type @@ -153,20 +158,28 @@ public class DefaultContentTypeHandlerManager implements ContentTypeHandlerManag return handler; } +@Override +public String handleResult(ActionConfig actionConfig, Object methodResult, Object target) throws IOException { +LOG.warn("This method is deprecated!"); +return readResultCode(methodResult); +} + /** * Handles the result using handlers to generate content type-specific content * - * @param actionConfig The action config for the current request + * @param invocation The action invocation for the current request * @param methodResult The object returned from the action method * @param target The object to return, usually the action object * @return The new result code to process * @throws IOException If unable to write to the response */ -public String handleResult(ActionConfig actionConfig, Object methodResult, Object target) throws IOException { +public String handleResult(ActionInvocation invocation, Object methodResult, Object target) throws IOException { String resultCode = readResultCode(methodResult); Integer statusCode = readStatusCode(methodResult); HttpServletRequest req = ServletActionContext.getRequest(); HttpServletResponse res = ServletActionContext.getResponse(); +ActionConfig actionConfig = invocation.getProxy().getConfig(); + if(statusCode != null) { res.setStatus(statusCode); } @@ -178,7 +191,7 @@ public class DefaultContentTypeHandlerManager implements ContentTypeHandlerManag resultCode = extCode; } else { StringWriter writer = new StringWriter(); -resultCode = handler.fromObject(target, resultCode, writer); +resultCode = handler.fromObject(invocation, target, resultCode, writer); String text = writer.toString();
struts git commit: Fixes post cherry-pick
Repository: struts Updated Branches: refs/heads/support-2-3 6dd6e5cfb -> cf53b5964 Fixes post cherry-pick Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/cf53b596 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/cf53b596 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/cf53b596 Branch: refs/heads/support-2-3 Commit: cf53b59647aaa7aa4bb69682a8a53dbfdcce8462 Parents: 6dd6e5c Author: Lukasz Lenart Authored: Thu Aug 24 11:09:29 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 11:09:29 2017 +0200 -- .../java/org/apache/struts2/rest/handler/XStreamHandler.java | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/cf53b596/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java -- diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java index 2090742..d0f9680 100644 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/handler/XStreamHandler.java @@ -23,6 +23,8 @@ package org.apache.struts2.rest.handler; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.ModelDriven; +import com.opensymphony.xwork2.util.logging.Logger; +import com.opensymphony.xwork2.util.logging.LoggerFactory; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.security.ArrayTypePermission; import com.thoughtworks.xstream.security.ExplicitTypePermission; @@ -30,8 +32,6 @@ import com.thoughtworks.xstream.security.NoTypePermission; import com.thoughtworks.xstream.security.NullPermission; import com.thoughtworks.xstream.security.PrimitiveTypePermission; import com.thoughtworks.xstream.security.TypePermission; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import java.io.IOException; import java.io.Reader; @@ -46,7 +46,7 @@ import java.util.Set; */ public class XStreamHandler extends AbstractContentTypeHandler { -private static final Logger LOG = LogManager.getLogger(XStreamHandler.class); +private static final Logger LOG = LoggerFactory.getLogger(XStreamHandler.class); public String fromObject(ActionInvocation invocation, Object obj, String resultCode, Writer out) throws IOException { if (obj != null) { @@ -125,7 +125,6 @@ public class XStreamHandler extends AbstractContentTypeHandler { private static final TypePermission COLLECTIONS = new CollectionTypePermission(); -@Override public boolean allows(Class type) { return type != null && type.isInterface() && (Collection.class.isAssignableFrom(type) || Map.class.isAssignableFrom(type));
struts git commit: Drops unused annotation in this Java version
Repository: struts Updated Branches: refs/heads/support-2-3 cf53b5964 -> ed7f9dd4c Drops unused annotation in this Java version Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/ed7f9dd4 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/ed7f9dd4 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/ed7f9dd4 Branch: refs/heads/support-2-3 Commit: ed7f9dd4cb24779813653fbefdd54d89f11a6051 Parents: cf53b59 Author: Lukasz Lenart Authored: Thu Aug 24 12:07:33 2017 +0200 Committer: Lukasz Lenart Committed: Thu Aug 24 12:07:33 2017 +0200 -- apps/blank/src/main/java/example/Login.java | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/ed7f9dd4/apps/blank/src/main/java/example/Login.java -- diff --git a/apps/blank/src/main/java/example/Login.java b/apps/blank/src/main/java/example/Login.java index 6a1e750..2cd2e2b 100644 --- a/apps/blank/src/main/java/example/Login.java +++ b/apps/blank/src/main/java/example/Login.java @@ -25,7 +25,6 @@ import org.apache.struts2.interceptor.validation.SkipValidation; public class Login extends ExampleSupport { -@Override public String execute() throws Exception { return SUCCESS; }