Search in sources :

Example 1 with Link

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);
    }
}
Also used : Link(org.apache.tapestry5.Link) PrintWriter(java.io.PrintWriter)

Example 2 with Link

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);
}
Also used : JSONObject(org.apache.tapestry5.json.JSONObject) Link(org.apache.tapestry5.Link)

Example 3 with Link

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);
}
Also used : JSONObject(org.apache.tapestry5.json.JSONObject) Link(org.apache.tapestry5.Link) AfterRender(org.apache.tapestry5.annotations.AfterRender)

Example 4 with Link

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;
}
Also used : ComponentEventRequestParameters(org.apache.tapestry5.services.ComponentEventRequestParameters) Page(org.apache.tapestry5.internal.structure.Page) LinkCreationListener2(org.apache.tapestry5.services.LinkCreationListener2) Link(org.apache.tapestry5.http.Link)

Example 5 with 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);
}
Also used : Link(org.apache.tapestry5.http.Link)

Aggregations

Link (org.apache.tapestry5.http.Link)66 Test (org.testng.annotations.Test)37 Response (org.apache.tapestry5.http.services.Response)19 MarkupWriter (org.apache.tapestry5.MarkupWriter)10 JSONObject (org.apache.tapestry5.json.JSONObject)10 ComponentEventLinkEncoder (org.apache.tapestry5.services.ComponentEventLinkEncoder)10 Request (org.apache.tapestry5.http.services.Request)8 PageRenderRequestParameters (org.apache.tapestry5.services.PageRenderRequestParameters)8 Element (org.apache.tapestry5.dom.Element)7 Contribute (org.apache.tapestry5.ioc.annotations.Contribute)7 Link (org.apache.tapestry5.Link)6 LinkCreationListener2 (org.apache.tapestry5.services.LinkCreationListener2)6 EventContext (org.apache.tapestry5.EventContext)5 ComponentClassResolver (org.apache.tapestry5.services.ComponentClassResolver)5 IOException (java.io.IOException)4 TapestryException (org.apache.tapestry5.commons.internal.util.TapestryException)4 BaseURLSource (org.apache.tapestry5.http.services.BaseURLSource)4 Page (org.apache.tapestry5.internal.structure.Page)4 List (java.util.List)3 ComponentResources (org.apache.tapestry5.ComponentResources)3