com.trackstudio.kernel.manager
Class AclManager

java.lang.Object
  extended by com.trackstudio.kernel.manager.KernelManager
      extended by com.trackstudio.kernel.manager.AclManager

public class AclManager
extends KernelManager

Класс AclManager содержит методы для работы с правилами доступа (Access Control Level - ACL).
ACL определяют к каким задачам и пользователям может иметь доступ авторизованный пользователь.
Правила доступа могут быть назначены для задач, для пользователей и для статусов.


Field Summary
 
Fields inherited from class com.trackstudio.kernel.manager.KernelManager
hu
 
Method Summary
 java.lang.String createAcl(java.lang.String taskId, java.lang.String toUserId, java.lang.String userId, java.lang.String groupId, java.lang.String ownerId)
          Производится создание ACL c aclId, выставляется указаный статус и переопределение.
После этого производится обновление соответствующего кеша.
 void deleteAcl(java.lang.String aclId)
          Производится удаление ACL c aclId.
После этого производится обновление соответствующего кеша.
 void deleteAclByPrstatus(java.lang.String prstatusId)
          Производит удаление ACL для указанного статуса
 java.util.ArrayList<Acl> getAclForOverridePrstatusList(java.lang.String prstatusId)
          Возвращает список ACL для указанного статуса
protected  java.util.List<Acl> getAclForUserAndPrstatusList(java.lang.String userId)
          Возвращает список ACL для указанного пользователя и его статуса
 java.util.List<java.lang.String> getAclOwnerList(java.lang.String userId)
           
protected  java.util.List<Acl> getAclUserList(java.lang.String userId)
          Возвращает список ACL для указанного пользователя
 java.util.ArrayList<Prstatus> getAllowedPrstatusList(java.lang.String taskId, java.lang.String userId)
          Для заданного пользователя и статуса, начиная с заданной задачи и вверх достаем наборы ACL, привязанные к задаче (assigned ACL) через этого пользователя, т.е.
 java.util.ArrayList<UserRelatedInfo> getAllowedUserList(java.lang.String taskId)
          Возвращает список доступных пользователей для указанной задачи
 java.util.ArrayList<Acl> getAllTaskAclList(java.lang.String taskId)
          Возвращает список тасковых ACL для указанной задачи
 java.util.ArrayList<Acl> getAllUserAclList(java.lang.String userId)
          Возвращает список пользовательских ACL для указанного пользоватлея
 java.util.ArrayList<java.lang.String> getAssignedUserList(java.lang.String userId)
          Возвращает список ID пользователей, для которых есть ACL для указанного пользователя
 java.util.List<java.lang.String> getDirectAccessList(java.lang.String userId)
          Возвращает список ID задач для которых есть ACL для указанного пользователя
 java.util.List<java.lang.String> getDirectAccessUserList(java.lang.String userId)
          Возвращает список ID пользователей для которых есть ACL для указанного пользователя
 java.util.ArrayList<java.lang.String> getEffectiveStatuses(java.lang.String taskId, java.lang.String userId)
          Для заданного пользователя и статуса, начиная с заданной задачи и вверх достаем наборы ACL, привязанные к задаче (assigned ACL) через этого пользователя, т.е.
 java.util.ArrayList<Acl> getGroupTaskAclList(java.lang.String prstatusId)
          Возвращает список тасковых ACL для указанного статуса
 java.util.ArrayList<Acl> getGroupUserAclList(java.lang.String prstatusId)
          Возвращает список пользовательских ACL для указанного статуса
 java.util.ArrayList<UserRelatedInfo> getHandlerForFilter(java.lang.String userId, java.lang.String taskId)
          Возвращает список пользователей, которые имеют доступ к указанной задаче и ее подзадачам
 java.util.ArrayList<Prstatus> getHandlerStatusesForFilter(java.lang.String userId, java.lang.String taskId)
          Возвращает список статусов пользователей, которые имеют доступ к указанной задаче и ее подзадачам
protected static AclManager getInstance()
          Возвращает экземпляр текущего класса
 java.util.ArrayList<TaskRelatedInfo> getTaskList(java.lang.String userId)
          Возвращает список задач, для которых есть ACL для указанного пользователя и его статуса
 java.util.ArrayList<Prstatus> getUserAllowedPrstatusList(java.lang.String toUserId, java.lang.String forUserId)
          Для заданного пользователя и статуса, начиная с заданного пользователя и вверх достаем наборы ACL, привязанные к пользователю (assigned ACL) через этого пользователя, т.е.
 java.util.ArrayList<java.lang.String> getUserEffectiveStatuses(java.lang.String toUserId, java.lang.String forUserId)
          Для заданного пользователя и статуса, начиная с заданного пользователя и вверх достаем наборы ACL, привязанные к пользователю (assigned ACL) через этого пользователя, т.е.
 void pasteAcls(java.lang.String userId, java.lang.String taskId, java.lang.String[] aclIds, java.lang.String operation)
          Производится копирование или перемещение выбранных ACL в зависимости от указанной операции
 void updateAcl(java.lang.String aclId, java.lang.String prstatusId, boolean override)
          Производится редактирование ACL c aclId, выставляется указаный статус и переопределение.
После этого производится обновление соответствующего кеша.
 
Methods inherited from class com.trackstudio.kernel.manager.KernelManager
getAcl, getAttachment, getBookmark, getCategory, getFilter, getFind, getIndex, getLicense, getLongText, getMailImport, getMessage, getPlugin, getPrstatus, getRegistration, getReport, getStep, getTask, getTemplate, getTSInfo, getUdf, getUser, getWorkflow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

protected static AclManager getInstance()
Возвращает экземпляр текущего класса

Returns:
Экземпляр AclManager

updateAcl

public void updateAcl(java.lang.String aclId,
                      java.lang.String prstatusId,
                      boolean override)
               throws GranException
Производится редактирование ACL c aclId, выставляется указаный статус и переопределение.
После этого производится обновление соответствующего кеша.

Parameters:
aclId - Редактируемый объект ACL
prstatusId - Устанавливаемый статус
override - Есть ли переопределение
Throws:
GranException - при необходимости

deleteAcl

public void deleteAcl(java.lang.String aclId)
               throws GranException
Производится удаление ACL c aclId.
После этого производится обновление соответствующего кеша.

Parameters:
aclId - Удаляемый объект ACL
Throws:
GranException - при необходимости

getHandlerForFilter

public java.util.ArrayList<UserRelatedInfo> getHandlerForFilter(java.lang.String userId,
                                                                java.lang.String taskId)
                                                         throws GranException
Возвращает список пользователей, которые имеют доступ к указанной задаче и ее подзадачам

Parameters:
userId - Пользователь
taskId - Задача, для которой возвращается список пользователей
Returns:
Список UserRelatedInfo
Throws:
GranException - при необходимости
See Also:
UserRelatedInfo

getHandlerStatusesForFilter

public java.util.ArrayList<Prstatus> getHandlerStatusesForFilter(java.lang.String userId,
                                                                 java.lang.String taskId)
                                                          throws GranException
Возвращает список статусов пользователей, которые имеют доступ к указанной задаче и ее подзадачам

Parameters:
userId - Пользователь
taskId - Задача, для которой возвращается список статусов
Returns:
Список Prstatus
Throws:
GranException - при необходимости
See Also:
Prstatus

getAclUserList

protected java.util.List<Acl> getAclUserList(java.lang.String userId)
                                      throws GranException
Возвращает список ACL для указанного пользователя

Parameters:
userId - Пользователь
Returns:
Список Acl
Throws:
GranException - при необходимости
See Also:
Acl

getAclForUserAndPrstatusList

protected java.util.List<Acl> getAclForUserAndPrstatusList(java.lang.String userId)
                                                    throws GranException
Возвращает список ACL для указанного пользователя и его статуса

Parameters:
userId - Пользователь
Returns:
Список Acl
Throws:
GranException - при необходимости
See Also:
Acl

deleteAclByPrstatus

public void deleteAclByPrstatus(java.lang.String prstatusId)
                         throws GranException
Производит удаление ACL для указанного статуса

Parameters:
prstatusId - Статус
Throws:
GranException - при необходимости

getTaskList

public java.util.ArrayList<TaskRelatedInfo> getTaskList(java.lang.String userId)
                                                 throws GranException
Возвращает список задач, для которых есть ACL для указанного пользователя и его статуса

Parameters:
userId - Пользователь
Returns:
Список TaskRelatedInfo
Throws:
GranException - при необходимости
See Also:
TaskRelatedInfo

getGroupUserAclList

public java.util.ArrayList<Acl> getGroupUserAclList(java.lang.String prstatusId)
                                             throws GranException
Возвращает список пользовательских ACL для указанного статуса

Parameters:
prstatusId - Статус
Returns:
Список Acl
Throws:
GranException - при необходимости
See Also:
Acl

getAclForOverridePrstatusList

public java.util.ArrayList<Acl> getAclForOverridePrstatusList(java.lang.String prstatusId)
                                                       throws GranException
Возвращает список ACL для указанного статуса

Parameters:
prstatusId - Статус
Returns:
Список Acl
Throws:
GranException - при необходимости
See Also:
Acl

getAllTaskAclList

public java.util.ArrayList<Acl> getAllTaskAclList(java.lang.String taskId)
                                           throws GranException
Возвращает список тасковых ACL для указанной задачи

Parameters:
taskId - Задача
Returns:
Список Acl
Throws:
GranException - при необходимости
See Also:
Acl

getAllUserAclList

public java.util.ArrayList<Acl> getAllUserAclList(java.lang.String userId)
                                           throws GranException
Возвращает список пользовательских ACL для указанного пользоватлея

Parameters:
userId - Пользователь
Returns:
Список Acl
Throws:
GranException - при необходимости
See Also:
Acl

getGroupTaskAclList

public java.util.ArrayList<Acl> getGroupTaskAclList(java.lang.String prstatusId)
                                             throws GranException
Возвращает список тасковых ACL для указанного статуса

Parameters:
prstatusId - Статус
Returns:
Список Acl
Throws:
GranException - при необходимости
See Also:
Acl

getAssignedUserList

public java.util.ArrayList<java.lang.String> getAssignedUserList(java.lang.String userId)
                                                          throws GranException
Возвращает список ID пользователей, для которых есть ACL для указанного пользователя

Parameters:
userId - ПОльзователь
Returns:
Список IDs
Throws:
GranException - при необходимости

getAllowedUserList

public java.util.ArrayList<UserRelatedInfo> getAllowedUserList(java.lang.String taskId)
                                                        throws GranException
Возвращает список доступных пользователей для указанной задачи

Parameters:
taskId - Задача
Returns:
Список UserRelatedInfo
Throws:
GranException - при необходимости
See Also:
UserRelatedInfo

createAcl

public java.lang.String createAcl(java.lang.String taskId,
                                  java.lang.String toUserId,
                                  java.lang.String userId,
                                  java.lang.String groupId,
                                  java.lang.String ownerId)
                           throws GranException
Производится создание ACL c aclId, выставляется указаный статус и переопределение.
После этого производится обновление соответствующего кеша.

Parameters:
taskId - Задача, для которой создается ACL
toUserId - Пользователь, для которого создается ACL
userId - Пользователь, которому назначается ACL
groupId - Статус, назначаемый пользователю (при переопределении статуса)
ownerId - Пользователь, создающий ACL (автор)
Returns:
Список IDs
Throws:
GranException - при необходимости

getDirectAccessList

public java.util.List<java.lang.String> getDirectAccessList(java.lang.String userId)
                                                     throws GranException
Возвращает список ID задач для которых есть ACL для указанного пользователя

Parameters:
userId - ПОльзователь
Returns:
Список IDs
Throws:
GranException - при необходимости

getDirectAccessUserList

public java.util.List<java.lang.String> getDirectAccessUserList(java.lang.String userId)
                                                         throws GranException
Возвращает список ID пользователей для которых есть ACL для указанного пользователя

Parameters:
userId - ПОльзователь
Returns:
Список IDs
Throws:
GranException - при необходимости

getAllowedPrstatusList

public java.util.ArrayList<Prstatus> getAllowedPrstatusList(java.lang.String taskId,
                                                            java.lang.String userId)
                                                     throws GranException
Для заданного пользователя и статуса, начиная с заданной задачи и вверх достаем наборы ACL, привязанные к задаче (assigned ACL) через этого пользователя, т.е. не через prstatus. Из этих ACL достаем prstatusы, добавляем к ним собственный статус пользователя.

Parameters:
taskId - Задача
userId - Пользователь
Returns:
Список Prstatus
Throws:
GranException - если нужно
See Also:
Prstatus

getEffectiveStatuses

public java.util.ArrayList<java.lang.String> getEffectiveStatuses(java.lang.String taskId,
                                                                  java.lang.String userId)
                                                           throws GranException
Для заданного пользователя и статуса, начиная с заданной задачи и вверх достаем наборы ACL, привязанные к задаче (assigned ACL) через этого пользователя, т.е. не через prstatus. Из этих ACL достаем prstatusы, добавляем к ним собственный статус пользователя.

Parameters:
taskId - Задача
userId - Пользователь
Returns:
Список IDs
Throws:
GranException - если нужно

getUserAllowedPrstatusList

public java.util.ArrayList<Prstatus> getUserAllowedPrstatusList(java.lang.String toUserId,
                                                                java.lang.String forUserId)
                                                         throws GranException
Для заданного пользователя и статуса, начиная с заданного пользователя и вверх достаем наборы ACL, привязанные к пользователю (assigned ACL) через этого пользователя, т.е. не через prstatus. Из этих ACL достаем prstatusы, добавляем к ним собственный статус пользователя.

Parameters:
toUserId - Пользователь
forUserId - Пользователь
Returns:
Список Prstatus
Throws:
GranException - если нужно
See Also:
Prstatus

getUserEffectiveStatuses

public java.util.ArrayList<java.lang.String> getUserEffectiveStatuses(java.lang.String toUserId,
                                                                      java.lang.String forUserId)
                                                               throws GranException
Для заданного пользователя и статуса, начиная с заданного пользователя и вверх достаем наборы ACL, привязанные к пользователю (assigned ACL) через этого пользователя, т.е. не через prstatus. Из этих ACL достаем prstatusы, добавляем к ним собственный статус пользователя.

Parameters:
toUserId - Пользователь
forUserId - Пользователь
Returns:
Список IDs
Throws:
GranException - если нужно

pasteAcls

public void pasteAcls(java.lang.String userId,
                      java.lang.String taskId,
                      java.lang.String[] aclIds,
                      java.lang.String operation)
               throws GranException
Производится копирование или перемещение выбранных ACL в зависимости от указанной операции

Parameters:
userId - Пользователь
taskId - Задача
aclIds - Список вставляемых ACL
operation - Операция: копирование или перемещение
Throws:
GranException - если нужно
See Also:
CommonConstants

getAclOwnerList

public java.util.List<java.lang.String> getAclOwnerList(java.lang.String userId)
                                                 throws GranException
Throws:
GranException


Copyright © 2002-2009 TrackStudio, Ltd. All Rights Reserved.