private static final Logger s_log =
Logger.getLogger("content-section.www.admin.item.jsp");
private ContentItemPage itemPage = null;
private Date timestamp = new Date(0);
s_log.debug("entered item.jsp's service method");
// Restore the wrapped request
request = DispatcherHelper.getRequest();
DispatcherHelper.cacheDisable(response);
request = DispatcherHelper.getRequest();
ContentSection section =
ContentSectionDispatcher.getContentSection(request);
if (Web.getContext().getUser() == null) {
throw new LoginSignal(request);
} else if (! ContentSectionDispatcher.checkAdminAccess(request, section)) {
throw new com.arsdigita.cms.dispatcher.AccessDeniedException();
}
// page needs to be refreshed when content types or authoring kits
// in the section change
synchronized(this) {
if (Utilities.getLastSectionRefresh(section).after(timestamp)) {
s_log.debug("refreshing itemPage");
s_log.debug("Creating new ContentItemPage instance...");
itemPage = new ContentItemPage();
s_log.debug("Calling init on new instance...");
itemPage.init();
s_log.debug("Creating time stamp...");
timestamp = new Date();
}
}
s_log.debug("Starting dispatch process...");
RequestContext context = DispatcherHelper.getRequestContext(request);
if(itemPage == null) {
s_log.warn("WARNING: itemPage is NULL");
}
else {
s_log.info("ALL OK: itemPage is not null");
}
itemPage.dispatch(request, response, context);
s_log.debug("exited item.jsp's service method");