Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java')
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java475
1 files changed, 237 insertions, 238 deletions
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java
index 6b38c422b59..efe6109ee88 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java
@@ -42,262 +42,261 @@ import org.eclipse.osee.framework.manager.servlet.internal.Activator;
*/
public class SystemManagerServlet extends UnsecuredOseeHttpServlet {
- private static final long serialVersionUID = 3334123351267606890L;
+ private static final long serialVersionUID = 3334123351267606890L;
- private static enum Command {
- user,
- delete,
- alive,
- invalid,
- overview;
- }
+ private static enum Command {
+ user,
+ delete,
+ alive,
+ invalid,
+ overview;
+ }
- private final ISessionManager sessionManager;
+ private final ISessionManager sessionManager;
- public SystemManagerServlet(ISessionManager sessionManager) {
- this.sessionManager = sessionManager;
- }
+ public SystemManagerServlet(ISessionManager sessionManager) {
+ this.sessionManager = sessionManager;
+ }
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- try {
- Command command = Command.overview;
- String cmd = request.getParameter("cmd");
- if (Strings.isValid(cmd)) {
- command = Command.valueOf(cmd);
- }
- switch (command) {
- case user:
- displayUser(request, response);
- break;
- case delete:
- deleteSession(request, response);
- break;
- case alive:
- sessionAlive(request, response);
- break;
- default:
- displayOverview(request, response);
- break;
- }
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error processing request for protocols [%s]", request.toString()), ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- response.getWriter().write(Lib.exceptionToString(ex));
- } finally {
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ try {
+ Command command = Command.overview;
+ String cmd = request.getParameter("cmd");
+ if (Strings.isValid(cmd)) {
+ command = Command.valueOf(cmd);
+ }
+ switch (command) {
+ case user:
+ displayUser(request, response);
+ break;
+ case delete:
+ deleteSession(request, response);
+ break;
+ case alive:
+ sessionAlive(request, response);
+ break;
+ default:
+ displayOverview(request, response);
+ break;
+ }
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error processing request for protocols [%s]", request.toString()), ex);
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ response.getWriter().write(Lib.exceptionToString(ex));
+ } finally {
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
- private void displayOverview(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String requestAddress = request.getLocalAddr();
- String requestPort = String.valueOf(request.getLocalPort());
+ private void displayOverview(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ String requestAddress = request.getLocalAddr();
+ String requestPort = String.valueOf(request.getLocalPort());
- StringBuffer sb = new StringBuffer(1000);
- try {
- sb.append(AHTML.heading(2, "OSEE Dashboard"));
- sb.append(createAnchor(AnchorType.MANAGER_HOME_ANCHOR, null, requestAddress, requestPort));
- sb.append(AHTML.newline(2));
- sb.append(getSessionByUserIdEntry(request, response));
- sb.append(getSessions(requestAddress, requestPort));
- } catch (Exception ex) {
- sb.append("Exception: ");
- sb.append(Lib.exceptionToString(ex));
- }
- displayResults(sb.toString(), request, response);
- }
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ sb.append(AHTML.heading(2, "OSEE Dashboard"));
+ sb.append(createAnchor(AnchorType.MANAGER_HOME_ANCHOR, null, requestAddress, requestPort));
+ sb.append(AHTML.newline(2));
+ sb.append(getSessionByUserIdEntry(request, response));
+ sb.append(getSessions(requestAddress, requestPort));
+ } catch (Exception ex) {
+ sb.append("Exception: ");
+ sb.append(Lib.exceptionToString(ex));
+ }
+ displayResults(sb.toString(), request, response);
+ }
- private String getSessionByUserIdEntry(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- StringBuffer sb = new StringBuffer(1000);
- try {
- sb.append("<form METHOD=GET ACTION=\"http://" + request.getLocalAddr() + ":" + request.getLocalPort() + "/osee/manager\">");
- sb.append("By UserId: <input TYPE=\"text\" NAME=\"userId\" SIZE=\"10\" MAXLENGTH=\"10\">");
- sb.append("<input TYPE=\"hidden\" NAME=\"cmd\" VALUE=\"user\">");
- sb.append("<INPUT TYPE=SUBMIT></form>");
- } catch (Exception ex) {
- sb.append("Exception: ");
- sb.append(Lib.exceptionToString(ex));
- }
- return sb.toString();
- }
+ private String getSessionByUserIdEntry(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ sb.append("<form METHOD=GET ACTION=\"http://" + request.getLocalAddr() + ":" + request.getLocalPort() + "/osee/manager\">");
+ sb.append("By UserId: <input TYPE=\"text\" NAME=\"userId\" SIZE=\"10\" MAXLENGTH=\"10\">");
+ sb.append("<input TYPE=\"hidden\" NAME=\"cmd\" VALUE=\"user\">");
+ sb.append("<INPUT TYPE=SUBMIT></form>");
+ } catch (Exception ex) {
+ sb.append("Exception: ");
+ sb.append(Lib.exceptionToString(ex));
+ }
+ return sb.toString();
+ }
- private void displayUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- StringBuffer sb = new StringBuffer(1000);
- try {
- HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
- String requestAddress = request.getLocalAddr();
- String requestPort = String.valueOf(request.getLocalPort());
- String userId = info.getUserId();
- if (!Strings.isValid(userId)) {
- sb.append("Invalid userId [" + userId + "]");
- } else {
- sb.append(AHTML.heading(2, "OSEE System Manager"));
- sb.append(createAnchor(AnchorType.MANAGER_HOME_ANCHOR, null, requestAddress, requestPort));
- sb.append(AHTML.newline(1));
- sb.append(getSessionsByUserId(userId, requestAddress, requestPort));
- }
- } catch (Exception ex) {
- sb.append("Exception: ");
- sb.append(Lib.exceptionToString(ex));
- }
- displayResults(sb.toString(), request, response);
- }
+ private void displayUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
+ String requestAddress = request.getLocalAddr();
+ String requestPort = String.valueOf(request.getLocalPort());
+ String userId = info.getUserId();
+ if (!Strings.isValid(userId)) {
+ sb.append("Invalid userId [" + userId + "]");
+ } else {
+ sb.append(AHTML.heading(2, "OSEE System Manager"));
+ sb.append(createAnchor(AnchorType.MANAGER_HOME_ANCHOR, null, requestAddress, requestPort));
+ sb.append(AHTML.newline(1));
+ sb.append(getSessionsByUserId(userId, requestAddress, requestPort));
+ }
+ } catch (Exception ex) {
+ sb.append("Exception: ");
+ sb.append(Lib.exceptionToString(ex));
+ }
+ displayResults(sb.toString(), request, response);
+ }
- private void deleteSession(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- StringBuffer sb = new StringBuffer(1000);
- try {
- HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
- if (!Strings.isValid(info.getSessionId())) {
- sb.append("Invalid userId [" + info.getSessionId() + "]");
- } else {
- sessionManager.releaseSessionImmediate(info.getSessionId());
- sb.append("Deleted session [" + info.getSessionId() + "]");
- }
- } catch (OseeCoreException ex) {
- sb.append("Exception: " + ex.getLocalizedMessage());
- }
- displayResults(sb.toString(), request, response);
- }
+ private void deleteSession(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
+ if (!Strings.isValid(info.getSessionId())) {
+ sb.append("Invalid userId [" + info.getSessionId() + "]");
+ } else {
+ sessionManager.releaseSessionImmediate(info.getSessionId());
+ sb.append("Deleted session [" + info.getSessionId() + "]");
+ }
+ } catch (OseeCoreException ex) {
+ sb.append("Exception: " + ex.getLocalizedMessage());
+ }
+ displayResults(sb.toString(), request, response);
+ }
- private void sessionAlive(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- StringBuffer sb = new StringBuffer(1000);
- try {
- HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
- if (!Strings.isValid(info.getSessionId())) {
- sb.append("Invalid userId [" + info.getSessionId() + "]");
- } else {
- try {
- ISession session = sessionManager.getSessionById(info.getSessionId());
- if (session == null) {
- sb.append("Can't retrieve SessionData for [" + info.getSessionId() + "]");
- return;
- }
- String clientAddress = session.getClientAddress();
- String clientPort = String.valueOf(session.getClientPort());
- String url = String.format("http://%s:%s/osee/request?cmd=pingId", clientAddress, clientPort);
- String responseStr = HttpProcessor.acquireString(new URL(url));
- if (responseStr == null || responseStr.equals("")) {
- sb.append("[" + info.getSessionId() + "] not responding to info request");
- } else if (!responseStr.contains(info.getSessionId())) {
- sb.append("NOT ALIVE - [" + info.getSessionId() + "] (response, but mismatched sessionId)");
- } else {
- sb.append("ALIVE - [" + info.getSessionId() + "]");
- }
- } catch (Exception ex) {
- OseeLog.log(this.getClass(), Level.SEVERE, ex);
- sb.append("Exception: " + ex.getLocalizedMessage());
- }
- }
- } catch (OseeCoreException ex) {
- sb.append("Exception: " + ex.getLocalizedMessage());
- }
- displayResults(sb.toString(), request, response);
- }
+ private void sessionAlive(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
+ if (!Strings.isValid(info.getSessionId())) {
+ sb.append("Invalid userId [" + info.getSessionId() + "]");
+ } else {
+ try {
+ ISession session = sessionManager.getSessionById(info.getSessionId());
+ if (session == null) {
+ sb.append("Can't retrieve SessionData for [" + info.getSessionId() + "]");
+ return;
+ }
+ String clientAddress = session.getClientAddress();
+ String clientPort = String.valueOf(session.getClientPort());
+ String url = String.format("http://%s:%s/osee/request?cmd=pingId", clientAddress, clientPort);
+ String responseStr = HttpProcessor.acquireString(new URL(url));
+ if (responseStr == null || responseStr.equals("")) {
+ sb.append("[" + info.getSessionId() + "] not responding to info request");
+ } else if (!responseStr.contains(info.getSessionId())) {
+ sb.append("NOT ALIVE - [" + info.getSessionId() + "] (response, but mismatched sessionId)");
+ } else {
+ sb.append("ALIVE - [" + info.getSessionId() + "]");
+ }
+ } catch (Exception ex) {
+ OseeLog.log(this.getClass(), Level.SEVERE, ex);
+ sb.append("Exception: " + ex.getLocalizedMessage());
+ }
+ }
+ } catch (OseeCoreException ex) {
+ sb.append("Exception: " + ex.getLocalizedMessage());
+ }
+ displayResults(sb.toString(), request, response);
+ }
- private void displayResults(String results, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- try {
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentType("text/html");
- response.setCharacterEncoding("UTF-8");
- response.getWriter().write(results + AHTML.newline() + "As of: " + new Date());
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error processing request for protocols [%s]", request.toString()), ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- response.getWriter().write(Lib.exceptionToString(ex));
- } finally {
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
+ private void displayResults(String results, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ try {
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentType("text/html");
+ response.setCharacterEncoding("UTF-8");
+ response.getWriter().write(results + AHTML.newline() + "As of: " + new Date());
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error processing request for protocols [%s]", request.toString()), ex);
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ response.getWriter().write(Lib.exceptionToString(ex));
+ } finally {
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
- private String getSessions(String requestAddress, String requestPort) throws Exception {
- Collection<ISession> sessionData = sessionManager.getAllSessions(true);
- return createSessionTable(sessionData, "Sessions", requestAddress, requestPort);
- }
+ private String getSessions(String requestAddress, String requestPort) throws Exception {
+ Collection<ISession> sessionData = sessionManager.getAllSessions(true);
+ return createSessionTable(sessionData, "Sessions", requestAddress, requestPort);
+ }
- private String getSessionsByUserId(String userId, String requestAddress, String requestPort) throws Exception {
- Collection<ISession> sessionData = sessionManager.getSessionsByUserId(userId, true);
- return createSessionTable(sessionData, "Sessions for [" + userId + "]", requestAddress, requestPort);
- }
+ private String getSessionsByUserId(String userId, String requestAddress, String requestPort) throws Exception {
+ Collection<ISession> sessionData = sessionManager.getSessionsByUserId(userId, true);
+ return createSessionTable(sessionData, "Sessions for [" + userId + "]", requestAddress, requestPort);
+ }
- private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm a");
+ private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm a");
- enum AnchorType {
- INFO_ANCHOR,
- ALIVE_ANCHOR,
- LOG_ANCHOR,
- DELETE_ANCHOR,
- MANAGER_HOME_ANCHOR;
- }
+ enum AnchorType {
+ INFO_ANCHOR,
+ ALIVE_ANCHOR,
+ LOG_ANCHOR,
+ DELETE_ANCHOR,
+ MANAGER_HOME_ANCHOR;
+ }
- private String createAnchor(AnchorType anchorType, String sessionId, String address, String port) throws UnsupportedEncodingException {
- String toReturn = Strings.emptyString();
- switch (anchorType) {
- case INFO_ANCHOR:
- toReturn = String.format("<a href=\"http://%s:%s/osee/request?cmd=info\">info</a>", address, port);
- break;
- case LOG_ANCHOR:
- toReturn = String.format("<a href=\"http://%s:%s/osee/request?cmd=log\">log</a>", address, port);
- break;
- case ALIVE_ANCHOR:
- String eSessionId = URLEncoder.encode(sessionId, "UTF-8");
- toReturn =
- String.format("<a href=\"http://%s:%s/%s?cmd=alive&sessionId=%s\">alive</a>", address, port,
- OseeServerContext.MANAGER_CONTEXT, eSessionId);
- break;
- case DELETE_ANCHOR:
- String encodedSessionId = URLEncoder.encode(sessionId, "UTF-8");
- toReturn =
- String.format("<a href=\"http://%s:%s/%s?cmd=delete&sessionId=%s\">delete</a>", address, port,
- OseeServerContext.MANAGER_CONTEXT, encodedSessionId);
- break;
- case MANAGER_HOME_ANCHOR:
- toReturn =
- String.format("<a href=\"http://%s:%s/%s\">Home</a>", address, port,
- OseeServerContext.MANAGER_CONTEXT);
- break;
- default:
- break;
- }
- return toReturn;
- }
+ private String createAnchor(AnchorType anchorType, String sessionId, String address, String port) throws UnsupportedEncodingException {
+ String toReturn = Strings.emptyString();
+ switch (anchorType) {
+ case INFO_ANCHOR:
+ toReturn = String.format("<a href=\"http://%s:%s/osee/request?cmd=info\">info</a>", address, port);
+ break;
+ case LOG_ANCHOR:
+ toReturn = String.format("<a href=\"http://%s:%s/osee/request?cmd=log\">log</a>", address, port);
+ break;
+ case ALIVE_ANCHOR:
+ String eSessionId = URLEncoder.encode(sessionId, "UTF-8");
+ toReturn =
+ String.format("<a href=\"http://%s:%s/%s?cmd=alive&sessionId=%s\">alive</a>", address, port,
+ OseeServerContext.MANAGER_CONTEXT, eSessionId);
+ break;
+ case DELETE_ANCHOR:
+ String encodedSessionId = URLEncoder.encode(sessionId, "UTF-8");
+ toReturn =
+ String.format("<a href=\"http://%s:%s/%s?cmd=delete&sessionId=%s\">delete</a>", address, port,
+ OseeServerContext.MANAGER_CONTEXT, encodedSessionId);
+ break;
+ case MANAGER_HOME_ANCHOR:
+ toReturn =
+ String.format("<a href=\"http://%s:%s/%s\">Home</a>", address, port, OseeServerContext.MANAGER_CONTEXT);
+ break;
+ default:
+ break;
+ }
+ return toReturn;
+ }
- private String createSessionTable(Collection<ISession> sessionDatas, String title, String requestAddress, String requestPort) throws Exception {
- StringBuffer sb = new StringBuffer(1000);
- sb.append(AHTML.heading(3, title));
- sb.append(AHTML.beginMultiColumnTable(100, 1));
- sb.append(AHTML.addHeaderRowMultiColumnTable(new String[] {"Created", "Cmds", "User", "Version", "Machine",
- "Last Interaction", "IP", "Port", "Delete"}));
+ private String createSessionTable(Collection<ISession> sessionDatas, String title, String requestAddress, String requestPort) throws Exception {
+ StringBuffer sb = new StringBuffer(1000);
+ sb.append(AHTML.heading(3, title));
+ sb.append(AHTML.beginMultiColumnTable(100, 1));
+ sb.append(AHTML.addHeaderRowMultiColumnTable(new String[] {"Created", "Cmds", "User", "Version", "Machine",
+ "Last Interaction", "IP", "Port", "Delete"}));
- List<String> items = new ArrayList<String>();
- for (ISession session : sessionDatas) {
- String sessionId = session.getGuid();
- String clientAddress = session.getClientAddress();
- String clientPort = String.valueOf(session.getClientPort());
+ List<String> items = new ArrayList<String>();
+ for (ISession session : sessionDatas) {
+ String sessionId = session.getGuid();
+ String clientAddress = session.getClientAddress();
+ String clientPort = String.valueOf(session.getClientPort());
- items.add(AHTML.addRowMultiColumnTable(new String[] {dateFormat.format(session.getCreationDate()),
- createCmds(sessionId, clientAddress, clientPort, requestAddress, requestPort), session.getUserId(),
- session.getClientVersion(), session.getClientMachineName(),
- dateFormat.format(session.getLastInteractionDate()), clientAddress, clientPort,
- createAnchor(AnchorType.DELETE_ANCHOR, sessionId, requestAddress, requestPort)}));
- }
- String[] sortedItems = items.toArray(new String[items.size()]);
- Arrays.sort(sortedItems);
- for (int x = sortedItems.length - 1; x >= 0; x--) {
- sb.append(sortedItems[x]);
- }
- sb.append(AHTML.endMultiColumnTable());
- return sb.toString();
- }
+ items.add(AHTML.addRowMultiColumnTable(new String[] {dateFormat.format(session.getCreationDate()),
+ createCmds(sessionId, clientAddress, clientPort, requestAddress, requestPort), session.getUserId(),
+ session.getClientVersion(), session.getClientMachineName(),
+ dateFormat.format(session.getLastInteractionDate()), clientAddress, clientPort,
+ createAnchor(AnchorType.DELETE_ANCHOR, sessionId, requestAddress, requestPort)}));
+ }
+ String[] sortedItems = items.toArray(new String[items.size()]);
+ Arrays.sort(sortedItems);
+ for (int x = sortedItems.length - 1; x >= 0; x--) {
+ sb.append(sortedItems[x]);
+ }
+ sb.append(AHTML.endMultiColumnTable());
+ return sb.toString();
+ }
- private String createCmds(String sessionId, String clientAddress, String clientPort, String requestAddress, String requestPort) throws Exception {
- return createAnchor(AnchorType.ALIVE_ANCHOR, sessionId, requestAddress, requestPort) + " - " + createAnchor(
- AnchorType.INFO_ANCHOR, sessionId, clientAddress, clientPort) + " - " + createAnchor(
- AnchorType.LOG_ANCHOR, sessionId, clientAddress, clientPort);
- }
+ private String createCmds(String sessionId, String clientAddress, String clientPort, String requestAddress, String requestPort) throws Exception {
+ return createAnchor(AnchorType.ALIVE_ANCHOR, sessionId, requestAddress, requestPort) + " - " + createAnchor(
+ AnchorType.INFO_ANCHOR, sessionId, clientAddress, clientPort) + " - " + createAnchor(AnchorType.LOG_ANCHOR,
+ sessionId, clientAddress, clientPort);
+ }
}

Back to the top