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 TypeClassDescriptionclass
Helper 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 AuthenticationService
protected AuthorityService
static final int
static final int
protected org.alfresco.service.cmr.dictionary.DictionaryService
static final String
protected org.alfresco.service.namespace.NamespaceService
protected NodeService
static final String
static final String
static final String
static final String
protected PersonService
protected 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 aWorkflowModelBuilder
to 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 Date
getDateParameter
(org.springframework.extensions.webscripts.WebScriptRequest req, String paramName) Retrieves the named paramter as a date.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 returnedprotected boolean
isDateMatchForFilter
(Date date, Object filterValue, boolean dateBeforeFilter) Determines whether the given date is a match for the given filter value.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.void
setAuthenticationService
(AuthenticationService authenticationService) void
setAuthorityService
(AuthorityService authorityService) void
setDictionaryService
(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService) void
setNamespaceService
(org.alfresco.service.namespace.NamespaceService namespaceService) void
setNodeService
(NodeService nodeService) void
setPersonService
(PersonService personService) void
setWorkflowService
(WorkflowService workflowService) Methods inherited from class org.springframework.extensions.webscripts.DeclarativeWebScript
execute, executeFinallyImpl, executeImpl, executeImpl, getTemplateModel, renderFormatTemplate
Methods 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:
executeImpl
in 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 aWorkflowModelBuilder
to build up the model to return.- Parameters:
modelBuilder
- AWorkflowModelBuilder
.req
- theWebScriptRequest
status
- theStatus
cache
- 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
-