Package org.springframework.web.portlet

Examples of org.springframework.web.portlet.DispatcherPortlet


    assertEquals("myView-String:myDefaultName-typeMismatch-tb1-myOriginalValue", response.getContentAsString());
  }

  @Test
  public void parameterDispatchingController() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      @Override
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        StaticPortletApplicationContext wac = new StaticPortletApplicationContext();
        wac.setPortletContext(new MockPortletContext());
        RootBeanDefinition bd = new RootBeanDefinition(MyParameterDispatchingController.class);
        bd.setScope(WebApplicationContext.SCOPE_REQUEST);
        wac.registerBeanDefinition("controller", bd);
        AnnotationConfigUtils.registerAnnotationConfigProcessors(wac);
        wac.refresh();
        return wac;
      }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest(PortletMode.VIEW);
    MockRenderResponse response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.VIEW);
    request.addParameter("view", "other");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myOtherView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.VIEW);
    request.addParameter("view", "my");
    request.addParameter("lang", "de");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLangView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.VIEW);
    request.addParameter("surprise", "!");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("mySurpriseView", response.getContentAsString());
  }
View Full Code Here


    assertEquals("mySurpriseView", response.getContentAsString());
  }

  @Test
  public void typeLevelParameterDispatchingController() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      @Override
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        StaticPortletApplicationContext wac = new StaticPortletApplicationContext();
        wac.setPortletContext(new MockPortletContext());
        RootBeanDefinition bd = new RootBeanDefinition(MyTypeLevelParameterDispatchingController.class);
        bd.setScope(WebApplicationContext.SCOPE_REQUEST);
        wac.registerBeanDefinition("controller", bd);
        RootBeanDefinition bd2 = new RootBeanDefinition(MySpecialParameterDispatchingController.class);
        bd2.setScope(WebApplicationContext.SCOPE_REQUEST);
        wac.registerBeanDefinition("controller2", bd2);
        RootBeanDefinition bd3 = new RootBeanDefinition(MyOtherSpecialParameterDispatchingController.class);
        bd3.setScope(WebApplicationContext.SCOPE_REQUEST);
        wac.registerBeanDefinition("controller3", bd3);
        RootBeanDefinition bd4 = new RootBeanDefinition(MyParameterDispatchingController.class);
        bd4.setScope(WebApplicationContext.SCOPE_REQUEST);
        wac.registerBeanDefinition("controller4", bd4);
        AnnotationConfigUtils.registerAnnotationConfigProcessors(wac);
        wac.refresh();
        return wac;
      }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest(PortletMode.HELP);
    MockRenderResponse response = new MockRenderResponse();
    try {
      portlet.render(request, response);
      fail("Should have thrown NoHandlerFoundException");
    }
    catch (NoHandlerFoundException ex) {
      // expected
    }

    request = new MockRenderRequest(PortletMode.EDIT);
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myDefaultView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.EDIT);
    request.addParameter("myParam", "myValue");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.EDIT);
    request.addParameter("myParam", "mySpecialValue");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("mySpecialView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.EDIT);
    request.addParameter("myParam", "myOtherSpecialValue");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myOtherSpecialView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.VIEW);
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.EDIT);
    request.addParameter("myParam", "myValue");
    request.addParameter("view", "other");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myOtherView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.EDIT);
    request.addParameter("myParam", "myValue");
    request.addParameter("view", "my");
    request.addParameter("lang", "de");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLangView", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.EDIT);
    request.addParameter("myParam", "myValue");
    request.addParameter("surprise", "!");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("mySurpriseView", response.getContentAsString());
  }
View Full Code Here

    assertEquals("mySurpriseView", response.getContentAsString());
  }

  @Test
  public void portlet20DispatchingController() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      @Override
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        StaticPortletApplicationContext wac = new StaticPortletApplicationContext();
        wac.setPortletContext(new MockPortletContext());
        RootBeanDefinition bd = new RootBeanDefinition(MyPortlet20DispatchingController.class);
        bd.setScope(WebApplicationContext.SCOPE_REQUEST);
        wac.registerBeanDefinition("controller", bd);
        wac.registerBeanDefinition("controller2", new RootBeanDefinition(DetailsController.class));
        AnnotationConfigUtils.registerAnnotationConfigProcessors(wac);
        wac.refresh();
        return wac;
      }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest(PortletMode.VIEW);
    MockRenderResponse response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView", response.getContentAsString());

    MockActionRequest actionRequest = new MockActionRequest("this");
    MockActionResponse actionResponse = new MockActionResponse();
    portlet.processAction(actionRequest, actionResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(actionResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-value", response.getContentAsString());

    actionRequest = new MockActionRequest("that");
    actionResponse = new MockActionResponse();
    portlet.processAction(actionRequest, actionResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(actionResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-value2", response.getContentAsString());

    actionRequest = new MockActionRequest("else");
    actionResponse = new MockActionResponse();
    portlet.processAction(actionRequest, actionResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(actionResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-value3", response.getContentAsString());

    actionRequest = new MockActionRequest("error");
    actionResponse = new MockActionResponse();
    portlet.processAction(actionRequest, actionResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(actionResponse.getRenderParameterMap());
    request.setSession(actionRequest.getPortletSession());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("XXX", response.getContentAsString());

    MockEventRequest eventRequest = new MockEventRequest(new MockEvent("event1"));
    MockEventResponse eventResponse = new MockEventResponse();
    portlet.processEvent(eventRequest, eventResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(eventResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-value3", response.getContentAsString());

    eventRequest = new MockEventRequest(new MockEvent("event2"));
    eventResponse = new MockEventResponse();
    portlet.processEvent(eventRequest, eventResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(eventResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-value4", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.NORMAL);
    request.setParameters(actionResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView", response.getContentAsString());

    MockResourceRequest resourceRequest = new MockResourceRequest("resource1");
    MockResourceResponse resourceResponse = new MockResourceResponse();
    portlet.serveResource(resourceRequest, resourceResponse);
    assertEquals("myResource", resourceResponse.getContentAsString());

    resourceRequest = new MockResourceRequest("resource2");
    resourceResponse = new MockResourceResponse();
    portlet.serveResource(resourceRequest, resourceResponse);
    assertEquals("myDefaultResource", resourceResponse.getContentAsString());
  }
View Full Code Here

    assertEquals("myDefaultResource", resourceResponse.getContentAsString());
  }

  @Test
  public void eventDispatchingController() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      @Override
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        StaticPortletApplicationContext wac = new StaticPortletApplicationContext();
        wac.setPortletContext(new MockPortletContext());
        RootBeanDefinition bd = new RootBeanDefinition(MyPortlet20DispatchingController.class);
        bd.setScope(WebApplicationContext.SCOPE_REQUEST);
        wac.registerBeanDefinition("controller", bd);
        wac.registerBeanDefinition("controller2", new RootBeanDefinition(DetailsController.class));
        AnnotationConfigUtils.registerAnnotationConfigProcessors(wac);
        wac.refresh();
        return wac;
      }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest();
    MockRenderResponse response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView", response.getContentAsString());

    MockActionRequest actionRequest = new MockActionRequest("this");
    MockActionResponse actionResponse = new MockActionResponse();
    portlet.processAction(actionRequest, actionResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(actionResponse.getRenderParameterMap());
    request.setSession(actionRequest.getPortletSession());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-value", response.getContentAsString());

    actionRequest = new MockActionRequest();
    actionRequest.addParameter("action", "details");
    actionResponse = new MockActionResponse();
    portlet.processAction(actionRequest, actionResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(actionResponse.getRenderParameterMap());
    request.setSession(actionRequest.getPortletSession());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-details", response.getContentAsString());

    MockEventRequest eventRequest = new MockEventRequest(new MockEvent("event1"));
    eventRequest.setParameters(actionRequest.getParameterMap());
    MockEventResponse eventResponse = new MockEventResponse();
    portlet.processEvent(eventRequest, eventResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(eventResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-value3", response.getContentAsString());

    eventRequest = new MockEventRequest(new MockEvent("event3"));
    eventRequest.setParameters(actionRequest.getParameterMap());
    eventResponse = new MockEventResponse();
    portlet.processEvent(eventRequest, eventResponse);

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.MAXIMIZED);
    request.setParameters(eventResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myLargeView-value4", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.VIEW, WindowState.NORMAL);
    request.setParameters(actionResponse.getRenderParameterMap());
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView", response.getContentAsString());

    MockResourceRequest resourceRequest = new MockResourceRequest("resource1");
    MockResourceResponse resourceResponse = new MockResourceResponse();
    portlet.serveResource(resourceRequest, resourceResponse);
    assertEquals("myResource", resourceResponse.getContentAsString());

    resourceRequest = new MockResourceRequest("resource2");
    resourceResponse = new MockResourceResponse();
    portlet.serveResource(resourceRequest, resourceResponse);
    assertEquals("myDefaultResource", resourceResponse.getContentAsString());
  }
View Full Code Here

    assertEquals("myDefaultResource", resourceResponse.getContentAsString());
  }

  @Test
  public void testPredicatePriorityComparisonAcrossControllers() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      @Override
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        StaticPortletApplicationContext wac = new StaticPortletApplicationContext();
        // The order of handler registration is important to get
        // the collection with [Render,Action,Render] predicates
        wac.registerSingleton("firstController", FirstController.class);
        wac.registerSingleton("secondController", SecondController.class);
        wac.registerSingleton("thirdController", ThirdController.class);
        wac.registerSingleton("handlerMapping", DefaultAnnotationHandlerMapping.class);
        wac.registerSingleton("handlerAdapter", AnnotationMethodHandlerAdapter.class);
        wac.setPortletContext(new MockPortletContext());
        AnnotationConfigUtils.registerAnnotationConfigProcessors(wac);
        wac.refresh();
        return wac;
      }
    };
    portlet.init(new MockPortletConfig());

    // Make sure all 6 annotated methods can be called

    MockRenderRequest request = new MockRenderRequest(PortletMode.VIEW);
    MockRenderResponse response = new MockRenderResponse();

    // renderFirst
    portlet.render(request, response);
    assertArrayEquals(new String[] { "renderFirst" }, response.getProperties("RESPONSE"));

    // renderSecond
    request.setWindowState(WindowState.MAXIMIZED);
    request.setParameter("report", "second");
    portlet.render(request, response);
    assertArrayEquals(new String[] { "renderSecond" }, response.getProperties("RESPONSE"));

    // renderThirds
    request.setWindowState(WindowState.MAXIMIZED);
    request.setParameter("report", "third");
    portlet.render(request, response);
    assertArrayEquals(new String[] { "renderThird" }, response.getProperties("RESPONSE"));

    MockResourceRequest resourceRequest;
    MockResourceResponse resourceResponse = new MockResourceResponse();

    // resourceFirst
    resourceRequest = new MockResourceRequest("first");
    portlet.serveResource(resourceRequest, resourceResponse);
    assertArrayEquals(new String[] { "resourceFirst" }, resourceResponse.getProperties("RESPONSE"));

    // resourceSecond
    resourceRequest = new MockResourceRequest("second");
    portlet.serveResource(resourceRequest, resourceResponse);
    assertArrayEquals(new String[] { "resourceSecond" }, resourceResponse.getProperties("RESPONSE"));

    // resourceThirds
    resourceRequest = new MockResourceRequest("third");
    portlet.serveResource(resourceRequest, resourceResponse);
    assertArrayEquals(new String[] { "resourceThird" }, resourceResponse.getProperties("RESPONSE"));
  }
View Full Code Here

* @since 2.5
*/
public class PortletAnnotationControllerTests extends TestCase {

  public void testStandardHandleMethod() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(MyController.class));
        wac.refresh();
        return wac;
      }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest(PortletMode.VIEW);
    MockRenderResponse response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("test", response.getContentAsString());
  }
View Full Code Here

  public void testAdaptedHandleMethods3() throws Exception {
    doTestAdaptedHandleMethods(MyAdaptedController3.class);
  }

  public void doTestAdaptedHandleMethods(final Class controllerClass) throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(controllerClass));
        wac.refresh();
        return wac;
      }
    };
    portlet.init(new MockPortletConfig());

    MockActionRequest actionRequest = new MockActionRequest(PortletMode.VIEW);
    MockActionResponse actionResponse = new MockActionResponse();
    portlet.processAction(actionRequest, actionResponse);
    assertEquals("value", actionResponse.getRenderParameter("test"));

    MockRenderRequest request = new MockRenderRequest(PortletMode.EDIT);
    request.addParameter("param1", "value1");
    request.addParameter("param2", "2");
    MockRenderResponse response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("test-value1-2", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.HELP);
    request.addParameter("name", "name1");
    request.addParameter("age", "2");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("test-name1-2", response.getContentAsString());

    request = new MockRenderRequest(PortletMode.VIEW);
    request.addParameter("name", "name1");
    request.addParameter("age", "value2");
    response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("test-name1-typeMismatch", response.getContentAsString());
  }
View Full Code Here

    portlet.render(request, response);
    assertEquals("test-name1-typeMismatch", response.getContentAsString());
  }

  public void testFormController() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(MyFormController.class));
        wac.refresh();
        return wac;
      }

      protected void render(ModelAndView mv, RenderRequest request, RenderResponse response) throws Exception {
        new TestView().render(mv.getViewName(), mv.getModel(), request, response);
      }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest(PortletMode.VIEW);
    request.addParameter("name", "name1");
    request.addParameter("age", "value2");
    MockRenderResponse response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView-name1-typeMismatch-tb1-myValue", response.getContentAsString());
  }
View Full Code Here

    portlet.render(request, response);
    assertEquals("myView-name1-typeMismatch-tb1-myValue", response.getContentAsString());
  }

  public void testModelFormController() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(MyModelFormController.class));
        wac.refresh();
        return wac;
      }

      protected void render(ModelAndView mv, RenderRequest request, RenderResponse response) throws Exception {
        new TestView().render(mv.getViewName(), mv.getModel(), request, response);
      }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest(PortletMode.VIEW);
    request.addParameter("name", "name1");
    request.addParameter("age", "value2");
    MockRenderResponse response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView-name1-typeMismatch-tb1-myValue", response.getContentAsString());
  }
View Full Code Here

    portlet.render(request, response);
    assertEquals("myView-name1-typeMismatch-tb1-myValue", response.getContentAsString());
  }

  public void testCommandProvidingFormController() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
      protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(MyCommandProvidingFormController.class));
        RootBeanDefinition adapterDef = new RootBeanDefinition(AnnotationMethodHandlerAdapter.class);
        adapterDef.getPropertyValues().addPropertyValue("webBindingInitializer", new MyWebBindingInitializer());
        wac.registerBeanDefinition("handlerAdapter", adapterDef);
        wac.refresh();
        return wac;
      }

      protected void render(ModelAndView mv, RenderRequest request, RenderResponse response) throws Exception {
        new TestView().render(mv.getViewName(), mv.getModel(), request, response);
      }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest(PortletMode.VIEW);
    request.addParameter("defaultName", "myDefaultName");
    request.addParameter("age", "value2");
    request.addParameter("date", "2007-10-02");
    MockRenderResponse response = new MockRenderResponse();
    portlet.render(request, response);
    assertEquals("myView-String:myDefaultName-typeMismatch-tb1-myOriginalValue", response.getContentAsString());
  }
View Full Code Here

TOP

Related Classes of org.springframework.web.portlet.DispatcherPortlet

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.