Package org.apache.wicket.request.component

Examples of org.apache.wicket.request.component.IRequestablePage


   * @see org.apache.wicket.request.IRequestHandler#respond(org.apache.wicket.request.IRequestCycle)
   */
  @Override
  public void respond(final IRequestCycle requestCycle)
  {
    final IRequestablePage page = getPage();
    final boolean freshPage = pageComponentProvider.isPageInstanceFresh();
    final boolean isAjax = ((WebRequest)requestCycle.getRequest()).isAjax();

    IRequestableComponent component = null;
    try
    {
      component = getComponent();
    }
    catch (ComponentNotFoundException e)
    {
      // either the page is stateless and the component we are looking for is not added in the
      // constructor
      // or the page is stateful+stale and a new instances was created by pageprovider
      // we denote this by setting component to null
      component = null;
    }


    if ((component == null && !freshPage) || (component != null && component.getPage() != page))
    {
      throw new ComponentNotFoundException("Component '" + getComponentPath()
          + "' has been removed from page.");
    }

    if (page instanceof Page)
    {
      // initialize the page to be able to check whether it is stateless
      ((Page)page).internalInitialize();
    }
    final boolean isStateless = page.isPageStateless();

    RedirectPolicy policy = isStateless
        ? RedirectPolicy.NEVER_REDIRECT
        : RedirectPolicy.AUTO_REDIRECT;
    final IPageProvider pageProvider = new PageProvider(page);
View Full Code Here


  @Override
  public IRequestableComponent getComponent()
  {
    if (component == null)
    {
      IRequestablePage page = getPageInstance();
      component = page.get(componentPath);
      if (component == null)
      {

        /*
         * on stateless pages it is possible that the component may not yet exist because it
         * couldve been created in one of the lifecycle callbacks of this page. Lets invoke
         * the callbacks to give the page a chance to create the missing component.
         */

        // make sure this page instance was just created so the page can be stateless
        if (page.isPageStateless())
        {
          Page p = (Page)page;
          p.internalInitialize();
          p.internalPrepareForRender(false);
          component = page.get(componentPath);
        }
      }
    }
    if (component == null)
    {
View Full Code Here

    if (url == null && requestHandler instanceof ListenerInterfaceRequestHandler &&
      getRecreateMountedPagesAfterExpiry())
    {
      ListenerInterfaceRequestHandler handler = (ListenerInterfaceRequestHandler)requestHandler;
      IRequestablePage page = handler.getPage();
      if (checkPageInstance(page))
      {
        String componentPath = handler.getComponentPath();
        RequestListenerInterface listenerInterface = handler.getListenerInterface();

        Integer renderCount = null;
        if (listenerInterface.isIncludeRenderCount())
        {
          renderCount = page.getRenderCount();
        }

        PageInfo pageInfo = getPageInfo(handler);
        ComponentInfo componentInfo = new ComponentInfo(renderCount,
          requestListenerInterfaceToString(listenerInterface), componentPath,
          handler.getBehaviorIndex());
        PageComponentInfo pageComponentInfo = new PageComponentInfo(pageInfo, componentInfo);
        PageParameters parameters = new PageParameters(page.getPageParameters());
        UrlInfo urlInfo = new UrlInfo(pageComponentInfo, page.getClass(),
          parameters.mergeWith(handler.getPageParameters()));
        url = buildUrl(urlInfo);
      }
    }
View Full Code Here

  {
    Url url = Url.parse("some/p1/path/p2/p3");
    IRequestHandler handler = optionPlaceholderEncoder.mapRequest(getRequest(url));

    assertTrue(handler instanceof RenderPageRequestHandler);
    IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();

    assertEquals(0, page.getPageParameters().getIndexedCount());
    assertTrue(page.getPageParameters().getNamedKeys().size() == 3);
    assertEquals("p1", page.getPageParameters().get("param1").toString());
    assertEquals("p2", page.getPageParameters().get("param2").toString());
    assertEquals("p3", page.getPageParameters().get("param3").toString());
  }
View Full Code Here

  {
    Url url = Url.parse("some/path/path/path");
    IRequestHandler handler = optionPlaceholderEncoder.mapRequest(getRequest(url));

    assertTrue(handler instanceof RenderPageRequestHandler);
    IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();

    assertEquals(0, page.getPageParameters().getIndexedCount());
    assertTrue(page.getPageParameters().getNamedKeys().size() == 2);
    assertEquals("path", page.getPageParameters().get("param1").toString());
    assertEquals("path", page.getPageParameters().get("param2").toString());
    assertFalse("param3 should not be set",
      page.getPageParameters().getNamedKeys().contains("param3"));
  }
View Full Code Here

  {
    Url url = Url.parse("some/p1/path/p2");
    IRequestHandler handler = optionPlaceholderEncoder.mapRequest(getRequest(url));

    assertTrue(handler instanceof RenderPageRequestHandler);
    IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();

    assertEquals(0, page.getPageParameters().getIndexedCount());
    assertTrue(page.getPageParameters().getNamedKeys().size() == 2);
    assertEquals("p1", page.getPageParameters().get("param1").toString());
    assertEquals("p2", page.getPageParameters().get("param2").toString());
    assertFalse("param3 should not be set",
      page.getPageParameters().getNamedKeys().contains("param3"));
  }
View Full Code Here

  {
    Url url = Url.parse("some/path/p2");
    IRequestHandler handler = optionPlaceholderEncoder.mapRequest(getRequest(url));

    assertTrue(handler instanceof RenderPageRequestHandler);
    IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();

    assertEquals(0, page.getPageParameters().getIndexedCount());
    assertTrue(page.getPageParameters().getNamedKeys().size() == 1);
    assertFalse("param1 should not be set",
      page.getPageParameters().getNamedKeys().contains("param1"));
    assertEquals("p2", page.getPageParameters().get("param2").toString());
    assertFalse("param3 should not be set",
      page.getPageParameters().getNamedKeys().contains("param3"));
  }
View Full Code Here

  {
    Url url = Url.parse("some/path/p2/p3/p4");
    IRequestHandler handler = optionPlaceholderEncoder.mapRequest(getRequest(url));

    assertTrue(handler instanceof RenderPageRequestHandler);
    IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();

    assertEquals(1, page.getPageParameters().getIndexedCount());
    assertTrue(page.getPageParameters().getNamedKeys().size() == 2);
    assertFalse("param1 should not be set",
      page.getPageParameters().getNamedKeys().contains("param1"));
    assertEquals("p2", page.getPageParameters().get("param2").toString());
    assertEquals("p3", page.getPageParameters().get("param3").toString());
    assertEquals("p4", page.getPageParameters().get(0).toString());
  }
View Full Code Here

  {
    Url url = Url.parse("wicket/bookmarkable/" + PAGE_CLASS_NAME);
    IRequestHandler handler = encoder.mapRequest(getRequest(url));

    assertTrue(handler instanceof RenderPageRequestHandler);
    IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();
    assertEquals(PAGE_CLASS_NAME, page.getClass().getName());
    assertEquals(0, page.getPageParameters().getIndexedCount());
    assertTrue(page.getPageParameters().getNamedKeys().isEmpty());
  }
View Full Code Here

  {
    Url url = Url.parse("wicket/bookmarkable/" + PAGE_CLASS_NAME + ";something=else");
    IRequestHandler handler = encoder.mapRequest(getRequest(url));

    assertTrue(handler instanceof RenderPageRequestHandler);
    IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();
    assertEquals(PAGE_CLASS_NAME, page.getClass().getName());
    assertEquals(0, page.getPageParameters().getIndexedCount());
    assertTrue(page.getPageParameters().getNamedKeys().isEmpty());
  }
View Full Code Here

TOP

Related Classes of org.apache.wicket.request.component.IRequestablePage

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.