Repository: wicket
Updated Branches:
  refs/heads/master 90a8b2d82 -> eae47a681


[WICKET-5914] added userData map to request logger


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/eae47a68
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/eae47a68
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/eae47a68

Branch: refs/heads/master
Commit: eae47a681ba6bb2b26331904e7299613fb388d60
Parents: 90a8b2d
Author: Robert Gruendler <[email protected]>
Authored: Tue Jun 16 09:48:36 2015 +0200
Committer: Robert Gruendler <[email protected]>
Committed: Tue Jun 16 14:20:55 2015 +0200

----------------------------------------------------------------------
 .../protocol/http/AbstractRequestLogger.java    |  2 +-
 .../wicket/protocol/http/IRequestLogger.java    | 46 ++++++++++++++++++--
 .../http/AbstractRequestLoggerTest.java         |  4 +-
 3 files changed, 46 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/eae47a68/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
index 34964d3..ce83ab3 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
@@ -289,7 +289,7 @@ public abstract class AbstractRequestLogger implements 
IRequestLogger
                        requestCycle.setMetaData(SESSION_DATA, sessionData);
        }
 
-       protected RequestData getCurrentRequest()
+       public RequestData getCurrentRequest()
        {
                RequestCycle requestCycle = RequestCycle.get();
                RequestData rd = requestCycle.getMetaData(REQUEST_DATA);

http://git-wip-us.apache.org/repos/asf/wicket/blob/eae47a68/wicket-core/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java
index df99e4f..acb91b1 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java
@@ -16,10 +16,6 @@
  */
 package org.apache.wicket.protocol.http;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
 import org.apache.wicket.request.ILogData;
 import org.apache.wicket.request.ILoggableRequestHandler;
 import org.apache.wicket.request.IRequestHandler;
@@ -28,6 +24,12 @@ import org.apache.wicket.session.ISessionStore;
 import org.apache.wicket.util.io.IClusterable;
 import org.apache.wicket.util.string.Strings;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Interface for the request logger and viewer.
  * 
@@ -65,6 +67,11 @@ public interface IRequestLogger
        int getCurrentActiveRequestCount();
 
        /**
+        * @return The {@link 
org.apache.wicket.protocol.http.IRequestLogger.RequestData} for the current 
request.
+        */
+       RequestData getCurrentRequest();
+
+       /**
         * @return The peak active requests
         */
        int getPeakActiveRequestCount();
@@ -304,6 +311,7 @@ public interface IRequestLogger
                private long startDate;
                private long timeTaken;
                private final List<String> entries = new ArrayList<>(5);
+               private Map<String, Object> userData;
                private String requestedUrl;
                private IRequestHandler eventTarget;
                private IRequestHandler responseTarget;
@@ -483,6 +491,36 @@ public interface IRequestLogger
                }
 
                /**
+                * @param key
+                * @param value
+                */
+               public void addUserData(String key, Object value)
+               {
+                       getUserData().put(key, value);
+               }
+
+               /**
+                * @param key
+                * @return
+                */
+               public Object getUserData(String key)
+               {
+                       return getUserData().get(key);
+               }
+
+               /**
+                * @return the userData Map
+                */
+               public Map<String, Object> getUserData()
+               {
+                       if (userData == null) {
+                               userData = new HashMap<>();
+                       }
+
+                       return userData;
+               }
+
+               /**
                 * @return All entries of the objects that are created/updated 
or removed in this request
                 */
                public String getAlteredObjects()

http://git-wip-us.apache.org/repos/asf/wicket/blob/eae47a68/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
index 0d63b67..bee0c3f 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
@@ -44,6 +44,7 @@ public class AbstractRequestLoggerTest extends WicketTestCase
                logger.addRequest(requestData());
                assertEquals(1, logger.getRequests().size());
                assertEquals("0", 
logger.getRequests().get(0).getRequestedUrl());
+               assertEquals("0value", 
logger.getRequests().get(0).getUserData("someKey"));
                
                logger.addRequest(requestData());
                assertEquals(2, logger.getRequests().size());
@@ -80,7 +81,8 @@ public class AbstractRequestLoggerTest extends WicketTestCase
        
        private RequestData requestData() {
                RequestData data = new RequestData();
-               
+
+               data.addUserData("someKey", "" + counter + "value");
                data.setRequestedUrl("" + counter++);
 
                return data;

Reply via email to