@Override public void suspend(final ExternalRequestContext<Map<String, Object>> ctx, InjectionManager injectionManager) { try { final Map<String, Object> contextMap = actualMap.get(); if (contextMap != null) { context.deactivate(); context.dissociate(contextMap); } } finally { actualMap.remove(); actualInjectorManager.remove(); } }
@Override public void close() { try { final Map<String, Object> contextMap = actualMap.get(); if (contextMap != null) { context.invalidate(); context.deactivate(); context.dissociate(contextMap); } else { context.deactivate(); } } finally { actualMap.remove(); actualInjectorManager.remove(); } } }
final BoundSessionContext sessionContext = (BoundSessionContext) manager.getReference(sessionContextBean, BoundSessionContext.class, ctx); sessionContext.invalidate(); sessionContext.deactivate(); sessionContext.dissociate(sessionContexts.get()); final BoundRequestContext requestContext = (BoundRequestContext) manager.getReference(requestContextBean, BoundRequestContext.class, ctx); requestContext.invalidate(); requestContext.deactivate(); requestContext.dissociate(requestContexts.get()); final BoundConversationContext conversationContext = (BoundConversationContext) manager.getReference( conversationContextBean, BoundConversationContext.class, ctx); conversationContext.invalidate(); conversationContext.deactivate(); conversationContext.dissociate(boundRequests.get());
@Override protected void activate(RequestContext context, RequestContext oldContext) { super.activate(context, oldContext); if (oldContext != null) { CdiRequestContext oldRequestContext = (CdiRequestContext) oldContext; requestContextController.deactivate(); requestContextController.dissociate(oldRequestContext.getStore()); } CdiRequestContext cdiRequestContext = (CdiRequestContext) context; requestContextController.associate(cdiRequestContext.getStore()); requestContextController.activate(); }
final BoundSessionContext sessionContext = (BoundSessionContext) manager.getReference(sessionContextBean, BoundSessionContext.class, ctx); sessionContext.associate(sessionContexts.get()); sessionContext.activate(); final BoundRequestContext requestContext = (BoundRequestContext) manager.getReference(requestContextBean, BoundRequestContext.class, ctx); requestContext.associate(requestContexts.get()); requestContext.activate(); final BoundConversationContext conversationContext = (BoundConversationContext) manager.getReference( conversationContextBean, BoundConversationContext.class, ctx); BoundRequest request = new MutableBoundRequest(requestContexts.get(), sessionContexts.get()); boundRequests.set(request); conversationContext.associate(request); conversationContext.activate();
void stopConversationScope() { if (conversationContext.isActive()) { conversationContext.invalidate(); conversationContext.deactivate(); conversationContext.dissociate(new MutableBoundRequest(requestMap,sessionMap)); } }
void startConversationScope(String cid) { conversationContext.associate(new MutableBoundRequest(requestMap,sessionMap)); conversationContext.activate(cid); }
@Override protected Map<String, Object> getSessionFromRequest(BoundRequest request, boolean create) { return request.getSessionMap(create); }
@Override public void service(ChannelHandlerContext ctx, HttpRequest request, HttpResponse response, boolean handleNotFound) throws IOException { BoundRequestContext context = this.instance.select(BoundRequestContext.class).get(); Map<String,Object> contextMap = new HashMap<String,Object>(); context.associate(contextMap); context.activate(); try { super.service(ctx, request,response,handleNotFound); } finally { context.invalidate(); context.deactivate(); context.dissociate(contextMap); } } }
@Override protected void release(RequestContext context) { super.release(context); CdiRequestContext cdiRequestContext = (CdiRequestContext) context; requestContextController.invalidate(); requestContextController.deactivate(); requestContextController.dissociate(cdiRequestContext.getStore()); }
@Override public ExternalRequestContext<Map<String, Object>> open(InjectionManager injectionManager) { final Map<String, Object> newMap = new ConcurrentHashMap<>(); actualMap.set(newMap); context.associate(newMap); context.activate(); actualInjectorManager.set(injectionManager); return new ExternalRequestContext<>(newMap); }
@Override protected void suspend(RequestContext context) { if (context != null) { CdiRequestContext cdiRequestContext = (CdiRequestContext) context; requestContextController.deactivate(); requestContextController.dissociate(cdiRequestContext.getStore()); } } }
@Override protected Map<String, Object> getSessionFromRequest(BoundRequest request, boolean create) { return request.getSessionMap(create); }
@Override protected Map<String, Object> getSessionFromRequest(BoundRequest request, boolean create) { return request.getSessionMap(create); }
@Override protected Map<String, Object> getSessionFromRequest(BoundRequest request, boolean create) { return request.getSessionMap(create); }
@Override protected Map<String, Object> getSessionFromRequest(BoundRequest request, boolean create) { return request.getSessionMap(create); }
@Override protected Map<String, Object> getSessionFromRequest(BoundRequest request, boolean create) { return request.getSessionMap(create); }