@Override protected void checkContextInitialized() { if (!isInitialized()) { HttpServletRequest request = getRequest(); String cid = ConversationContextActivator.determineConversationId(request, getParameterName()); initialize(cid); if (cid == null) { // transient conversation Consumer<HttpServletRequest> callback = initializationCallback.get(); if (callback != null) { callback.accept(request); } } } } }
private void activate(HttpConversationContext conversationContext, final HttpServletRequest request) { if (lazy && conversationContext instanceof LazyHttpConversationContextImpl) { LazyHttpConversationContextImpl lazyConversationContext = (LazyHttpConversationContextImpl) conversationContext; // Activation API should be improved so that it's possible to pass a callback for later execution lazyConversationContext.activate(lazyInitializationCallback); } else { String cid = determineConversationId(request, conversationContext.getParameterName()); conversationContext.activate(cid); if (cid == null) { // transient conversation conversationInitializedEvent.fire(request); } } }