Author: jcompagner
Date: Tue May 13 12:40:08 2008
New Revision: 655985

URL: http://svn.apache.org/viewvc?rev=655985&view=rev
Log:
WICKET-1409 RequestLogger counts active requests wrong

Modified:
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java?rev=655985&r1=655984&r2=655985&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
 Tue May 13 12:40:08 2008
@@ -30,7 +30,9 @@
 import org.apache.wicket.IClusterable;
 import org.apache.wicket.IPageMap;
 import org.apache.wicket.IRequestTarget;
+import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.Page;
+import org.apache.wicket.RequestCycle;
 import org.apache.wicket.Session;
 import 
org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
 import org.apache.wicket.request.target.component.IPageRequestTarget;
@@ -64,6 +66,11 @@
        protected static Logger log = 
LoggerFactory.getLogger(RequestLogger.class);
 
 
+       private static MetaDataKey<RequestData> REQUEST_DATA = new 
MetaDataKey<RequestData>()
+       {
+               private static final long serialVersionUID = 1L;
+       };
+
        /**
         * This interface can be implemented in a custom session object. to 
give an object that has more
         * information for the current session (state of session).
@@ -184,11 +191,12 @@
 
        RequestData getCurrentRequest()
        {
-               RequestData rd = currentRequest.get();
+               RequestCycle requestCycle = RequestCycle.get();
+               RequestData rd = requestCycle.getMetaData(REQUEST_DATA);
                if (rd == null)
                {
                        rd = new RequestData();
-                       currentRequest.set(rd);
+                       requestCycle.setMetaData(REQUEST_DATA, rd);
                        active.incrementAndGet();
                }
                return rd;
@@ -199,7 +207,7 @@
         */
        public void requestTime(long timeTaken)
        {
-               RequestData rd = currentRequest.get();
+               RequestData rd = RequestCycle.get().getMetaData(REQUEST_DATA);
                if (rd != null)
                {
                        if (active.get() > 0)
@@ -234,7 +242,6 @@
                        rd.setTimeTaken(timeTaken);
 
                        requests.add(0, rd);
-                       currentRequest.set(null);
                        if (sessionId != null)
                        {
                                SessionData sd = liveSessions.get(sessionId);


Reply via email to