From 72dacb9c7943703d9665331a8d562e4496c37844 Mon Sep 17 00:00:00 2001 From: Jamal Kaabi-Mofrad Date: Tue, 10 May 2016 11:10:50 +0000 Subject: [PATCH] Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2) 122630 gjames: RA-211: Moving the response callback down a level git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@126488 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../rest/framework/resource/actions/ActionExecutor.java | 3 ++- .../rest/framework/webscripts/AbstractResourceWebScript.java | 4 +--- .../rest/framework/webscripts/ResourceWebScriptDelete.java | 5 +++-- .../rest/framework/webscripts/ResourceWebScriptGet.java | 2 +- .../rest/framework/webscripts/ResourceWebScriptHelper.java | 4 +++- .../rest/framework/webscripts/ResourceWebScriptPost.java | 2 +- .../rest/framework/webscripts/ResourceWebScriptPut.java | 2 +- 7 files changed, 12 insertions(+), 10 deletions(-) diff --git a/source/java/org/alfresco/rest/framework/resource/actions/ActionExecutor.java b/source/java/org/alfresco/rest/framework/resource/actions/ActionExecutor.java index 272d34c04b..e52a51644e 100644 --- a/source/java/org/alfresco/rest/framework/resource/actions/ActionExecutor.java +++ b/source/java/org/alfresco/rest/framework/resource/actions/ActionExecutor.java @@ -4,6 +4,7 @@ import org.alfresco.rest.framework.core.HttpMethodSupport; import org.alfresco.rest.framework.core.ResourceWithMetadata; import org.alfresco.rest.framework.resource.content.ContentInfo; import org.alfresco.rest.framework.resource.parameters.Params; +import org.alfresco.rest.framework.webscripts.ResponseCallBack; import org.springframework.extensions.webscripts.Status; import org.springframework.extensions.webscripts.WebScriptResponse; @@ -21,6 +22,6 @@ public interface ActionExecutor extends HttpMethodSupport * @param params Params */ @SuppressWarnings("rawtypes") - public Object executeAction(ResourceWithMetadata resource, Params params) throws Throwable; + public Object executeAction(ResourceWithMetadata resource, Params params, ResponseCallBack withResponse) throws Throwable; } diff --git a/source/java/org/alfresco/rest/framework/webscripts/AbstractResourceWebScript.java b/source/java/org/alfresco/rest/framework/webscripts/AbstractResourceWebScript.java index a487032a80..4bbcac3d70 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/AbstractResourceWebScript.java +++ b/source/java/org/alfresco/rest/framework/webscripts/AbstractResourceWebScript.java @@ -152,7 +152,7 @@ public abstract class AbstractResourceWebScript extends ApiWebScript implements public Object execute() throws Throwable { - Object result = executeAction(resource, params); + Object result = executeAction(resource, params, callBack); if (result instanceof BinaryResource) { return result; //don't postprocess it. @@ -164,8 +164,6 @@ public abstract class AbstractResourceWebScript extends ApiWebScript implements return toReturn; } - public abstract Object executeAction(ResourceWithMetadata resource, Params params) throws Throwable; - protected void streamResponse(final WebScriptRequest req, final WebScriptResponse res, BinaryResource resource) throws IOException { if (resource instanceof FileBinaryResource) diff --git a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptDelete.java b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptDelete.java index b35603edf0..f5b378e169 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptDelete.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptDelete.java @@ -88,7 +88,8 @@ public class ResourceWebScriptDelete extends AbstractResourceWebScript implement * @param params parameters to use * @return anObject the result of the execute */ - public Object executeAction(ResourceWithMetadata resource, Params params) + @Override + public Object executeAction(ResourceWithMetadata resource, Params params, ResponseCallBack withResponse) { switch (resource.getMetaData().getType()) { @@ -149,7 +150,7 @@ public class ResourceWebScriptDelete extends AbstractResourceWebScript implement @Override public Void execute() throws Throwable { - executeAction(resource, params); //ignore return result + executeAction(resource, params, callBack); //ignore return result return null; } }, false, true); diff --git a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptGet.java b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptGet.java index 8eaae5668b..be7b98f906 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptGet.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptGet.java @@ -117,7 +117,7 @@ public class ResourceWebScriptGet extends AbstractResourceWebScript implements P * @return anObject the result of the execute */ @Override - public Object executeAction(ResourceWithMetadata resource, Params params) throws Throwable + public Object executeAction(ResourceWithMetadata resource, Params params, ResponseCallBack withResponse) throws Throwable { switch (resource.getMetaData().getType()) diff --git a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptHelper.java b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptHelper.java index 075c73cc80..ca5a5633f5 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptHelper.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptHelper.java @@ -69,6 +69,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codehaus.jackson.map.JsonMappingException; import org.springframework.beans.BeanUtils; +import org.springframework.extensions.webscripts.Status; import org.springframework.extensions.webscripts.WebScriptRequest; import org.springframework.extensions.webscripts.WebScriptResponse; import org.springframework.http.HttpMethod; @@ -628,8 +629,9 @@ public class ResourceWebScriptHelper paramFilter = filters.get(resourceKey); } final Params executionParams = Params.valueOf(paramFilter, uniqueEntityId, params.getRequest()); + final ResponseCallBack callBack = new ResponseCallBack(Status.STATUS_OK,ApiWebScript.DEFAULT_JSON_CONTENT,ApiWebScript.CACHE_NEVER); //Read only because this only occurs for GET requests - Object result = executor.executeAction(resource, executionParams); + Object result = executor.executeAction(resource, executionParams, callBack); return processAdditionsToTheResponse(null, api, null, executionParams, result); } catch(NotFoundException e) diff --git a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPost.java b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPost.java index 40da260f73..f299a2dafa 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPost.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPost.java @@ -211,7 +211,7 @@ public class ResourceWebScriptPost extends AbstractResourceWebScript implements * @return anObject the result of the execute */ @Override - public Object executeAction(ResourceWithMetadata resource, Params params) throws Throwable + public Object executeAction(ResourceWithMetadata resource, Params params, ResponseCallBack withResponse) throws Throwable { final Object resObj = resource.getResource(); diff --git a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPut.java b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPut.java index c19ab923d9..be436d9ec4 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPut.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPut.java @@ -180,7 +180,7 @@ public class ResourceWebScriptPut extends AbstractResourceWebScript implements P * @return anObject the result of the execute */ @Override - public Object executeAction(ResourceWithMetadata resource, Params params) throws Throwable + public Object executeAction(ResourceWithMetadata resource, Params params, ResponseCallBack withResponse) throws Throwable { switch (resource.getMetaData().getType()) {