click-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dennis M. J. Yerger" <dennisyerge...@hotmail.com>
Subject RE: Page factory service
Date Sat, 27 Apr 2013 01:05:17 GMT
Thanks for the link, Bob. After examining the SpringClickServlet source code, I believe most
of the code can fit into an implementation of PageFactoryService. The only questionable part
of the code would be the contents of activatePageInstance(). Subclassing ClickServlet is really
only necessary if you want to override activatePageInstance() to support stateful pages. As
an alternative, The activatePageInstance() contents can go into an implementation of PageInterceptor,
making a subclass of ClickServlet unnecessary. Any other setup code should nicely into PageFactoryService.onInit().

An xml-based configuration might look like this:

<click-app>
    ...
    <page-factory-service classname="org.example.SpringPageFactoryService"/>
    <page-interceptor classname="org.example.SpringPageInterceptor"/>
</click-app>

The Spring application context may be stored as a servlet context attribute so it can be accessed
by both the interceptor and page factory.

Date: Fri, 26 Apr 2013 20:44:04 +0200
From: sabob1@gmail.com
To: dev@click.apache.org
Subject: Re: Page factory service


  
    
  
  
    It's in the extras package 'spring'.

      

http://svn.apache.org/repos/asf/click/trunk/click/extras/src/org/apache/click/extras/spring/SpringClickServlet.java

      

      Kind regards

      

      Bob

      

      On 2013/04/26 19:03, Dennis M. J. Yerger wrote:

    
    
      
      Hi, Bob. I have not seen the code for
        SpringClickServlet, so I cannot determine whether subclassing is
        necessary. Would you post a link to the source code?

        

        
          Date: Fri, 26 Apr 2013 13:05:31 +0200

          From: sabob1@gmail.com

          To: dev@click.apache.org

          Subject: Re: Page factory service

          

          Hi Denis,

            

            On 2013/04/25 22:13, Dennis M. J. Yerger wrote:

          
          
            
            After examining the ClickServlet class, I
              noticed the newPageInstance() method, which is where new
              instances of Page objects are created. By default,
              newPageInstance() calls Class.newInstance() on the given
              class. This can be overridden by subclassing ClickServlet.
              However, I believe this functionality should be factored
              out into a separate class. A separate page factory would
              allow page objects to be created in more flexible ways
              (e.g., from Spring contexts or Tapestry IoC registries)
              without altering the ClickServlet. I
          
          

          Looking at SpringClickServlet there seems to be quite a bit
          going on in there which doesn't deal only with newPageIntance.
          So with a PageFactory in place, wouldn't Spring still need to
          subclass ClickServlet to work?

          

          Kind regards

          

          Bob

        
      
    
    
 		 	   		  
Mime
View raw message