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
  • Field Details

  • 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 class org.springframework.extensions.webscripts.DeclarativeWebScript
    • setNamespaceService

      public void setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService)
    • setNodeService

      public void setNodeService(NodeService nodeService)
    • setPersonService

      public void setPersonService(PersonService personService)
    • setDictionaryService

      public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
    • setAuthenticationService

      public void setAuthenticationService(AuthenticationService authenticationService)
    • setAuthorityService

      public void setAuthorityService(AuthorityService authorityService)
    • setWorkflowService

      public void setWorkflowService(WorkflowService workflowService)
    • 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 a WorkflowModelBuilder to build up the model to return.
      Parameters:
      modelBuilder - A WorkflowModelBuilder.
      req - the WebScriptRequest
      status - the Status
      cache - the Cache
      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 request
      paramName - The name of the parameter to look for
      filters - 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 request
      paramName - 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 request
      paramName - The name of parameter to look for
      defaultValue - 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 request
      dataPropertyName - The name of the property to use in the model
      results - 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 pagination
      maxItems - maximum count of elements that should be included in paging result
      skipCount - the count of elements that should be skipped
      Returns:
      List of paginated results
    • isDateMatchForFilter

      protected boolean isDateMatchForFilter(Date date, Object filterValue, boolean dateBeforeFilter)
      Determines whether the given date is a match for the given filter value.
      Parameters:
      date - The date to check against
      filterValue - The value of the filter, either an empty String or a Date object
      dateBeforeFilter - 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