From fce750a3c6c81a26b8337aacee943042eaaf2fd9 Mon Sep 17 00:00:00 2001 From: Daniel Gerhardt <code@dgerhardt.net> Date: Tue, 20 Dec 2016 14:21:45 +0100 Subject: [PATCH] Add additonal log methods for simplified use --- .../java/de/thm/arsnova/dao/CouchDBDao.java | 17 +++++++++++++++++ .../java/de/thm/arsnova/dao/IDatabaseDao.java | 15 +++++++++++++++ .../de/thm/arsnova/dao/StubDatabaseDao.java | 10 ++++++++++ 3 files changed, 42 insertions(+) diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index 36fb5955..aac410aa 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -157,6 +157,23 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware log(event, payload, LogEntry.LogLevel.INFO); } + @Override + public void log(String event, LogEntry.LogLevel level, Object... rawPayload) { + if (rawPayload.length % 2 != 0) { + throw new IllegalArgumentException(""); + } + Map<String, Object> payload = new HashMap<>(); + for (int i = 0; i < rawPayload.length; i += 2) { + payload.put((String) rawPayload[i], rawPayload[i + 1]); + } + log(event, payload, LogEntry.LogLevel.INFO); + } + + @Override + public void log(String event, Object... rawPayload) { + log(event, LogEntry.LogLevel.INFO, rawPayload); + } + @Override public List<Session> getMySessions(final User user, final int start, final int limit) { return this.getDatabaseDao().getSessionsForUsername(user.getUsername(), start, limit); diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java index 9b56e6f8..7b4955bb 100644 --- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java +++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java @@ -44,6 +44,21 @@ public interface IDatabaseDao { */ void log(String event, Map<String, Object> payload); + /** + * + * @param event type of the event + * @param level severity of the event + * @param rawPayload key/value pairs of arbitrary logging data + */ + void log(String event, LogEntry.LogLevel level, Object... rawPayload); + + /** + * + * @param event type of the event + * @param rawPayload key/value pairs of arbitrary logging data + */ + void log(String event, Object... rawPayload); + Session getSessionFromKeyword(String keyword); List<Session> getMySessions(User user, final int start, final int limit); diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java index d8d27a62..baa0942e 100644 --- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java +++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java @@ -117,6 +117,16 @@ public class StubDatabaseDao implements IDatabaseDao { // TODO Auto-generated method stub } + @Override + public void log(String event, LogEntry.LogLevel level, Object... rawPayload) { + // TODO Auto-generated method stub + } + + @Override + public void log(String event, Object... rawPayload) { + // TODO Auto-generated method stub + } + @Override public Session getSessionFromKeyword(String keyword) { return stubSessions.get(keyword); -- GitLab