public class JCRTasksDAO extends AbstractLogEnabled implements Serviceable, Component
| Modifier and Type | Class and Description |
|---|---|
static class |
JCRTasksDAO.TaskListResult
Simple structure used to store a list of task and some metadata.
|
| Modifier and Type | Field and Description |
|---|---|
protected CurrentUserProvider |
_currentUserProvider
Current user provider
|
protected ExplorerResourcesDAO |
_explorerResourcesDAO
DAO for the explorer resources
|
protected ObservationManager |
_observationManager
The observation manager
|
protected AmetysObjectResolver |
_resolver
Ametys object resolver
|
protected RightManager |
_rightManager
The rights manager
|
protected UserHelper |
_userHelper
The user helper
|
protected UserManager |
_userManager
The user manager
|
static String |
RIGHTS_ADD_TASK
Rights to add a task
|
static String |
RIGHTS_DELETE_ALL_TASK
Rights to delete_all the tasks
|
static String |
RIGHTS_DELETE_TASK
Rights to delete a task
|
static String |
RIGHTS_EDIT_TASK
Rights to edit a task
|
static String |
RIGHTS_VIEW_TASKS
Rights to view the tasks
|
static String |
ROLE
Avalon Role
|
| Constructor and Description |
|---|
JCRTasksDAO() |
| Modifier and Type | Method and Description |
|---|---|
protected List<Map<String,Object>> |
_assignmentToJSON(Task task)
Transform assignments of a task to JSON data
|
private List<JCRTask> |
_getTasksById(List<String> taskIds,
Map<String,Object> result,
String right,
boolean allowAssigned) |
private void |
_handleAssignedOrSubscribedExprs(List<Expression> andExprs,
boolean assignedToUser,
boolean userSubscribed,
UserIdentity currentUser) |
private boolean |
_isTaskParameterEquals(Object newValue,
Object oldValue,
String valueName,
Map<String,Object> updatedValues) |
protected Map<String,Object> |
_setTaskParameters(JCRTask task,
Map<String,Object> parameters,
Integer index,
boolean setDescription)
Set task's properties
|
protected List<Map<String,Object>> |
_subscribersToJSON(Task task)
Transform subscribers of a task to JSON data
|
private List<Map<String,Object>> |
_tasksToJson(List<Task> tasks) |
Map<String,Object> |
addTask(String parentId,
Map<String,Object> parameters)
Add a new task
|
Map<String,Object> |
assignTasks(List<String> taskIds,
List<String> users)
Assign one or more task to one or more users
|
Map<String,Object> |
deleteTasks(List<String> taskIds)
Delete one or more tasks
|
Map<String,Object> |
editTask(String id,
Map<String,Object> parameters)
Edit a task
|
Map<String,Object> |
getTask(String taskId,
boolean isEdition)
Get the data of a task
|
protected Map<String,Object> |
getTask(Task task,
boolean isEdition)
Transform a task to JSON data
|
protected String |
getTaskDescription(Task task)
Get the description of a task as a String
|
protected String |
getTaskDescriptionForEdition(Task task)
Get the description of a task to edit as a String
|
JCRTasksDAO.TaskListResult |
getTaskList(List<String> parentIds,
boolean assignedToUser,
boolean userSubscribed,
Integer offset,
Integer limit,
String filter,
String orderBy,
Boolean orderAsc)
Get the list of tasks
|
Map<String,Object> |
getTasks(List<String> parentIds,
boolean assignedToUser,
boolean userSubscribed,
Integer offset,
Integer limit,
String filter,
String orderBy,
Boolean orderAsc)
Get the list of tasks
|
static String |
getTasksXpathQuery(String rootPath,
Expression tasksExpression,
SortCriteria sortCriteria)
Creates the XPath query corresponding to specified
Expression. |
void |
service(ServiceManager manager) |
protected void |
setTaskDescription(ModifiableTask task,
String description)
Update the description of a task
|
Map<String,Object> |
setTasksProgress(List<String> taskIds,
Integer progress)
Update the progress of one or multiple tasks
|
Map<String,Object> |
setTasksStatus(List<String> taskIds,
String statusString)
Update the status of one or multiple tasks
|
getLogger, setLoggerpublic static final String RIGHTS_VIEW_TASKS
public static final String RIGHTS_ADD_TASK
public static final String RIGHTS_EDIT_TASK
public static final String RIGHTS_DELETE_TASK
public static final String RIGHTS_DELETE_ALL_TASK
protected AmetysObjectResolver _resolver
protected ExplorerResourcesDAO _explorerResourcesDAO
protected CurrentUserProvider _currentUserProvider
protected UserManager _userManager
protected ObservationManager _observationManager
protected RightManager _rightManager
protected UserHelper _userHelper
public JCRTasksDAO()
public void service(ServiceManager manager) throws ServiceException
service in interface ServiceableServiceExceptionpublic Map<String,Object> addTask(String parentId, Map<String,Object> parameters) throws IllegalAccessException
parentId - The parent node idparameters - The task parametersIllegalAccessException - If an error occurs when checking the rightspublic Map<String,Object> editTask(String id, Map<String,Object> parameters) throws IllegalAccessException
id - The id of the task to editparameters - The task parametersIllegalAccessException - If an error occurs when checking the rightsprotected Map<String,Object> _setTaskParameters(JCRTask task, Map<String,Object> parameters, Integer index, boolean setDescription)
task - The task to editparameters - The JS parametersindex - The index of tasksetDescription - true to edit descriptionprivate boolean _isTaskParameterEquals(Object newValue, Object oldValue, String valueName, Map<String,Object> updatedValues)
protected void setTaskDescription(ModifiableTask task, String description)
task - The task to updatedescription - The description as stringprotected String getTaskDescription(Task task) throws AmetysRepositoryException
task - the taskAmetysRepositoryException - if failed to parse descriptionprotected String getTaskDescriptionForEdition(Task task) throws AmetysRepositoryException
task - the taskAmetysRepositoryException - if failed to parse descriptionpublic Map<String,Object> getTask(String taskId, boolean isEdition)
taskId - the task idisEdition - true to get the task in edit modepublic JCRTasksDAO.TaskListResult getTaskList(List<String> parentIds, boolean assignedToUser, boolean userSubscribed, Integer offset, Integer limit, String filter, String orderBy, Boolean orderAsc) throws ProcessingException
parentIds - The tasks parentsassignedToUser - Filter only the tasks assigned to the current useruserSubscribed - Filter only the tasks for which current user subscribedoffset - Offset the list of resultslimit - The maximum number of results to returnfilter - Return only tasks matching the filterorderBy - Order the list by this property. Default to the creation dateorderAsc - Sort the list by order ascendant or descendant. Default to ascendant.JCRTasksDAO.TaskListResult objectProcessingException - If an error occurredprivate void _handleAssignedOrSubscribedExprs(List<Expression> andExprs, boolean assignedToUser, boolean userSubscribed, UserIdentity currentUser)
public static String getTasksXpathQuery(String rootPath, Expression tasksExpression, SortCriteria sortCriteria) throws RepositoryException
Expression.rootPath - the path to the node containing the taskstasksExpression - the query predicates.sortCriteria - the sort criteria.RepositoryException - if an error occurredpublic Map<String,Object> getTasks(List<String> parentIds, boolean assignedToUser, boolean userSubscribed, Integer offset, Integer limit, String filter, String orderBy, Boolean orderAsc) throws ProcessingException
parentIds - The tasks parentsassignedToUser - Filter only the tasks assigned to the current useruserSubscribed - Filter only the tasks for which current user subscribedoffset - Offset the list of resultslimit - The maximum number of results to returnfilter - Return only tasks matching the filterorderBy - Order the list by this property. Default to the creation dateorderAsc - Sort the list by order ascendant or descendant. Default to ascendant.ProcessingException - If an error occurredpublic Map<String,Object> assignTasks(List<String> taskIds, List<String> users) throws IllegalAccessException
taskIds - The tasks idsusers - The usersIllegalAccessException - If an error occurspublic Map<String,Object> setTasksStatus(List<String> taskIds, String statusString) throws IllegalAccessException
taskIds - The tasks idsstatusString - The statusIllegalAccessException - If an error occurspublic Map<String,Object> setTasksProgress(List<String> taskIds, Integer progress) throws IllegalAccessException
taskIds - The tasks idsprogress - The progressIllegalAccessException - If an error occurspublic Map<String,Object> deleteTasks(List<String> taskIds) throws IllegalAccessException
taskIds - The tasks idsIllegalAccessException - If an error occursprivate List<JCRTask> _getTasksById(List<String> taskIds, Map<String,Object> result, String right, boolean allowAssigned) throws IllegalAccessException
IllegalAccessExceptionprotected Map<String,Object> getTask(Task task, boolean isEdition)
task - The taskisEdition - true to get the task in edit modeprotected List<Map<String,Object>> _assignmentToJSON(Task task)
task - The task