From 86af820114e7b96135a4ae43ccce5bbdcc928497 Mon Sep 17 00:00:00 2001 From: Ranjith Manickam Date: Mon, 12 Aug 2019 22:48:51 +0530 Subject: [PATCH] added session details manager. --- .../session/redis/SessionManagerTest.java | 264 +++++++++--------- 1 file changed, 139 insertions(+), 125 deletions(-) diff --git a/src/test/java/tomcat/request/session/redis/SessionManagerTest.java b/src/test/java/tomcat/request/session/redis/SessionManagerTest.java index d5f2149..d84777c 100644 --- a/src/test/java/tomcat/request/session/redis/SessionManagerTest.java +++ b/src/test/java/tomcat/request/session/redis/SessionManagerTest.java @@ -1,154 +1,168 @@ package tomcat.request.session.redis; -import java.io.IOException; -import java.util.Date; -import java.util.Enumeration; +import tomcat.request.session.manager.SessionDetailsManager; -import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.util.Date; +import java.util.Enumeration; @WebServlet("/") public class SessionManagerTest extends HttpServlet { - private static final long serialVersionUID = 7464510533820701851L; + private static final long serialVersionUID = 7464510533820701851L; - /** - * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse - * response) - */ - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + String action = request.getParameter("action"); + action = (action == null) ? "" : action; + String responseData; + switch (action.toUpperCase()) { + case "SET": + responseData = setSessionValues(request.getSession()); + break; + case "GET": + responseData = getSessionValues(request.getSession(), action); + break; + case "SESSION_DETAILS": + responseData = getSessionDetails(); + break; + default: + responseData = getActions(request); + break; + } + sendResponse(response, responseData); + } - String action = request.getParameter("action"); - action = (action == null) ? "" : action; - String responseData = null; + /** method to send response */ + private void sendResponse(HttpServletResponse response, String responseData) throws IOException { + response.setContentType("text/html"); + response.setStatus(HttpServletResponse.SC_OK); + response.getWriter().println(responseData); + } - switch (action.toUpperCase()) { - case "SET": - responseData = setSessionValues(request.getSession()); - break; - case "GET": - responseData = getSessionValues(request.getSession(), action); - break; - default: - responseData = getActions(request); - break; - } + /** method to get actions */ + private String getActions(HttpServletRequest request) { + StringBuilder xml = new StringBuilder(); - sendResponse(response, responseData); - } + xml.append(""); + xml.append(""); + xml.append(""); + xml.append(""); + xml.append("tomcat-cluster-redis-session-manager-test"); + xml.append(""); + xml.append(""); + xml.append("

tomcat-cluster-redis-session-manager-test

"); + xml.append("

actions

"); - /** - * method to send response - * - * @param response - * @param responseData - * @throws IOException - */ - private void sendResponse(HttpServletResponse response, String responseData) throws IOException { - response.setContentType("text/html"); - response.setStatus(HttpServletResponse.SC_OK); - response.getWriter().println(responseData); - } + String url = request.getRequestURL().toString(); + url = (url.contains("?action=") ? (url.substring(0, url.indexOf("?action="))) : url).concat("?action="); - /** - * method to get actions - * - * @param request - * @return - */ - private String getActions(HttpServletRequest request) { - StringBuffer xml = new StringBuffer(); + xml.append("SET"); + xml.append("

"); + xml.append("GET"); + xml.append("

"); + xml.append("SESSION_DETAILS"); - xml.append(""); - xml.append(""); - xml.append(""); - xml.append(""); - xml.append("tomcat-cluster-redis-session-manager-test"); - xml.append(""); - xml.append(""); - xml.append("

tomcat-cluster-redis-session-manager-test

"); - xml.append("

actions

"); + xml.append(""); + xml.append(""); - String url = request.getRequestURL().toString(); - url = (url.contains("?action=") ? (url.substring(0, url.indexOf("?action="))) : url).concat("?action="); + return xml.toString(); + } - xml.append("SET"); - xml.append("

"); - xml.append("GET"); + /** method to set session values */ + private String setSessionValues(HttpSession session) { + for (int i = 0; i < 10; i++) { + session.setAttribute("test-" + i, "test-" + new Date().getTime()); + } + return getSessionValues(session, "SET"); + } - xml.append(""); - xml.append(""); + /** method to get session values */ + private String getSessionValues(HttpSession session, String action) { + StringBuilder xml = new StringBuilder(); + xml.append(""); + xml.append(""); + xml.append(""); + xml.append(""); + xml.append("tomcat-cluster-redis-session-manager-test"); + xml.append(""); + xml.append(""); + xml.append("

tomcat-cluster-redis-session-manager-test-results

"); + xml.append("

action: "); + xml.append(action); + xml.append("

"); + xml.append(""); + xml.append(""); + xml.append(""); + xml.append(""); + xml.append(""); - return xml.toString(); - } + Enumeration names = session.getAttributeNames(); + while (names.hasMoreElements()) { + String name = names.nextElement(); + xml.append(""); + xml.append(""); + xml.append(""); + xml.append(""); + } - /** - * method to set session values - * - * @param session - * @return - */ - private String setSessionValues(HttpSession session) { - for (int i = 0; i < 10; i++) { - session.setAttribute("test-" + i, "test-" + new Date().getTime()); - } - return getSessionValues(session, "SET"); - } + xml.append("
KeyValue
"); + xml.append(name); + xml.append(""); + xml.append(session.getAttribute(name)); + xml.append("
"); + xml.append(""); + xml.append(""); - /** - * method to get session values - * - * @param session - * @param action - * @return - */ - private String getSessionValues(HttpSession session, String action) { - StringBuffer xml = new StringBuffer(); - xml.append(""); - xml.append(""); - xml.append(""); - xml.append(""); - xml.append("tomcat-cluster-redis-session-manager-test"); - xml.append(""); - xml.append(""); - xml.append("

tomcat-cluster-redis-session-manager-test-results

"); - xml.append("

action: "); - xml.append(action); - xml.append("

"); - xml.append(""); - xml.append(""); - xml.append(""); - xml.append(""); - xml.append(""); + return xml.toString(); + } - Enumeration names = session.getAttributeNames(); - while (names.hasMoreElements()) { - String name = names.nextElement(); - xml.append(""); - xml.append(""); - xml.append(""); - xml.append(""); - } + /** method to get session details */ + private String getSessionDetails() { + SessionDetailsManager manager = SessionManager.getSessionDetailsManagerInstance(); - xml.append("
KeyValue
"); - xml.append(name); - xml.append(""); - xml.append(session.getAttribute(name)); - xml.append("
"); - xml.append(""); - xml.append(""); + StringBuilder xml = new StringBuilder(); + xml.append(""); + xml.append(""); + xml.append(""); + xml.append(""); + xml.append("tomcat-cluster-redis-session-manager-test"); + xml.append(""); + xml.append(""); + xml.append("

tomcat-cluster-redis-session-manager-test-results

"); + xml.append("

count: "); + xml.append(manager.getActiveSessionCount()); + xml.append("

"); +// xml.append(""); +// xml.append(""); +// xml.append(""); +// xml.append(""); +// +// for (String sessionId : manager.getActiveSessionIds()) { +// xml.append(""); +// xml.append(""); +// xml.append(""); +// } +// +// xml.append("
Session ID
"); +// xml.append(sessionId); +// xml.append("
"); + xml.append(""); + xml.append(""); - return xml.toString(); - } + return xml.toString(); + } } \ No newline at end of file