Class ItemContextFilter

java.lang.Object
com.easydesk.filter.ItemContextFilter
All Implemented Interfaces:
Filter
Direct Known Subclasses:
WebItemContextFilter

@WebFilter("/*") public class ItemContextFilter extends Object implements Filter
TODO : 순서가 필요하면 interface 구현 일단 맨 뒤쪽에 등록된다. ItemContextFilter : 현재 사용자의 User/Module/ItemType/ActivitySetType (ItemContext) 을 세션에서 읽어와 요청이 처리되는 동안 ThreadLocal(ItemContextHolder)에 바인딩해준다. SecurityContextFilter, SessionContextFilter 와 완전히 동일한 패턴이다 - Context 를 만들거나 갱신하는 것은 이 Filter 의 역할이 아니고 (로그인, Module 선택 등 실제 값이 정해지는 곳에서 session.setAttribute(ITEM_SESSION_KEY, ...) 로 직접 등록/갱신한다), 이 Filter 는 세션에 이미 등록되어 있는 값을 매 요청마다 ThreadLocal 에 바인딩/해제 하는 것만 담당한다. 즉 세션이 살아있는 동안에는 등록된 ItemContext 가 이 Filter 를 통해 애플리케이션 어디서든(ItemContextHolder.getContext()) 계속 추적된다.