com.trackstudio.kernel.cache
Class UserRelatedManager

java.lang.Object
  extended by com.trackstudio.kernel.cache.UserRelatedManager

public class UserRelatedManager
extends java.lang.Object

Класс для работы с кешем пользователей и их данных


Constructor Summary
protected UserRelatedManager()
          Конструктор
 
Method Summary
protected  void add(java.lang.String id, UserRelatedInfo o)
          Добавляет пользователя
static void addAcl(java.util.Map<java.lang.String,java.util.TreeSet<InternalACL>> acl, InternalACL iacl)
          Добавляет правило доступа
protected  void fillUsers()
          Заполняет данные о пользователях
 UserRelatedInfo find(java.lang.String id)
          Возвращает пользователя по ID
 java.util.ArrayList<java.lang.String> getAclList(java.lang.String userId)
          Возвращает список прав доступа для пользователя
protected  java.util.List<UserRelatedInfo> getActiveDescendents(java.lang.String id)
          Возвращает список потомков для пользователя
protected  java.lang.Integer getAllowedChildren(java.lang.String id)
          Возвращает количество дочерних пользователей для указанного
 java.util.TreeSet<java.lang.String> getAllowedPrstatuses(java.lang.String toUserId, java.lang.String forUserId)
          Возвращает список доступных статусов
 java.util.TreeSet<java.lang.String> getAllowedUsers(java.lang.String userId)
          Возвращает список ID доступных пользователей
 java.util.List<java.lang.String> getAllUsersIdCollection()
          Возвращает список ID всех пользователей
 java.util.ArrayList<UserRelatedInfo> getAncestors(java.lang.String id)
          Возвращает список предков для пользователя
 OrderedTree<UserRelatedInfo> getCache()
          Возвращает деревянный кеш
 java.util.ArrayList<java.lang.String> getChildren(java.lang.String id)
          ВОзвращает список ID подчиненных пользователей
protected  int getChildrenCount(java.lang.String id)
          Возвращает количество дочерних пользователей для указанного
 java.util.List<UserRelatedInfo> getChildrenRecursive(java.lang.String id)
          Возвращает список пользователей рекурсивно
 java.util.ArrayList<java.lang.String> getDescendents(java.lang.String id)
          Возвращает список потомков
protected  java.util.Calendar getExpireDate(java.lang.String id)
          Проверяет дату истечения срока пользователя
static UserRelatedManager getInstance()
          Возвращает экземпляр текущего класса
 java.util.ArrayList<UserRelatedInfo> getItemCollection(java.util.Collection<java.lang.String> idColl)
          Загружает список пользователей по их ID
 java.util.ArrayList<java.lang.String> getManagerChildren(java.lang.String id)
          Возвращает список ID дочерних пользователей
 java.lang.String getNearestUserACL(java.lang.String toUserId, java.lang.String userid, java.lang.String prstatusId)
          Возвращает ближайшее правило доступа
 java.util.List<java.lang.String> getParents(java.util.Collection<java.lang.String> users)
          Возвращает список предков для пользователей
 java.util.ArrayList<UserRelatedInfo> getUserChain(java.lang.String fromid, java.lang.String toId)
          Возвращает цепочку пользователей от одного пользователя до другого
 java.util.ArrayList<java.lang.String> getUserIdChain(java.lang.String fromid, java.lang.String toId)
          Возвращает цепочку ID пользователей от одного пользователя до другого
 java.util.List<java.lang.String> getUsersForPrstatus(java.lang.String prstatusId, boolean active)
          Возвращает список активных пользователей для статуса
 java.util.ArrayList<java.lang.String> getUsersWithParents(java.util.Collection<java.lang.String> idColl)
          Возвращает список пользователей с их родителями
 boolean hasAccess(java.lang.String toUserId, java.lang.String userid, java.lang.String prstatusId)
          Более быстрый метод узнать, имеет ли доступ юзер к юзеру
 boolean hasPath(java.lang.String fromid, java.lang.String id)
          Проверяет наличие пути от одного пользователя до другого
 void invalidateAcl(java.lang.String id, java.lang.String userId, java.lang.String groupId)
          Очищает кеш прав доступа для пользователя
 void invalidateAttachments(java.lang.String userId)
          Очищает кеш приложенных файлов пользователя
 void invalidateUDFs(java.lang.String user, java.lang.String udfId)
          Очищает кеш полей для пользователя
 void invalidateUDFsValues(java.lang.String user)
          Очищает кеш значений поля
 void invalidateUDFWhenChangeList(java.lang.String user, java.lang.String udfId, java.lang.String newValue, java.lang.String listId)
          Очищает кеш пользовательских полей для пользователя, при изменении списка
 void invalidateUser(java.lang.String userId)
          Удаляет пользователя из кеша
 void invalidateUser(UserRelatedInfo user)
          Метод для обновления в памяти срочный сообщения для пользователя
 void invalidateWhenAdd(java.lang.String id)
          Очищает кеш пользователей при добавлении пользователя
 void invalidateWhenMove(java.lang.String userid, java.lang.String from, java.lang.String to)
          Очищает кеш пользователей при перемещении пользователя
 void invalidateWhenRemove(java.lang.String id)
          Очищает кеш пользователей при удалении пользователя
 void invalidateWhenUpdate(java.lang.String userId)
          Очищает кеш пользователей при обновлении пользователя
 boolean isActive(java.lang.String id)
          Проверяет активный пользователь или нет
 boolean isExpired(java.lang.String id)
          Проверяет дату истечения срока пользователя
 boolean isUserExists(java.lang.String userid)
          Проверяет существование пользователя
protected  void move(UserRelatedInfo object, java.lang.String from, java.lang.String to)
          Перемещает пользователя из одного узла в другой
protected  void move(UserRelatedInfo object, UserRelatedInfo to)
          Перемещает пользователя из одного узла в другой
 boolean onSight(java.lang.String toUserId, java.lang.String userid, java.lang.String prstatusId)
          Проверяет может ли один пользователь просматривать другого
protected  void remove(java.lang.String s)
          Удаляет пользователя по ID
protected  void update(UserRelatedInfo n)
          Обновляет пользователя
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UserRelatedManager

protected UserRelatedManager()
                      throws GranException
Конструктор

Throws:
GranException - при необходимости
Method Detail

getInstance

public static UserRelatedManager getInstance()
                                      throws GranException
Возвращает экземпляр текущего класса

Returns:
экземпляр UserRelatedManager
Throws:
GranException - при необходимости

getCache

public OrderedTree<UserRelatedInfo> getCache()
Возвращает деревянный кеш

Returns:
деревянный кеш

getAllUsersIdCollection

public java.util.List<java.lang.String> getAllUsersIdCollection()
                                                         throws GranException
Возвращает список ID всех пользователей

Returns:
список ID
Throws:
GranException - при необходимости

add

protected void add(java.lang.String id,
                   UserRelatedInfo o)
Добавляет пользователя

Parameters:
id - ID пользователя, к которому добавляем
o - пользователь

remove

protected void remove(java.lang.String s)
               throws GranException
Удаляет пользователя по ID

Parameters:
s - ID пользователя
Throws:
GranException - при необходимости

update

protected void update(UserRelatedInfo n)
               throws GranException
Обновляет пользователя

Parameters:
n - пользователь
Throws:
GranException - при необходимости

find

public UserRelatedInfo find(java.lang.String id)
                     throws GranException
Возвращает пользователя по ID

Parameters:
id - ID пользователя
Returns:
пользователь
Throws:
GranException - при необходимости

move

protected void move(UserRelatedInfo object,
                    java.lang.String from,
                    java.lang.String to)
Перемещает пользователя из одного узла в другой

Parameters:
object - что перемещаем
from - откуда
to - куда

move

protected void move(UserRelatedInfo object,
                    UserRelatedInfo to)
Перемещает пользователя из одного узла в другой

Parameters:
object - что перемещаем
to - куда

fillUsers

protected void fillUsers()
                  throws GranException
Заполняет данные о пользователях

Throws:
GranException - при необходимости

isActive

public boolean isActive(java.lang.String id)
                 throws GranException
Проверяет активный пользователь или нет

Parameters:
id - ID пользователя
Returns:
TRUE - активный, FALSE - нет
Throws:
GranException - при необходимости

isExpired

public boolean isExpired(java.lang.String id)
                  throws GranException
Проверяет дату истечения срока пользователя

Parameters:
id - ID пользователя
Returns:
TRUE - истекла, FALSE - нет
Throws:
GranException - при необходимости

getAllowedChildren

protected java.lang.Integer getAllowedChildren(java.lang.String id)
                                        throws GranException
Возвращает количество дочерних пользователей для указанного

Parameters:
id - ID пользователя
Returns:
количество пользователей
Throws:
GranException - при необходимости

getExpireDate

protected java.util.Calendar getExpireDate(java.lang.String id)
                                    throws GranException
Проверяет дату истечения срока пользователя

Parameters:
id - ID пользователя
Returns:
TRUE - истекла, FALSE - нет
Throws:
GranException - при необходимости

getAncestors

public java.util.ArrayList<UserRelatedInfo> getAncestors(java.lang.String id)
                                                  throws GranException
Возвращает список предков для пользователя

Parameters:
id - ID пользователя
Returns:
список пользователей
Throws:
GranException - при необходимости
See Also:
UserRelatedInfo

getChildrenCount

protected int getChildrenCount(java.lang.String id)
Возвращает количество дочерних пользователей для указанного

Parameters:
id - ID пользователя
Returns:
количество пользователей

getActiveDescendents

protected java.util.List<UserRelatedInfo> getActiveDescendents(java.lang.String id)
                                                        throws GranException
Возвращает список потомков для пользователя

Parameters:
id - ID пользователя
Returns:
список пользователей
Throws:
GranException - при необходимости

invalidateAcl

public void invalidateAcl(java.lang.String id,
                          java.lang.String userId,
                          java.lang.String groupId)
                   throws GranException
Очищает кеш прав доступа для пользователя

Parameters:
id - ID пользователя
userId - ID пользователя
groupId - ID статуса
Throws:
GranException - при необходимости

addAcl

public static void addAcl(java.util.Map<java.lang.String,java.util.TreeSet<InternalACL>> acl,
                          InternalACL iacl)
Добавляет правило доступа

Parameters:
acl - карта правил доступа
iacl - правило доступа

getDescendents

public java.util.ArrayList<java.lang.String> getDescendents(java.lang.String id)
                                                     throws GranException
Возвращает список потомков

Parameters:
id - ID пользователя
Returns:
список ID пользователей
Throws:
GranException - при необходимости

getChildren

public java.util.ArrayList<java.lang.String> getChildren(java.lang.String id)
                                                  throws GranException
ВОзвращает список ID подчиненных пользователей

Parameters:
id - ID пользователя
Returns:
список ID
Throws:
GranException - при необходимости

getManagerChildren

public java.util.ArrayList<java.lang.String> getManagerChildren(java.lang.String id)
                                                         throws GranException
Возвращает список ID дочерних пользователей

Parameters:
id - ID пользователя
Returns:
список ID пользователей
Throws:
GranException - при необходимости

isUserExists

public boolean isUserExists(java.lang.String userid)
                     throws GranException
Проверяет существование пользователя

Parameters:
userid - ID пользователя
Returns:
TRUE - пользователь существует, FALSE - нет
Throws:
GranException - при необходимости

getParents

public java.util.List<java.lang.String> getParents(java.util.Collection<java.lang.String> users)
                                            throws GranException
Возвращает список предков для пользователей

Parameters:
users - список пользователей
Returns:
список пользователей
Throws:
GranException - при необходимости

getUserIdChain

public java.util.ArrayList<java.lang.String> getUserIdChain(java.lang.String fromid,
                                                            java.lang.String toId)
                                                     throws GranException
Возвращает цепочку ID пользователей от одного пользователя до другого

Parameters:
fromid - начальный пользователь
toId - конечный пользователь
Returns:
список пользователей
Throws:
GranException - при необходимости

getUserChain

public java.util.ArrayList<UserRelatedInfo> getUserChain(java.lang.String fromid,
                                                         java.lang.String toId)
                                                  throws GranException
Возвращает цепочку пользователей от одного пользователя до другого

Parameters:
fromid - начальный пользователь
toId - конечный пользователь
Returns:
список пользователей
Throws:
GranException - при необходимости
See Also:
UserRelatedInfo

hasAccess

public boolean hasAccess(java.lang.String toUserId,
                         java.lang.String userid,
                         java.lang.String prstatusId)
                  throws GranException
Более быстрый метод узнать, имеет ли доступ юзер к юзеру

Parameters:
toUserId - к кому доступ
userid - чей доступ проверяем
prstatusId - ID статуса
Returns:
TRUE - есть доступ, FALSE - ytn
Throws:
GranException - при необходимости

getAllowedPrstatuses

public java.util.TreeSet<java.lang.String> getAllowedPrstatuses(java.lang.String toUserId,
                                                                java.lang.String forUserId)
                                                         throws GranException
Возвращает список доступных статусов

Parameters:
toUserId - к кому доступ
forUserId - кого доступ
Returns:
список статусов
Throws:
GranException - при необходимости

getNearestUserACL

public java.lang.String getNearestUserACL(java.lang.String toUserId,
                                          java.lang.String userid,
                                          java.lang.String prstatusId)
                                   throws GranException
Возвращает ближайшее правило доступа

Parameters:
toUserId - к кому доступ
userid - кого доступ
prstatusId - ID статуса
Returns:
ID правила доступа
Throws:
GranException - при необходимости

onSight

public boolean onSight(java.lang.String toUserId,
                       java.lang.String userid,
                       java.lang.String prstatusId)
                throws GranException
Проверяет может ли один пользователь просматривать другого

Parameters:
toUserId - кого смотреть
userid - кто смотрит
prstatusId - id cnfnecf
Returns:
TRUE - может смотреть, FALSE - не может
Throws:
GranException - при необходимости

getAllowedUsers

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

Parameters:
userId - ID пользователя
Returns:
список пользователей
Throws:
GranException - при необходимости

getAclList

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

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

invalidateUser

public void invalidateUser(java.lang.String userId)
                    throws GranException
Удаляет пользователя из кеша

Parameters:
userId - ID пользователя
Throws:
GranException - при необходимости

invalidateUser

public void invalidateUser(UserRelatedInfo user)
                    throws GranException
Метод для обновления в памяти срочный сообщения для пользователя

Parameters:
user - пользователь
Throws:
GranException - если надо

hasPath

public boolean hasPath(java.lang.String fromid,
                       java.lang.String id)
                throws GranException
Проверяет наличие пути от одного пользователя до другого

Parameters:
fromid - начальный пользователь
id - конечный пользователь
Returns:
TRUE - путь есть, FALSE - путя нет
Throws:
GranException - при необходимости

getUsersWithParents

public java.util.ArrayList<java.lang.String> getUsersWithParents(java.util.Collection<java.lang.String> idColl)
                                                          throws GranException
Возвращает список пользователей с их родителями

Parameters:
idColl - коллекция пользователей
Returns:
список пользователей
Throws:
GranException - при необходимости

getItemCollection

public java.util.ArrayList<UserRelatedInfo> getItemCollection(java.util.Collection<java.lang.String> idColl)
                                                       throws GranException
Загружает список пользователей по их ID

Parameters:
idColl - список ID пользователей
Returns:
спиок пользователей
Throws:
GranException - при необходимости

invalidateWhenAdd

public void invalidateWhenAdd(java.lang.String id)
                       throws GranException
Очищает кеш пользователей при добавлении пользователя

Parameters:
id - ID добавленного пользователя
Throws:
GranException - при необходимости

invalidateWhenRemove

public void invalidateWhenRemove(java.lang.String id)
                          throws GranException
Очищает кеш пользователей при удалении пользователя

Parameters:
id - ID удаленного пользователя
Throws:
GranException - при необходимости

invalidateWhenUpdate

public void invalidateWhenUpdate(java.lang.String userId)
                          throws GranException
Очищает кеш пользователей при обновлении пользователя

Parameters:
userId - ID обновленного пользователя
Throws:
GranException - при необходимости

invalidateWhenMove

public void invalidateWhenMove(java.lang.String userid,
                               java.lang.String from,
                               java.lang.String to)
                        throws GranException
Очищает кеш пользователей при перемещении пользователя

Parameters:
userid - ID обновленного пользователя
from - ID пользователя, откуда перемещаем
to - ID пользователя, куда перемещаем
Throws:
GranException - при необходимости

invalidateUDFWhenChangeList

public void invalidateUDFWhenChangeList(java.lang.String user,
                                        java.lang.String udfId,
                                        java.lang.String newValue,
                                        java.lang.String listId)
                                 throws GranException
Очищает кеш пользовательских полей для пользователя, при изменении списка

Parameters:
user - пользователь
udfId - id поля
newValue - новое значение
listId - ID списка
Throws:
GranException - при необходимости

invalidateUDFsValues

public void invalidateUDFsValues(java.lang.String user)
                          throws GranException
Очищает кеш значений поля

Parameters:
user - пользователь
Throws:
GranException - при необходимости

invalidateUDFs

public void invalidateUDFs(java.lang.String user,
                           java.lang.String udfId)
                    throws GranException
Очищает кеш полей для пользователя

Parameters:
user - пользователь
udfId - id поля
Throws:
GranException - при необходимости

invalidateAttachments

public void invalidateAttachments(java.lang.String userId)
                           throws GranException
Очищает кеш приложенных файлов пользователя

Parameters:
userId - id пользователя
Throws:
GranException - при необходимости

getChildrenRecursive

public java.util.List<UserRelatedInfo> getChildrenRecursive(java.lang.String id)
                                                     throws GranException
Возвращает список пользователей рекурсивно

Parameters:
id - ID пользователя
Returns:
список пользователей
Throws:
GranException - при необходимости

getUsersForPrstatus

public java.util.List<java.lang.String> getUsersForPrstatus(java.lang.String prstatusId,
                                                            boolean active)
                                                     throws GranException
Возвращает список активных пользователей для статуса

Parameters:
prstatusId - ID статуса
active - активный пользователь или нет
Returns:
список пользователей
Throws:
GranException - при необходимости


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