Class MonitorController

java.lang.Object
pro.taskana.monitor.rest.MonitorController

@RestController @EnableHypermediaSupport(type=HAL) public class MonitorController extends Object
Controller for all monitoring endpoints.
  • Method Details

    • computeWorkbasketReport

      @GetMapping(path="/api/v1/monitor/workbasket-report") @Transactional(readOnly=true, rollbackFor=java.lang.Exception.class) public org.springframework.http.ResponseEntity<ReportRepresentationModel> computeWorkbasketReport(TimeIntervalReportFilterParameter filterParameter, @RequestParam(name="task-timestamp",required=false) pro.taskana.monitor.api.TaskTimestamp taskTimestamp) throws pro.taskana.common.api.exceptions.NotAuthorizedException, pro.taskana.common.api.exceptions.InvalidArgumentException
      This endpoint generates a Workbasket Report.

      Each Row represents a Workbasket.

      Each Column Header represents a Time Interval.

      Parameters:
      filterParameter - the filter parameters
      taskTimestamp - determine which Task Timestamp should be used for comparison
      Returns:
      the computed Report
      Throws:
      pro.taskana.common.api.exceptions.NotAuthorizedException - if the current user is not authorized to compute the Report
      pro.taskana.common.api.exceptions.InvalidArgumentException - TODO: this is never thrown ...
    • computePriorityWorkbasketReport

      @GetMapping(path="/api/v1/monitor/workbasket-priority-report") @Transactional(readOnly=true, rollbackFor=java.lang.Exception.class) public org.springframework.http.ResponseEntity<ReportRepresentationModel> computePriorityWorkbasketReport(PriorityReportFilterParameter filterParameter, @RequestParam(name="workbasket-type",required=false) pro.taskana.workbasket.api.WorkbasketType[] workbasketTypes, @RequestParam(name="columnHeader",required=false) PriorityColumnHeaderRepresentationModel[] columnHeaders) throws pro.taskana.common.api.exceptions.NotAuthorizedException, pro.taskana.common.api.exceptions.InvalidArgumentException
      This endpoint generates a Workbasket Priority Report.

      Each Row represents a Workbasket.

      Each Column Header represents a priority range.

      Parameters:
      filterParameter - the filter parameters
      workbasketTypes - determine the WorkbasketTypes to include in the report
      columnHeaders - the column headers for the report
      Returns:
      the computed Report
      Throws:
      pro.taskana.common.api.exceptions.NotAuthorizedException - if the current user is not authorized to compute the Report
      pro.taskana.common.api.exceptions.InvalidArgumentException - if topicWorkbaskets or useDefaultValues are false
    • computeClassificationCategoryReport

      @GetMapping(path="/api/v1/monitor/classification-category-report") @Transactional(readOnly=true, rollbackFor=java.lang.Exception.class) public org.springframework.http.ResponseEntity<ReportRepresentationModel> computeClassificationCategoryReport(TimeIntervalReportFilterParameter filterParameter, @RequestParam(name="task-timestamp",required=false) pro.taskana.monitor.api.TaskTimestamp taskTimestamp) throws pro.taskana.common.api.exceptions.InvalidArgumentException, pro.taskana.common.api.exceptions.NotAuthorizedException
      This endpoint generates a Classification Category Report

      Each Row represents a Classification category.

      Each Column Header represents a Time Interval.

      Parameters:
      filterParameter - the filter parameters
      taskTimestamp - determine which Task Timestamp should be used for comparison
      Returns:
      the computed Report
      Throws:
      pro.taskana.common.api.exceptions.NotAuthorizedException - if the current user is not authorized to compute the Report
      pro.taskana.common.api.exceptions.InvalidArgumentException - TODO: this is never thrown ...
    • computeClassificationReport

      @GetMapping(path="/api/v1/monitor/classification-report") @Transactional(readOnly=true, rollbackFor=java.lang.Exception.class) public org.springframework.http.ResponseEntity<ReportRepresentationModel> computeClassificationReport(TimeIntervalReportFilterParameter filterParameter, @RequestParam(name="task-timestamp",required=false) pro.taskana.monitor.api.TaskTimestamp taskTimestamp) throws pro.taskana.common.api.exceptions.NotAuthorizedException, pro.taskana.common.api.exceptions.InvalidArgumentException
      This endpoint generates a Classification Report.

      Each Row represents a Classification.

      Each Column Header represents a Time Interval.

      Parameters:
      filterParameter - the filter parameters
      taskTimestamp - determine which Task Timestamp should be used for comparison
      Returns:
      the computed Report
      Throws:
      pro.taskana.common.api.exceptions.NotAuthorizedException - if the current user is not authorized to compute the Report
      pro.taskana.common.api.exceptions.InvalidArgumentException - TODO: this is never thrown
    • computeDetailedClassificationReport

      @GetMapping(path="/api/v1/monitor/detailed-classification-report") @Transactional(readOnly=true, rollbackFor=java.lang.Exception.class) public org.springframework.http.ResponseEntity<ReportRepresentationModel> computeDetailedClassificationReport(TimeIntervalReportFilterParameter filterParameter, @RequestParam(name="task-timestamp",required=false) pro.taskana.monitor.api.TaskTimestamp taskTimestamp) throws pro.taskana.common.api.exceptions.NotAuthorizedException, pro.taskana.common.api.exceptions.InvalidArgumentException
      This endpoint generates a Detailed Classification Report.

      Each Foldable Row represents a Classification and can be expanded to show the Classification of Attachments.

      Each Column Header represents a Time Interval.

      Parameters:
      filterParameter - the filter parameters
      taskTimestamp - determine which Task Timestamp should be used for comparison
      Returns:
      the computed Report
      Throws:
      pro.taskana.common.api.exceptions.NotAuthorizedException - if the current user is not authorized to compute the Report
      pro.taskana.common.api.exceptions.InvalidArgumentException - TODO: this is never thrown
    • computeTaskCustomFieldValueReport

      @GetMapping(path="/api/v1/monitor/task-custom-field-value-report") @Transactional(readOnly=true, rollbackFor=java.lang.Exception.class) public org.springframework.http.ResponseEntity<ReportRepresentationModel> computeTaskCustomFieldValueReport(@RequestParam(name="custom-field") pro.taskana.task.api.TaskCustomField customField, TimeIntervalReportFilterParameter filterParameter, @RequestParam(name="task-timestamp",required=false) pro.taskana.monitor.api.TaskTimestamp taskTimestamp) throws pro.taskana.common.api.exceptions.NotAuthorizedException, pro.taskana.common.api.exceptions.InvalidArgumentException
      This endpoint generates a Task Custom Field Value Report.

      Each Row represents a value of the requested Task Custom Field.

      Each Column Header represents a Time Interval

      Parameters:
      customField - the Task Custom Field whose values are of interest
      filterParameter - the filter parameters
      taskTimestamp - determine which Task Timestamp should be used for comparison
      Returns:
      the computed Report
      Throws:
      pro.taskana.common.api.exceptions.NotAuthorizedException - if the current user is not authorized to compute the Report
      pro.taskana.common.api.exceptions.InvalidArgumentException - TODO: this is never thrown
    • computeTaskStatusReport

      @GetMapping(path="/api/v1/monitor/task-status-report") @Transactional(readOnly=true, rollbackFor=java.lang.Exception.class) public org.springframework.http.ResponseEntity<ReportRepresentationModel> computeTaskStatusReport(@RequestParam(name="domain",required=false) List<String> domains, @RequestParam(name="state",required=false) List<pro.taskana.task.api.TaskState> states, @RequestParam(name="workbasket-id",required=false) List<String> workbasketIds, @RequestParam(name="priority-minimum",required=false) Integer priorityMinimum) throws pro.taskana.common.api.exceptions.NotAuthorizedException
      This endpoint generates a Task Status Report.

      Each Row represents a Workbasket.

      Each Column Header represents a Task State

      Parameters:
      domains - Filter the report values by domains.
      states - Filter the report values by Task states.
      workbasketIds - Filter the report values by Workbasket Ids.
      priorityMinimum - Filter the report values by a minimum priority.
      Returns:
      the computed Report
      Throws:
      pro.taskana.common.api.exceptions.NotAuthorizedException - if the current user is not authorized to compute the Report
    • computeTimestampReport

      @GetMapping(path="/api/v1/monitor/timestamp-report") @Transactional(readOnly=true, rollbackFor=java.lang.Exception.class) public org.springframework.http.ResponseEntity<ReportRepresentationModel> computeTimestampReport(TimeIntervalReportFilterParameter filterParameter, @RequestParam(name="task-timestamp",required=false) pro.taskana.monitor.api.TaskTimestamp[] timestamps) throws pro.taskana.common.api.exceptions.NotAuthorizedException, pro.taskana.common.api.exceptions.InvalidArgumentException
      This endpoint generates a Timestamp Report.

      Each Foldable Row represents a TaskTimestamp and can be expanded to display the four organization levels of the corresponding Workbasket.

      Each Column Header represents a TimeInterval.

      Parameters:
      filterParameter - the filter parameter
      timestamps - Filter by the Task Timestamp of the task
      Returns:
      the computed report
      Throws:
      pro.taskana.common.api.exceptions.NotAuthorizedException - if the current user is not authorized to compute the report
      pro.taskana.common.api.exceptions.InvalidArgumentException - TODO: this is never thrown