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;
