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.DeclarativeWebScriptBase class for all workflow REST API implementations.- Since:
- 3.4
- Author:
- Nick Smith, Gavin Cornwell
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classAbstractWorkflowWebscript.ExcludeFilterHelper class to check for excluded items.
-
Field Summary
Fields Modifier and Type Field Description protected org.alfresco.service.cmr.security.AuthenticationServiceauthenticationServiceprotected org.alfresco.service.cmr.security.AuthorityServiceauthorityServicestatic intDEFAULT_MAX_ITEMSstatic intDEFAULT_SKIP_COUNTprotected org.alfresco.service.cmr.dictionary.DictionaryServicedictionaryServicestatic java.lang.StringEMPTYprotected org.alfresco.service.namespace.NamespaceServicenamespaceServiceprotected org.alfresco.service.cmr.repository.NodeServicenodeServicestatic java.lang.StringNULLstatic java.lang.StringPARAM_EXCLUDEstatic java.lang.StringPARAM_MAX_ITEMSstatic java.lang.StringPARAM_SKIP_COUNTprotected org.alfresco.service.cmr.security.PersonServicepersonServiceprotected org.alfresco.service.cmr.workflow.WorkflowServiceworkflowService
-
Constructor Summary
Constructors Constructor Description AbstractWorkflowWebscript()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.util.List<java.util.Map<java.lang.String,java.lang.Object>>applyPagination(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> results, int maxItems, int skipCount)Make the pagination for given list of objectsprotected abstract java.util.Map<java.lang.String,java.lang.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.protected java.util.Map<java.lang.String,java.lang.Object>createResultModel(org.springframework.extensions.webscripts.WebScriptRequest req, java.lang.String dataPropertyName, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> results)Builds the results model, applying pagination to the results if necessary.protected java.util.Map<java.lang.String,java.lang.Object>executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache)protected java.util.DategetDateParameter(org.springframework.extensions.webscripts.WebScriptRequest req, java.lang.String paramName)Retrieves the named paramter as a date.protected intgetIntParameter(org.springframework.extensions.webscripts.WebScriptRequest req, java.lang.String paramName, int defaultValue)Retrieves the named parameter as an integer, if the parameter is not present the default value is returnedprotected booleanisDateMatchForFilter(java.util.Date date, java.lang.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, java.lang.String paramName, java.util.Map<java.lang.String,java.lang.Object> filters)Processes the given date filter parameter from the provided webscript request.voidsetAuthenticationService(org.alfresco.service.cmr.security.AuthenticationService authenticationService)voidsetAuthorityService(org.alfresco.service.cmr.security.AuthorityService authorityService)voidsetDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)voidsetNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService)voidsetNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)voidsetPersonService(org.alfresco.service.cmr.security.PersonService personService)voidsetWorkflowService(org.alfresco.service.cmr.workflow.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 Detail
-
NULL
public static final java.lang.String NULL
- See Also:
- Constant Field Values
-
EMPTY
public static final java.lang.String EMPTY
- See Also:
- Constant Field Values
-
PARAM_MAX_ITEMS
public static final java.lang.String PARAM_MAX_ITEMS
- See Also:
- Constant Field Values
-
PARAM_SKIP_COUNT
public static final java.lang.String PARAM_SKIP_COUNT
- See Also:
- Constant Field Values
-
PARAM_EXCLUDE
public static final java.lang.String PARAM_EXCLUDE
- See Also:
- Constant Field Values
-
DEFAULT_MAX_ITEMS
public static final int DEFAULT_MAX_ITEMS
- See Also:
- Constant Field Values
-
DEFAULT_SKIP_COUNT
public static final int DEFAULT_SKIP_COUNT
- See Also:
- Constant Field Values
-
namespaceService
protected org.alfresco.service.namespace.NamespaceService namespaceService
-
nodeService
protected org.alfresco.service.cmr.repository.NodeService nodeService
-
personService
protected org.alfresco.service.cmr.security.PersonService personService
-
dictionaryService
protected org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService
-
authenticationService
protected org.alfresco.service.cmr.security.AuthenticationService authenticationService
-
authorityService
protected org.alfresco.service.cmr.security.AuthorityService authorityService
-
workflowService
protected org.alfresco.service.cmr.workflow.WorkflowService workflowService
-
-
Method Detail
-
executeImpl
protected java.util.Map<java.lang.String,java.lang.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
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
-
setPersonService
public void setPersonService(org.alfresco.service.cmr.security.PersonService personService)
-
setDictionaryService
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
-
setAuthenticationService
public void setAuthenticationService(org.alfresco.service.cmr.security.AuthenticationService authenticationService)
-
setAuthorityService
public void setAuthorityService(org.alfresco.service.cmr.security.AuthorityService authorityService)
-
setWorkflowService
public void setWorkflowService(org.alfresco.service.cmr.workflow.WorkflowService workflowService)
-
buildModel
protected abstract java.util.Map<java.lang.String,java.lang.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, java.lang.String paramName, java.util.Map<java.lang.String,java.lang.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 java.util.Date getDateParameter(org.springframework.extensions.webscripts.WebScriptRequest req, java.lang.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, java.lang.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 java.util.Map<java.lang.String,java.lang.Object> createResultModel(org.springframework.extensions.webscripts.WebScriptRequest req, java.lang.String dataPropertyName, java.util.List<java.util.Map<java.lang.String,java.lang.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 java.util.List<java.util.Map<java.lang.String,java.lang.Object>> applyPagination(java.util.List<java.util.Map<java.lang.String,java.lang.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
protected boolean isDateMatchForFilter(java.util.Date date, java.lang.Object filterValue, boolean dateBeforeFilter)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
-
-