Repository: lens Updated Branches: refs/heads/master 1dcf9c6c9 -> ac2f6e884
LENS-1526 : Lens api to display number of sessions created per user Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/43505402 Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/43505402 Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/43505402 Branch: refs/heads/master Commit: 43505402e124eb650d8fa8c9054dc8725d3a5a19 Parents: 1dcf9c6 Author: Rajitha R <rajit...@apache.org> Authored: Thu Aug 9 13:25:20 2018 +0530 Committer: Rajitha.R <rajit...@im0318-l0.corp.inmobi.com> Committed: Thu Aug 9 13:25:20 2018 +0530 ---------------------------------------------------------------------- .../lens/server/api/session/SessionService.java | 7 +++++++ .../java/org/apache/lens/server/BaseLensService.java | 14 ++++++++++++++ .../apache/lens/server/session/SessionResource.java | 11 +++++++++++ 3 files changed, 32 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/43505402/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java ---------------------------------------------------------------------- diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java b/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java index 20ec686..d96d430 100644 --- a/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java +++ b/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.Map; import org.apache.lens.api.LensSessionHandle; +import org.apache.lens.api.session.SessionPerUserInfo; import org.apache.lens.api.session.UserSessionInfo; import org.apache.lens.server.api.error.LensException; @@ -135,4 +136,10 @@ public interface SessionService { * @return a list of all sessions */ List<UserSessionInfo> getSessionInfo(); + + /** + * + * @return a map of all session per loggedin user + */ + List<SessionPerUserInfo> getSessionPerUser(); } http://git-wip-us.apache.org/repos/asf/lens/blob/43505402/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java b/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java index 006ee88..2598c2e 100644 --- a/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java +++ b/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java @@ -38,6 +38,7 @@ import javax.ws.rs.core.Response; import org.apache.lens.api.LensConf; import org.apache.lens.api.LensSessionHandle; import org.apache.lens.api.auth.AuthScheme; +import org.apache.lens.api.session.SessionPerUserInfo; import org.apache.lens.api.session.UserSessionInfo; import org.apache.lens.api.util.PathValidator; import org.apache.lens.server.api.LensConfConstants; @@ -592,5 +593,18 @@ public abstract class BaseLensService extends CompositeService implements Extern } return userSessionInfoList; } + + public List<SessionPerUserInfo> getSessionPerUser() { + + List<SessionPerUserInfo> sessionsPerUserInfoList = new ArrayList<>(); + for (Map.Entry<String, Integer> sessionsPerUser : SESSIONS_PER_USER.entrySet()) { + SessionPerUserInfo sessionPerUserInfo = new SessionPerUserInfo(); + sessionPerUserInfo.setUser(sessionsPerUser.getKey()); + sessionPerUserInfo.setSessionCount(sessionsPerUser.getValue()); + sessionsPerUserInfoList.add(sessionPerUserInfo); + } + + return sessionsPerUserInfoList; + } } http://git-wip-us.apache.org/repos/asf/lens/blob/43505402/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java b/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java index dfecba5..832751c 100644 --- a/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java +++ b/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java @@ -47,6 +47,7 @@ import org.apache.lens.api.LensConf; import org.apache.lens.api.LensSessionHandle; import org.apache.lens.api.StringList; import org.apache.lens.api.auth.AuthScheme; +import org.apache.lens.api.session.SessionPerUserInfo; import org.apache.lens.api.session.UserSessionInfo; import org.apache.lens.server.LensServerConf; import org.apache.lens.server.LensServices; @@ -319,6 +320,16 @@ public class SessionResource { } /** + * Returns a list of all session per loggedin user + */ + @GET + @Path("sessionsperuser") + @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN }) + public List<SessionPerUserInfo> getSessionsperUser() { + return sessionService.getSessionPerUser(); + } + + /** * Clears idle sessions. response will contain how many sessions were cleared. * @throws LensException */