Class AbstractWorkflowWebscript
java.lang.Object
org.springframework.extensions.webscripts.AbstractWebScript
org.springframework.extensions.webscripts.DeclarativeWebScript
org.alfresco.repo.web.scripts.workflow.AbstractWorkflowWebscript
- All Implemented Interfaces:
org.springframework.extensions.webscripts.WebScript
- Direct Known Subclasses:
TaskInstanceGet,TaskInstancePut,TaskInstancesGet,WorkflowDefinitionGet,WorkflowDefinitionsGet,WorkflowInstanceDelete,WorkflowInstanceGet,WorkflowInstancesForNodeGet,WorkflowInstancesGet
public abstract class AbstractWorkflowWebscript
extends org.springframework.extensions.webscripts.DeclarativeWebScript
Base class for all workflow REST API implementations.
- Since:
- 3.4
- Author:
- Nick Smith, Gavin Cornwell
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassHelper class to check for excluded items.Nested classes/interfaces inherited from class org.springframework.extensions.webscripts.AbstractWebScript
org.springframework.extensions.webscripts.AbstractWebScript.ScriptDetails -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AuthenticationServiceprotected AuthorityServicestatic final intstatic final intprotected org.alfresco.service.cmr.dictionary.DictionaryServicestatic final Stringprotected org.alfresco.service.namespace.NamespaceServiceprotected NodeServicestatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected PersonServiceprotected WorkflowService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapplyPagination(List<Map<String, Object>> results, int maxItems, int skipCount) Make the pagination for given list of objectsbuildModel(WorkflowModelBuilder modelBuilder, org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache) This method uses aWorkflowModelBuilderto build up the model to return.createResultModel(org.springframework.extensions.webscripts.WebScriptRequest req, String dataPropertyName, List<Map<String, Object>> results) Builds the results model, applying pagination to the results if necessary.executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache) protected DategetDateParameter(org.springframework.extensions.webscripts.WebScriptRequest req, String paramName) Retrieves the named paramter as a date.protected intgetIntParameter(org.springframework.extensions.webscripts.WebScriptRequest req, String paramName, int defaultValue) Retrieves the named parameter as an integer, if the parameter is not present the default value is returnedprotected booleanisDateMatchForFilter(Date date, Object filterValue, boolean dateBeforeFilter) Determines whether the given date is a match for the given filter value.protected voidprocessDateFilter(org.springframework.extensions.webscripts.WebScriptRequest req, String paramName, Map<String, Object> filters) Processes the given date filter parameter from the provided webscript request.voidsetAuthenticationService(AuthenticationService authenticationService) voidsetAuthorityService(AuthorityService authorityService) voidsetDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService) voidsetNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService) voidsetNodeService(NodeService nodeService) voidsetPersonService(PersonService personService) voidsetWorkflowService(WorkflowService workflowService) Methods inherited from class org.springframework.extensions.webscripts.DeclarativeWebScript
execute, executeFinallyImpl, executeImpl, executeImpl, getTemplateModel, renderFormatTemplateMethods inherited from class org.springframework.extensions.webscripts.AbstractWebScript
addModuleBundleToCache, checkModuleBundleCache, createArgs, createArgsM, createHeaders, createHeadersM, createScriptParameters, createStatusException, createTemplateParameters, executeScript, getContainer, getDescription, getExecuteScript, getResources, getStatusTemplate, init, renderString, renderString, renderTemplate, sendStatus, setURLModelFactory, toString
-
Field Details
-
NULL
- See Also:
-
EMPTY
- See Also:
-
PARAM_MAX_ITEMS
- See Also:
-
PARAM_SKIP_COUNT
- See Also:
-
PARAM_EXCLUDE
- See Also:
-
DEFAULT_MAX_ITEMS
public static final int DEFAULT_MAX_ITEMS- See Also:
-
DEFAULT_SKIP_COUNT
public static final int DEFAULT_SKIP_COUNT- See Also:
-
namespaceService
protected org.alfresco.service.namespace.NamespaceService namespaceService -
nodeService
-
personService
-
dictionaryService
protected org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService -
authenticationService
-
authorityService
-
workflowService
-
-
Constructor Details
-
AbstractWorkflowWebscript
public AbstractWorkflowWebscript()
-
-
Method Details
-
executeImpl
protected Map<String,Object> executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache) - Overrides:
executeImplin classorg.springframework.extensions.webscripts.DeclarativeWebScript
-
setNamespaceService
public void setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService) -
setNodeService
-
setPersonService
-
setDictionaryService
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService) -
setAuthenticationService
-
setAuthorityService
-
setWorkflowService
-
buildModel
protected abstract Map<String,Object> buildModel(WorkflowModelBuilder modelBuilder, org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache) This method uses aWorkflowModelBuilderto build up the model to return.- Parameters:
modelBuilder- AWorkflowModelBuilder.req- theWebScriptRequeststatus- theStatuscache- theCache- Returns:
- the data model.
-
processDateFilter
protected void processDateFilter(org.springframework.extensions.webscripts.WebScriptRequest req, String paramName, Map<String, Object> filters) Processes the given date filter parameter from the provided webscript request. If the parameter is present but set to an empty string or to "null" the date is added to the given filters Map as "", if the parameter contains an ISO8601 date it's added as a Date object to the filters.- Parameters:
req- The WebScript requestparamName- The name of the parameter to look forfilters- Map of filters to add the date to
-
getDateParameter
protected Date getDateParameter(org.springframework.extensions.webscripts.WebScriptRequest req, String paramName) Retrieves the named paramter as a date.- Parameters:
req- The WebScript requestparamName- The name of parameter to look for- Returns:
- The request parameter value or null if the parameter is not present
-
getIntParameter
protected int getIntParameter(org.springframework.extensions.webscripts.WebScriptRequest req, String paramName, int defaultValue) Retrieves the named parameter as an integer, if the parameter is not present the default value is returned- Parameters:
req- The WebScript requestparamName- The name of parameter to look fordefaultValue- The default value that should be returned if parameter is not present in request or if it is not positive- Returns:
- The request parameter or default value
-
createResultModel
protected Map<String,Object> createResultModel(org.springframework.extensions.webscripts.WebScriptRequest req, String dataPropertyName, List<Map<String, Object>> results) Builds the results model, applying pagination to the results if necessary.- Parameters:
req- The WebScript requestdataPropertyName- The name of the property to use in the modelresults- The full set of results- Returns:
- List of results to return to the callee
-
applyPagination
protected List<Map<String,Object>> applyPagination(List<Map<String, Object>> results, int maxItems, int skipCount) Make the pagination for given list of objects- Parameters:
results- the initial list of objects for paginationmaxItems- maximum count of elements that should be included in paging resultskipCount- the count of elements that should be skipped- Returns:
- List of paginated results
-
isDateMatchForFilter
Determines whether the given date is a match for the given filter value.- Parameters:
date- The date to check againstfilterValue- The value of the filter, either an empty String or a Date objectdateBeforeFilter- true to test the date is before the filterValue, false to test the date is after the filterValue- Returns:
- true if the date is a match for the filterValue
-