1   /*
2    * Copyright 2003 - 2013 The eFaps Team
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   *
16   * Revision:        $Rev$
17   * Last Changed:    $Date$
18   * Last Changed By: $Author$
19   */
20  
21  
22  package org.efaps.bpm.task;
23  
24  import java.util.List;
25  
26  import org.kie.api.task.model.Status;
27  import org.kie.api.task.model.TaskSummary;
28  import org.kie.internal.query.ParametrizedQuery;
29  import org.kie.internal.task.api.InternalTaskService;
30  import org.kie.internal.task.query.TaskQueryBuilder;
31  
32  
33  /**
34   * Overridden to have a query for ready tasks.
35   *
36   * @author The eFaps Team
37   * @version $Id$
38   */
39  public class TaskAdminstration
40  {
41  
42      /**
43       * TaskService used to execute the commands.
44       */
45      private final InternalTaskService taskService;
46  
47      /**
48       * @param _taskService  TaskService used to execute the commands
49       */
50      public TaskAdminstration(final InternalTaskService _taskService)
51      {
52          this.taskService = _taskService;
53      }
54  
55      /**
56       * @return the task in status ready
57       */
58      public List<TaskSummary> getReadyTasks()
59      {
60          final TaskQueryBuilder queryBldr = this.taskService.taskQuery("Administrator");
61          queryBldr.status(Status.Ready);
62          final ParametrizedQuery<TaskSummary> paraQuery = queryBldr.buildQuery();
63          return paraQuery.getResultList() ;
64      }
65  
66      /**
67       * @return the task in status Reserved
68       */
69      public List<TaskSummary> getReservedTasks()
70      {
71          final TaskQueryBuilder queryBldr = this.taskService.taskQuery("Administrator");
72          queryBldr.status(Status.Reserved);
73          final ParametrizedQuery<TaskSummary> paraQuery = queryBldr.buildQuery();
74          return paraQuery.getResultList() ;
75      }
76  
77      /**
78       * @return the task in status Error
79       */
80      public List<TaskSummary> getErrorTasks()
81      {
82          final TaskQueryBuilder queryBldr = this.taskService.taskQuery("Administrator");
83          queryBldr.status(Status.Error);
84          final ParametrizedQuery<TaskSummary> paraQuery = queryBldr.buildQuery();
85          return paraQuery.getResultList() ;
86      }
87  
88      /**
89       * @return the task in status Error
90       */
91      public List<TaskSummary> getExitedTasks()
92      {
93          final TaskQueryBuilder queryBldr = this.taskService.taskQuery("Administrator");
94          queryBldr.status(Status.Exited);
95          final ParametrizedQuery<TaskSummary> paraQuery = queryBldr.buildQuery();
96          return paraQuery.getResultList() ;
97      }
98  
99      /**
100      * @return list of active Tasks
101      */
102     public List<TaskSummary> getActiveTasks()
103     {
104         final TaskQueryBuilder queryBldr = this.taskService.taskQuery("Administrator");
105         queryBldr.status(Status.InProgress);
106         final ParametrizedQuery<TaskSummary> paraQuery = queryBldr.buildQuery();
107         return paraQuery.getResultList() ;
108     }
109 
110     /**
111      * @return list of completed Tasks
112      */
113     public List<TaskSummary> getCompletedTasks()
114     {
115         final TaskQueryBuilder queryBldr = this.taskService.taskQuery("Administrator");
116         queryBldr.status(Status.Completed);
117         final ParametrizedQuery<TaskSummary> paraQuery = queryBldr.buildQuery();
118         return paraQuery.getResultList() ;
119     }
120 }