why did you revert the changes that threaded the response through?

that's a definite improvement.


Johan Compagner wrote:
> 
> ok i changed it back for now
> But if we want to fix this then we need to change some flow
> 
> Now a RequestCycle is created by a Session object:
> 
> 
> final WebRequest request = webApplication.newWebRequest(servletRequest);
> 
> // First, set the webapplication for this thread
> Application.set(webApplication);
> 
> // Create a response object and set the output encoding according to
> // org.apache.wicket's application setttings.
> final WebResponse response =
> webApplication.newWebResponse(servletResponse);
> response.setAjax(request.isAjax());
> response.setCharacterEncoding(webApplication.getRequestCycleSettings
> ().getResponseRequestEncoding());
> 
> // Get session for request
> final WebSession session = webApplication.getSession(request, response);
> 
> RequestCycle cycle = session.newRequestCycle(request, response);
> 
> we could do this:
> 
> 
> 
> final WebRequest request = webApplication.newWebRequest(servletRequest);
> 
> // First, set the webapplication for this thread
> Application.set(webApplication);
> 
> // Create a response object and set the output encoding according to
> // org.apache.wicket's application setttings.
> final WebResponse response =
> webApplication.newWebResponse(servletResponse);
> response.setAjax(request.isAjax());
> response.setCharacterEncoding(webApplication.getRequestCycleSettings
> ().getResponseRequestEncoding());
> 
> RequestCycle cycle =
> webApplication.getRequestCycleFactory().newRequestCycle(request,
> response);
> 
> // Get session for request
> final WebSession session = webApplication.getSession(request, response);
> 
> 
> Then a request cycle is not a child anymore of the session.
> So a request cycle doesn't get the session in its constructor anymore. (it
> doesn't have access at all to a session object)
> 
> johan
> 
> 
> 
> 
> 
> On 4/11/07, Johan Compagner <[EMAIL PROTECTED]> wrote:
>>
>> Looked at it some more
>> this needs to be rollbacked. This is really really bad code.
>>
>> there are public methods called on the session object that is not fully
>> constructed yet
>> And the this is given to the newRequestCycle() method.. What if people
>> want to use there
>> own Session object in the RequestCycle create?? That is impossible
>> because
>> the Session
>> object is not completely valid yet!
>>
>> We need to find another solution for this because this can't be done.
>>
>> On 4/11/07, Johan Compagner <[EMAIL PROTECTED]> wrote:
>> >
>> > in the constructor:
>> >
>> >     protected Session(Application application, Request request,
>> Response
>> > response)
>> >     {
>> >         // Construct request cycle (which sets thread local)
>> >         getRequestCycleFactory().newRequestCycle(this, request,
>> > response);
>> >
>> >
>> > and ofcourse normally in the WicketFilter.doGet()
>> >
>> > please don't tell me this change of the Session constructor (suddenly a
>> > response object as a param)
>> > and the construction of that request cycle is because of UNIT TESTS????
>> > because that would be horrible that we change such a basic code just
>> for
>> > unit testing.
>> >
>> > johan
>> >
>> >
>> >
>> >
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/why-are-we-suddenly-creating-2-request-cycles--tf3557832.html#a9958131
Sent from the Wicket - Dev mailing list archive at Nabble.com.

Reply via email to