Search in sources :

Example 1 with Url

use of org.apache.wicket.request.Url in project the-app by devops-dojo.

the class DirectBuyRequestCycleListener method redirectTo.

private void redirectTo(RequestCycle cycle, Url urlWithoutDirectBuy) {
    Url requestUrl = cycle.getRequest().getUrl();
    if (!requestUrl.equals(urlWithoutDirectBuy)) {
        WebResponse response = (WebResponse) cycle.getResponse();
        response.reset();
        response.sendRedirect(urlWithoutDirectBuy.toString(Url.StringMode.FULL));
    }
}
Also used : WebResponse(org.apache.wicket.request.http.WebResponse) Url(org.apache.wicket.request.Url)

Example 2 with Url

use of org.apache.wicket.request.Url in project the-app by devops-dojo.

the class DirectBuyRequestCycleListener method removeDirectBuyFromUrl.

private Url removeDirectBuyFromUrl(RequestCycle cycle) {
    Url requestUrl = cycle.getRequest().getUrl();
    Optional<Url.QueryParameter> directBuyParamter = requestUrl.getQueryParameters().stream().filter(p -> DIRECT_BUY_PARAMETER.equals(p.getName())).findFirst();
    if (directBuyParamter.isPresent()) {
        Url requestUrlWithoutDirectBuy = new Url(requestUrl);
        // TODO-BERND: make change request for wicket - contextpath is removed in wicket implementation
        requestUrlWithoutDirectBuy.getSegments().add(0, cycle.getRequest().getContextPath().replaceAll("/", ""));
        requestUrlWithoutDirectBuy.getQueryParameters().remove(directBuyParamter.get());
        return requestUrlWithoutDirectBuy;
    }
    return requestUrl;
}
Also used : SpringBean(org.apache.wicket.spring.injection.annot.SpringBean) Logger(org.slf4j.Logger) LoggerFactory(org.slf4j.LoggerFactory) ProductInfo(io.github.zutherb.appstash.shop.service.product.model.ProductInfo) RequestCycle(org.apache.wicket.request.cycle.RequestCycle) Injector(org.apache.wicket.injection.Injector) Cart(io.github.zutherb.appstash.shop.service.cart.api.Cart) AbstractRequestCycleListener(org.apache.wicket.request.cycle.AbstractRequestCycleListener) WebResponse(org.apache.wicket.request.http.WebResponse) Optional(java.util.Optional) ProductService(io.github.zutherb.appstash.shop.service.product.api.ProductService) Url(org.apache.wicket.request.Url) StringValue(org.apache.wicket.util.string.StringValue) ProductQuery(io.github.zutherb.appstash.shop.repository.product.model.ProductQuery) Url(org.apache.wicket.request.Url)

Example 3 with Url

use of org.apache.wicket.request.Url in project wicket by apache.

the class PackageResourceReference method getResource.

/**
 * @see org.apache.wicket.request.resource.ResourceReference#getResource()
 */
@Override
public PackageResource getResource() {
    final String extension = getExtension();
    final PackageResource resource;
    RequestCycle requestCycle = RequestCycle.get();
    UrlAttributes urlAttributes = null;
    if (requestCycle != null) {
        // resource attributes (locale, style, variation) might be encoded in the URL
        final Url url = requestCycle.getRequest().getUrl();
        urlAttributes = ResourceUtil.decodeResourceReferenceAttributes(url);
    }
    final String currentVariation = getCurrentVariation(urlAttributes);
    final String currentStyle = getCurrentStyle(urlAttributes);
    final Locale currentLocale = getCurrentLocale(urlAttributes);
    final Class<?> scope = getScope();
    final String name = getName();
    if (CSS_EXTENSION.equals(extension)) {
        resource = new CssPackageResource(scope, name, currentLocale, currentStyle, currentVariation);
    } else if (JAVASCRIPT_EXTENSION.equals(extension)) {
        resource = new JavaScriptPackageResource(scope, name, currentLocale, currentStyle, currentVariation);
    } else {
        resource = new PackageResource(scope, name, currentLocale, currentStyle, currentVariation);
    }
    resource.readBuffered(readBuffered);
    removeCompressFlagIfUnnecessary(resource);
    return resource;
}
Also used : Locale(java.util.Locale) RequestCycle(org.apache.wicket.request.cycle.RequestCycle) Url(org.apache.wicket.request.Url)

Example 4 with Url

use of org.apache.wicket.request.Url in project wicket by apache.

the class WicketTesterTest method setQueryParameterWhenRequestHasAnQueryUrl.

/**
 * Asserting that parameters set in request get processed, even if the request URL already has
 * query parameters
 */
@Test
public void setQueryParameterWhenRequestHasAnQueryUrl() {
    PageParameters parameters = new PageParameters();
    parameters.set("q_1", "q_1_value");
    IPageProvider testPageProvider = new PageProvider(MockPageParametersAware.class, parameters);
    IRequestHandler pageRequestHandler = new BookmarkablePageRequestHandler(testPageProvider);
    Url url = tester.getApplication().getRootRequestMapper().mapHandler(pageRequestHandler);
    tester.getRequest().setParameter("q_2", "q_2_value");
    tester.getRequest().setUrl(url);
    tester.processRequest();
    MockPageParametersAware page = (MockPageParametersAware) tester.getLastRenderedPage();
    assertEquals("q_1_value", page.getLastQueryParameters().getParameterValue("q_1").toString());
    assertEquals("q_2_value", page.getLastQueryParameters().getParameterValue("q_2").toString());
}
Also used : IRequestHandler(org.apache.wicket.request.IRequestHandler) PageProvider(org.apache.wicket.core.request.handler.PageProvider) IPageProvider(org.apache.wicket.core.request.handler.IPageProvider) BookmarkablePageRequestHandler(org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler) MockPageParametersAware(org.apache.wicket.MockPageParametersAware) PageParameters(org.apache.wicket.request.mapper.parameter.PageParameters) IPageProvider(org.apache.wicket.core.request.handler.IPageProvider) Url(org.apache.wicket.request.Url) Test(org.junit.Test)

Example 5 with Url

use of org.apache.wicket.request.Url in project wicket by apache.

the class ServletWebResponseTest method sendRedirectAjax.

/**
 * https://issues.apache.org/jira/browse/WICKET-3885
 *
 * Redirects in Ajax requests should produce &lt;ajax-response&gt; with relative url
 *
 * @throws IOException
 */
@Test
public void sendRedirectAjax() throws IOException {
    final String url = "./relative/path";
    ServletWebRequest webRequest = mock(ServletWebRequest.class);
    when(webRequest.isAjax()).thenReturn(Boolean.TRUE);
    Url baseUrl = Url.parse("./baseUrl");
    baseUrl.setProtocol("http");
    baseUrl.setHost("someHost");
    baseUrl.setPort(80);
    when(webRequest.getClientUrl()).thenReturn(baseUrl);
    HttpServletRequest httpServletRequest = mock(HttpServletRequest.class);
    when(webRequest.getContainerRequest()).thenReturn(httpServletRequest);
    when(httpServletRequest.getCharacterEncoding()).thenReturn("UTF-8");
    HttpServletResponse httpServletResponse = mock(HttpServletResponse.class);
    when(httpServletResponse.encodeRedirectURL(Matchers.anyString())).thenReturn(url);
    StringWriter writer = new StringWriter();
    when(httpServletResponse.getWriter()).thenReturn(new PrintWriter(writer));
    ServletWebResponse webResponse = new ServletWebResponse(webRequest, httpServletResponse);
    webResponse.sendRedirect(url);
    verify(httpServletResponse).setHeader("Ajax-Location", url);
    verify(httpServletResponse).setContentType("text/xml;charset=UTF-8");
    assertEquals("<ajax-response><redirect><![CDATA[./relative/path]]></redirect></ajax-response>", writer.toString());
    assertTrue(webResponse.isRedirect());
}
Also used : MockHttpServletRequest(org.apache.wicket.protocol.http.mock.MockHttpServletRequest) HttpServletRequest(javax.servlet.http.HttpServletRequest) StringWriter(java.io.StringWriter) MockHttpServletResponse(org.apache.wicket.protocol.http.mock.MockHttpServletResponse) HttpServletResponse(javax.servlet.http.HttpServletResponse) Url(org.apache.wicket.request.Url) PrintWriter(java.io.PrintWriter) Test(org.junit.Test)

Aggregations

Url (org.apache.wicket.request.Url)285 Test (org.junit.Test)219 IRequestHandler (org.apache.wicket.request.IRequestHandler)138 RenderPageRequestHandler (org.apache.wicket.core.request.handler.RenderPageRequestHandler)51 IRequestablePage (org.apache.wicket.request.component.IRequestablePage)50 PageParameters (org.apache.wicket.request.mapper.parameter.PageParameters)50 PageProvider (org.apache.wicket.core.request.handler.PageProvider)38 ResourceReferenceRequestHandler (org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler)33 ResourceUrl (org.apache.wicket.request.resource.caching.ResourceUrl)33 IPageProvider (org.apache.wicket.core.request.handler.IPageProvider)32 UrlRenderer (org.apache.wicket.request.UrlRenderer)30 MockWebRequest (org.apache.wicket.mock.MockWebRequest)29 BookmarkableListenerRequestHandler (org.apache.wicket.core.request.handler.BookmarkableListenerRequestHandler)26 ListenerRequestHandler (org.apache.wicket.core.request.handler.ListenerRequestHandler)25 Request (org.apache.wicket.request.Request)23 MockPage (org.apache.wicket.MockPage)22 BookmarkablePageRequestHandler (org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler)15 PageAndComponentProvider (org.apache.wicket.core.request.handler.PageAndComponentProvider)15 IRequestableComponent (org.apache.wicket.request.component.IRequestableComponent)10 IPageRequestHandler (org.apache.wicket.core.request.handler.IPageRequestHandler)9