Search in sources :

Example 51 with Link

use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.

the class TapestryIOCModule method setupStandardSymbolProviders.

/**
 * <dl>
 * <dt>SystemProperties</dt>
 * <dd>Exposes JVM System properties as symbols (currently case-sensitive)</dd>
 * <dt>EnvironmentVariables</dt>
 * <dd>Exposes environment variables as symbols (adding a "env." prefix)</dd>
 * <dt>ApplicationDefaults</dt>
 * <dd>Values contributed to @{@link SymbolProvider} @{@link ApplicationDefaults}</dd>
 * <dt>FactoryDefaults</dt>
 * <dd>Values contributed to @{@link SymbolProvider} @{@link FactoryDefaults}</dd>
 * </dl>
 */
@Contribute(SymbolSource.class)
public static void setupStandardSymbolProviders(OrderedConfiguration<SymbolProvider> configuration, @ApplicationDefaults SymbolProvider applicationDefaults, @FactoryDefaults SymbolProvider factoryDefaults) {
    configuration.add("SystemProperties", new SystemPropertiesSymbolProvider(), "before:*");
    configuration.add("EnvironmentVariables", new SystemEnvSymbolProvider());
    configuration.add("ApplicationDefaults", applicationDefaults);
    configuration.add("FactoryDefaults", factoryDefaults);
}
Also used : SystemEnvSymbolProvider(org.apache.tapestry5.ioc.internal.services.SystemEnvSymbolProvider) SystemPropertiesSymbolProvider(org.apache.tapestry5.ioc.internal.services.SystemPropertiesSymbolProvider)

Example 52 with Link

use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.

the class TapestryIOCModule method setupObjectProviders.

/**
 * <dl>
 * <dt>AnnotationBasedContributions</dt>
 * <dd>Empty placeholder used to separate annotation-based ObjectProvider contributions (which come before) from
 * non-annotation based (such as ServiceOverride) which come after.</dd>
 * <dt>Value</dt>
 * <dd>Supports the {@link org.apache.tapestry5.ioc.annotations.Value} annotation</dd>
 * <dt>Symbol</dt>
 * <dd>Supports the {@link org.apache.tapestry5.ioc.annotations.Symbol} annotations</dd>
 * <dt>Autobuild</dt>
 * <dd>Supports the {@link org.apache.tapestry5.ioc.annotations.Autobuild} annotation</dd>
 * <dt>ServiceOverride</dt>
 * <dd>Allows simple service overrides via the {@link org.apache.tapestry5.ioc.services.ServiceOverride} service
 * (and its configuration)
 * </dl>
 */
@Contribute(MasterObjectProvider.class)
public static void setupObjectProviders(OrderedConfiguration<ObjectProvider> configuration, @Local final ServiceOverride serviceOverride) {
    configuration.add("AnnotationBasedContributions", null);
    configuration.addInstance("Value", ValueObjectProvider.class, before("AnnotationBasedContributions").build());
    configuration.addInstance("Symbol", SymbolObjectProvider.class, before("AnnotationBasedContributions").build());
    configuration.add("Autobuild", new AutobuildObjectProvider(), before("AnnotationBasedContributions").build());
    ObjectProvider wrapper = new ObjectProvider() {

        @Override
        public <T> T provide(Class<T> objectType, AnnotationProvider annotationProvider, ObjectLocator locator) {
            return serviceOverride.getServiceOverrideProvider().provide(objectType, annotationProvider, locator);
        }
    };
    configuration.add("ServiceOverride", wrapper, after("AnnotationBasedContributions").build());
}
Also used : AutobuildObjectProvider(org.apache.tapestry5.ioc.internal.services.AutobuildObjectProvider) ValueObjectProvider(org.apache.tapestry5.ioc.internal.services.ValueObjectProvider) MasterObjectProvider(org.apache.tapestry5.ioc.services.MasterObjectProvider) SymbolObjectProvider(org.apache.tapestry5.ioc.internal.services.SymbolObjectProvider) AutobuildObjectProvider(org.apache.tapestry5.ioc.internal.services.AutobuildObjectProvider)

Example 53 with Link

use of org.apache.tapestry5.http.Link in project tapestry5-hotel-booking by ccordenier.

the class View method startBooking.

/**
 * Start booking process.
 *
 * @param hotel
 * @return link to the current hotel booking
 */
@OnEvent(value = EventConstants.SUCCESS, component = "startBookingForm")
Object startBooking(Hotel hotel) {
    User user = (User) dao.find(User.class, authenticator.getLoggedUser().getId());
    userWorkspace.startBooking(hotel, user);
    return Book.class;
}
Also used : User(com.tap5.hotelbooking.entities.User) OnEvent(org.apache.tapestry5.annotations.OnEvent)

Example 54 with Link

use of org.apache.tapestry5.http.Link in project tapestry5-hotel-booking by ccordenier.

the class AuthenticationFilter method dispatchedToLoginPage.

private boolean dispatchedToLoginPage(String pageName) throws IOException {
    if (authenticator.isLoggedIn()) {
        // Logged user should not go back to Signin or Signup
        if (signinPage.equalsIgnoreCase(pageName) || signupPage.equalsIgnoreCase(pageName)) {
            Link link = renderLinkSource.createPageRenderLink(defaultPage);
            response.sendRedirect(link);
            return true;
        }
        return false;
    }
    Component page = componentSource.getPage(pageName);
    if (page.getClass().isAnnotationPresent(AnonymousAccess.class)) {
        return false;
    }
    Link link = renderLinkSource.createPageRenderLink("Signin");
    response.sendRedirect(link);
    return true;
}
Also used : Component(org.apache.tapestry5.runtime.Component) Link(org.apache.tapestry5.Link)

Example 55 with Link

use of org.apache.tapestry5.http.Link in project flowlogix by flowlogix.

the class LoginFormBase method detectJavaScript.

@AfterRender
public void detectJavaScript() {
    Link link = componentResources.createEventLink(ENABLE_JS_EVENT);
    String eventURI = link.toAbsoluteURI(requestGlobals.getRequest().isSecure());
    jsSupport.addInitializerCall("detectJS", eventURI);
}
Also used : Link(org.apache.tapestry5.Link) ExternalPageLink(com.flowlogix.web.services.ExternalPageLink) AfterRender(org.apache.tapestry5.annotations.AfterRender)

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