/** * Destroy conversation context. */ private void destroyConversationContext() { if (webBeansContext.getService(ConversationService.class) == null) { return; } final ConversationContext context = getConversationContext(); if (context != null) { context.destroy(); } if (null != conversationContext) { conversationContext.set(null); conversationContext.remove(); } }
@Override public Context getCurrentContext(final Class<? extends Annotation> scopeType) { if (scopeType.equals(RequestScoped.class)) { return getRequestContext(); } else if (scopeType.equals(SessionScoped.class)) { return getSessionContext(); } else if (scopeType.equals(ApplicationScoped.class)) { return getApplicationContext(); } else if (supportsConversation() && scopeType.equals(ConversationScoped.class)) { return getConversationContext(); } else if (scopeType.equals(Dependent.class)) { return dependentContext; } else if (scopeType.equals(Singleton.class)) { return getSingletonContext(); } return null; }
private void cleanupConversation() { if (webBeansContext.getService(ConversationService.class) == null) { return; } final ConversationContext conversationContext = getConversationContext(); if (conversationContext == null) { return; } final ConversationManager conversationManager = webBeansContext.getConversationManager(); final Conversation conversation = conversationManager.getConversationBeanReference(); if (conversation == null) { return; } if (conversation.isTransient()) { webBeansContext.getContextsService().endContext(ConversationScoped.class, null); } else { final ConversationImpl conversationImpl = (ConversationImpl) conversation; conversationImpl.updateTimeOut(); conversationImpl.setInUsed(false); } }