protected void createHstRequestResponseForWindows(
final HstComponentWindow window,
final HstRequestContext requestContext,
final ServletRequest servletRequest,
final ServletResponse servletResponse,
final Map<HstComponentWindow, HstRequest> requestMap,
final Map<HstComponentWindow, HstResponse> responseMap,
HstResponse topComponentHstResponse) {
HstRequest request = new HstRequestImpl((HttpServletRequest) servletRequest, requestContext, window, HstRequest.RENDER_PHASE);
HstResponseState responseState = new HstServletResponseState((HttpServletRequest) servletRequest,
(HttpServletResponse) servletResponse);
HstResponse response = new HstResponseImpl((HttpServletRequest) servletRequest, (HttpServletResponse) servletResponse, requestContext, window,
responseState, topComponentHstResponse);
if (topComponentHstResponse == null) {
topComponentHstResponse = response;
}
requestMap.put(window, request);
responseMap.put(window, response);
((HstComponentWindowImpl) window).setResponseState(responseState);
Map<String, HstComponentWindow> childWindowMap = window.getChildWindowMap();
if (childWindowMap != null) {
for (Map.Entry<String, HstComponentWindow> entry : childWindowMap.entrySet()) {
createHstRequestResponseForWindows(entry.getValue(), requestContext, servletRequest, response,
requestMap, responseMap, topComponentHstResponse);
}
}
}