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
    */

Reply via email to