private void initPageRequestTracker() { getRequestCycleListeners().add(new PageRequestHandlerTracker()); }
/** * Registers firsthandler if it's not already registered * * @param cycle * the current request cycle * @param handler * the request handler to register */ private void registerFirstHandler(RequestCycle cycle, IRequestHandler handler) { if (getFirstHandler(cycle) == null) { final IPageRequestHandler pageRequestHandler = findPageRequestHandler(handler); if (pageRequestHandler != null) { cycle.setMetaData(FIRST_HANDLER_KEY, pageRequestHandler); } } }
@Override public void onRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler) { registerFirstHandler(cycle,handler); registerLastHandler(cycle,handler); }
/** * Gets the plan callback URL to process a request to the current rendered page * * @return the plane callback URL */ public static String ajaxCallbackUrl() { PageParameters pageParameters = new PageParameters(); pageParameters.add("pageId", PageRequestHandlerTracker.getLastHandler(RequestCycle.get()) .getPage().getPageId()); final CharSequence urlFor = RequestCycle.get().urlFor(new JEEWebGlobalAjaxHandler(), pageParameters); return urlFor.toString(); }
/** * Creates a new instance of PageParameters that preserves some special request parameters * which should propagate in all links created by Isis * * @return a new PageParameters instance */ public static PageParameters newPageParameters() { final PageParameters newPageParameters = new PageParameters(); final RequestCycle cycle = RequestCycle.get(); if (cycle != null) { final IPageRequestHandler pageRequestHandler = PageRequestHandlerTracker.getFirstHandler(cycle); final PageParameters currentPageParameters = pageRequestHandler.getPageParameters(); if (currentPageParameters != null) { final StringValue noHeader = currentPageParameters.get(ISIS_NO_HEADER_PARAMETER_NAME); if (!noHeader.isNull()) { newPageParameters.set(ISIS_NO_HEADER_PARAMETER_NAME, noHeader.toString()); } final StringValue noFooter = currentPageParameters.get(ISIS_NO_FOOTER_PARAMETER_NAME); if (!noFooter.isNull()) { newPageParameters.set(ISIS_NO_FOOTER_PARAMETER_NAME, noFooter.toString()); } } } return newPageParameters; } }
@Override public IRequestHandler onException(RequestCycle cycle, Exception ex) { IPageRequestHandler latestPageRequestHandler = getLastHandler(cycle); if (latestPageRequestHandler != null) { if (latestPageRequestHandler.isPageInstanceCreated()) { return _pageExceptionListener.onException(cycle, ex, latestPageRequestHandler.getPage()); } else { return _pageExceptionListener.onException(cycle, ex, latestPageRequestHandler.getPageClass()); } } return super.onException(cycle, ex); } }
/** * Registers pagerequesthandler when it's resolved ,keeps up with the most recent handler resolved * * @param cycle * the current request cycle * @param handler * the request handler to register */ private void registerLastHandler(RequestCycle cycle, IRequestHandler handler) { final IPageRequestHandler pageRequestHandler = findPageRequestHandler(handler); if (pageRequestHandler != null) { cycle.setMetaData(LAST_HANDLER_KEY, pageRequestHandler); } }
/** * Gets the plan callback URL to process a request to the current rendered page with pre * rendered query arguments * * @param query * the query * @return the plane callback URL */ public static String ajaxCallbackUrlWithQuery(String query) { PageParameters pageParameters = new PageParameters(); if (query != null) { RequestUtils.decodeParameters(query, pageParameters); } pageParameters.add("pageId", PageRequestHandlerTracker.getLastHandler(RequestCycle.get()) .getPage().getPageId()); final CharSequence urlFor = RequestCycle.get().urlFor(new JEEWebGlobalAjaxHandler(), pageParameters); return urlFor.toString(); }
/** * Creates a new instance of PageParameters that preserves some special request parameters * which should propagate in all links created by Isis * * @return a new PageParameters instance */ public static PageParameters newPageParameters() { final PageParameters newPageParameters = new PageParameters(); final RequestCycle cycle = RequestCycle.get(); if (cycle != null) { final IPageRequestHandler pageRequestHandler = PageRequestHandlerTracker.getFirstHandler(cycle); final PageParameters currentPageParameters = pageRequestHandler.getPageParameters(); if (currentPageParameters != null) { final StringValue noHeader = currentPageParameters.get(ISIS_NO_HEADER_PARAMETER_NAME); if (!noHeader.isNull()) { newPageParameters.set(ISIS_NO_HEADER_PARAMETER_NAME, noHeader.toString()); } final StringValue noFooter = currentPageParameters.get(ISIS_NO_FOOTER_PARAMETER_NAME); if (!noFooter.isNull()) { newPageParameters.set(ISIS_NO_FOOTER_PARAMETER_NAME, noFooter.toString()); } } } return newPageParameters; } }
@Override public IRequestHandler onException(RequestCycle cycle, Exception ex) { IPageRequestHandler latestPageRequestHandler = getLastHandler(cycle); if (latestPageRequestHandler != null) { if (latestPageRequestHandler.isPageInstanceCreated()) { return _pageExceptionListener.onException(cycle, ex, latestPageRequestHandler.getPage()); } else { return _pageExceptionListener.onException(cycle, ex, latestPageRequestHandler.getPageClass()); } } return super.onException(cycle, ex); } }
/** * Registers pagerequesthandler when it's resolved ,keeps up with the most recent handler resolved * * @param cycle * the current request cycle * @param handler * the request handler to register */ private void registerLastHandler(RequestCycle cycle, IRequestHandler handler) { final IPageRequestHandler pageRequestHandler = findPageRequestHandler(handler); if (pageRequestHandler != null) { cycle.setMetaData(LAST_HANDLER_KEY, pageRequestHandler); } }
private Audit createAudit(User user, Boolean success, AuditActionType auditActionType, ProceedingJoinPoint pjp) { String parameters = getAuditParameters(pjp); String page = null; RequestCycle cycle = RequestCycle.get(); if (cycle != null) { IPageRequestHandler lastHandler = PageRequestHandlerTracker.getLastHandler(cycle); if (lastHandler != null) { Class<? extends IRequestablePage> pageClass = lastHandler.getPageClass(); if (pageClass != null) { page = pageClass.getCanonicalName(); } } } return new Audit() .setUser(user) .setUserFullName(user != null ? user.getFullName() : null) .setDate(new Date()) .setSuccess(success) .setAction(pjp.getSignature().toShortString()) .setAuditActionType(auditActionType) .setParameters(parameters) .setPage(page) ; }
private void initPageRequestTracker() { getRequestCycleListeners().add(new PageRequestHandlerTracker()); }
/** * Registers firsthandler if it's not already registered * * @param cycle * the current request cycle * @param handler * the request handler to register */ private void registerFirstHandler(RequestCycle cycle, IRequestHandler handler) { if (getFirstHandler(cycle) == null) { final IPageRequestHandler pageRequestHandler = findPageRequestHandler(handler); if (pageRequestHandler != null) { cycle.setMetaData(FIRST_HANDLER_KEY, pageRequestHandler); } } }
@Override public void onRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler) { registerFirstHandler(cycle,handler); registerLastHandler(cycle,handler); }
/** * Looking for IPageRequestHandler * * @param handler * @return IPageRequestHandler if exist otherwise null */ private IPageRequestHandler findPageRequestHandler(IRequestHandler handler) { if (handler instanceof IPageRequestHandler) { return (IPageRequestHandler)handler; } if (handler instanceof IRequestHandlerDelegate) { return findPageRequestHandler(((IRequestHandlerDelegate)handler).getDelegateHandler()); } return null; }
.getLastHandler(requestCycle); Page page = (Page) handler.getPage(); page.warn(message.toString());
application.getRequestCycleListeners().add(new PageRequestHandlerTracker()); application.mountResource("/" + JEEWebGlobalAjaxHandler.class.getSimpleName(), new JEEWebGlobalAjaxHandler());
/** * Looking for IPageRequestHandler * * @param handler * @return IPageRequestHandler if exist otherwise null */ private IPageRequestHandler findPageRequestHandler(IRequestHandler handler) { if (handler instanceof IPageRequestHandler) { return (IPageRequestHandler)handler; } if (handler instanceof IRequestHandlerDelegate) { return findPageRequestHandler(((IRequestHandlerDelegate)handler).getDelegateHandler()); } return null; }
.getLastHandler(requestCycle); Page page = (Page) handler.getPage(); page.warn(message.toString());