From b5a0388b741abe7040a8793766b17e3f4b3a0fa2 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Wed, 11 May 2016 11:42:52 +0000 Subject: [PATCH] Merged HEAD (5.2) to 5.2.N (5.2.1) 126488 jkaabimofrad: 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/BRANCHES/DEV/5.2.N/root@126832 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 57e74aa3d7..1f32111089 100644 --- a/source/java/org/alfresco/rest/framework/resource/actions/ActionExecutor.java +++ b/source/java/org/alfresco/rest/framework/resource/actions/ActionExecutor.java @@ -29,6 +29,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; @@ -46,6 +47,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 3f47430ea3..5b61920df6 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/AbstractResourceWebScript.java +++ b/source/java/org/alfresco/rest/framework/webscripts/AbstractResourceWebScript.java @@ -159,7 +159,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. @@ -171,8 +171,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 06dff6bb03..168e69089f 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptDelete.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptDelete.java @@ -113,7 +113,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()) { @@ -174,7 +175,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 944249e08d..b7740d8b8a 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptGet.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptGet.java @@ -124,7 +124,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 8c10425da6..fd465c9796 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptHelper.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptHelper.java @@ -77,6 +77,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; @@ -636,8 +637,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 248aeacae3..4f7d660db2 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPost.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPost.java @@ -217,7 +217,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 997e3e7676..0987aabc6f 100644 --- a/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPut.java +++ b/source/java/org/alfresco/rest/framework/webscripts/ResourceWebScriptPut.java @@ -186,7 +186,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()) {