_portlet.render(req, res);
}
else {
RenderResponseImpl resImpl = (RenderResponseImpl)res;
StringServletResponse stringServletRes =
(StringServletResponse)resImpl.getHttpServletResponse();
PortletSession ses = req.getPortletSession();
long now = System.currentTimeMillis();
Layout layout = (Layout)req.getAttribute(WebKeys.LAYOUT);
Map sesResponses = getResponses(ses);
String sesResponseId =
layout.getId() + StringPool.UNDERLINE + _portletId;
CachePortletResponse response =
(CachePortletResponse)sesResponses.get(sesResponseId);
if (response == null) {
_portlet.render(req, res);
response = new CachePortletResponse(
resImpl.getTitle(),
stringServletRes.getString(),
now + Time.SECOND * _expCache.intValue());
sesResponses.put(sesResponseId, response);
}
else if ((response.getTime() < now) &&
(_expCache.intValue() > 0)) {
_portlet.render(req, res);
response.setTitle(resImpl.getTitle());
response.setContent(stringServletRes.getString());
response.setTime(now + Time.SECOND * _expCache.intValue());
}
else {
resImpl.setTitle(response.getTitle());
stringServletRes.getWriter().print(response.getContent());
}
}
if (classLoader != null) {
Thread.currentThread().setContextClassLoader(