use of org.apache.tapestry5.http.Link in project flowlogix by flowlogix.
the class SessionTrackerUtil method redirectToSelf.
public static void redirectToSelf(RequestGlobals rg, PageRenderLinkSource linkSource) throws IOException {
final Link link = linkSource.createPageRenderLink(rg.getRequest().getPath().replaceFirst("\\..*", "").substring(1));
final String url = link.toAbsoluteURI(rg.getRequest().isSecure());
if (rg.getRequest().isXHR()) {
try (PrintWriter writer = rg.getResponse().getPrintWriter("application/json")) {
writer.write("{\n\t\"redirectURL\" : \"" + url + "\"\n}");
}
} else {
rg.getResponse().sendRedirect(url);
}
}
use of org.apache.tapestry5.http.Link in project flowlogix by flowlogix.
the class SessionMonitor method afterRender.
@AfterRender
public void afterRender() {
Link link = componentResources.createEventLink(eventName);
String baseURI = link.toAbsoluteURI(request.isSecure());
int index = baseURI.indexOf(":" + eventName);
String defaultURIparameters = baseURI.substring(index + eventName.length() + 1);
defaultURIparameters += "".equals(defaultURIparameters) ? "?" : "&";
defaultURIparameters += KEEPALIVE_NAME + "=";
baseURI = baseURI.substring(0, index + 1);
JSONObject spec = new JSONObject();
spec.put("contextPath", request.getContextPath());
spec.put("baseURI", baseURI);
spec.put("defaultURIparameters", defaultURIparameters);
spec.put("keepAlive", keepAlive);
spec.put("endOnClose", true);
spec.put("idleCheckSeconds", idleCheck);
spec.put("endedHandler", _endedHandler);
jsSupport.addInitializerCall("sessionMonitor", spec);
}
use of org.apache.tapestry5.http.Link in project flowlogix by flowlogix.
the class PeriodicUpdater method afterRender.
@AfterRender
void afterRender() {
final String id = zone.getClientId();
Link link;
if (context == null) {
link = resources.createEventLink(event);
} else {
link = resources.createEventLink(event, context);
}
final JSONObject spec = new JSONObject();
spec.put("period", period);
spec.put("elementId", id);
spec.put("uri", link.toAbsoluteURI());
jsSupport.addInitializerCall("periodicUpdater", spec);
}
use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.
the class LinkSourceImpl method createComponentEventLink.
public Link createComponentEventLink(Page page, String nestedId, String eventType, boolean forForm, Object... eventContext) {
assert page != null;
assert InternalUtils.isNonBlank(eventType);
Page activePage = pageRenderQueue.getRenderingPage();
// See TAPESTRY-2184
if (activePage == null)
activePage = page;
String activePageName = activePage.getName();
Object[] pageActivationContext = contextCollector.collectPageActivationContext(activePageName);
ComponentEventRequestParameters parameters = new ComponentEventRequestParameters(activePageName, page.getName(), toBlank(nestedId), eventType, new ArrayEventContext(typeCoercer, pageActivationContext), new ArrayEventContext(typeCoercer, eventContext));
Link link = linkEncoder.createComponentEventLink(parameters, forForm);
for (LinkCreationListener2 listener : listeners) listener.createdComponentEventLink(link, parameters);
return link;
}
use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.
the class PageNameComponentEventResultProcessor method processResultValue.
public void processResultValue(String value) throws IOException {
Link link = linkSource.createPageRenderLink(value, false);
primary.processResultValue(link);
}
Aggregations