extensions/net.sf.basedb.varsearch/trunk/src/net/sf/basedb/varsearch/servlet/SessionServlet.java

Code
Comments
Other
Rev Date Author Line
6160 04 Mar 21 nicklas 1 package net.sf.basedb.varsearch.servlet;
6160 04 Mar 21 nicklas 2
6160 04 Mar 21 nicklas 3 import java.io.IOException;
6160 04 Mar 21 nicklas 4
6160 04 Mar 21 nicklas 5 import javax.servlet.ServletException;
6160 04 Mar 21 nicklas 6 import javax.servlet.http.HttpServlet;
6160 04 Mar 21 nicklas 7 import javax.servlet.http.HttpServletRequest;
6160 04 Mar 21 nicklas 8 import javax.servlet.http.HttpServletResponse;
6160 04 Mar 21 nicklas 9
6189 29 Mar 21 nicklas 10 import org.json.simple.JSONArray;
6160 04 Mar 21 nicklas 11 import org.json.simple.JSONObject;
6160 04 Mar 21 nicklas 12
6160 04 Mar 21 nicklas 13 import net.sf.basedb.core.DbControl;
6160 04 Mar 21 nicklas 14 import net.sf.basedb.core.SessionControl;
6160 04 Mar 21 nicklas 15 import net.sf.basedb.util.Values;
6160 04 Mar 21 nicklas 16 import net.sf.basedb.util.error.ThrowableUtil;
6160 04 Mar 21 nicklas 17 import net.sf.basedb.varsearch.JsonUtil;
6160 04 Mar 21 nicklas 18 import net.sf.basedb.varsearch.VarSearch;
6160 04 Mar 21 nicklas 19
6160 04 Mar 21 nicklas 20 /**
6160 04 Mar 21 nicklas 21   Get information about the current session.
6160 04 Mar 21 nicklas 22   
6160 04 Mar 21 nicklas 23 */
6160 04 Mar 21 nicklas 24 public class SessionServlet 
6160 04 Mar 21 nicklas 25   extends HttpServlet 
6160 04 Mar 21 nicklas 26 {
6160 04 Mar 21 nicklas 27
6160 04 Mar 21 nicklas 28   private static final long serialVersionUID = -3842354795495914729L;
6160 04 Mar 21 nicklas 29
6160 04 Mar 21 nicklas 30   public SessionServlet()
6160 04 Mar 21 nicklas 31   {}
6160 04 Mar 21 nicklas 32
6160 04 Mar 21 nicklas 33   @Override
6160 04 Mar 21 nicklas 34   protected void doGet(HttpServletRequest req, HttpServletResponse resp)
6160 04 Mar 21 nicklas 35     throws ServletException, IOException 
6160 04 Mar 21 nicklas 36   {
6160 04 Mar 21 nicklas 37     String cmd = req.getParameter("cmd");
6160 04 Mar 21 nicklas 38     JsonUtil.setJsonResponseHeaders(resp);
6160 04 Mar 21 nicklas 39     
6160 04 Mar 21 nicklas 40     JSONObject json = new JSONObject();
6160 04 Mar 21 nicklas 41     json.put("status", "ok");
6160 04 Mar 21 nicklas 42   
6160 04 Mar 21 nicklas 43     SessionControl sc = null;
6160 04 Mar 21 nicklas 44     DbControl dc = null;
6160 04 Mar 21 nicklas 45     try
6160 04 Mar 21 nicklas 46     {
6160 04 Mar 21 nicklas 47       if ("CheckIsAdmin".equals(cmd))
6160 04 Mar 21 nicklas 48       {
6160 04 Mar 21 nicklas 49         String message = Values.getString(req.getParameter("message"), "this wizard");
6160 04 Mar 21 nicklas 50         sc = VarSearch.getSessionControl(req);
6160 04 Mar 21 nicklas 51         VarSearch.checkIsAdmin(sc, message);
6160 04 Mar 21 nicklas 52       }
6160 04 Mar 21 nicklas 53     }
6160 04 Mar 21 nicklas 54     catch (Throwable t)
6160 04 Mar 21 nicklas 55     {
6160 04 Mar 21 nicklas 56       t.printStackTrace();
6160 04 Mar 21 nicklas 57       json.clear();
6160 04 Mar 21 nicklas 58       json.put("status", "error");
6160 04 Mar 21 nicklas 59       json.put("message", t.getMessage());
6160 04 Mar 21 nicklas 60       json.put("stacktrace", ThrowableUtil.stackTraceToString(t));
6160 04 Mar 21 nicklas 61     }
6160 04 Mar 21 nicklas 62     finally
6160 04 Mar 21 nicklas 63     {
6160 04 Mar 21 nicklas 64       if (dc != null) dc.close();
6160 04 Mar 21 nicklas 65       json.writeJSONString(resp.getWriter());
6160 04 Mar 21 nicklas 66     }
6160 04 Mar 21 nicklas 67     
6160 04 Mar 21 nicklas 68   }
6160 04 Mar 21 nicklas 69
6189 29 Mar 21 nicklas 70   @Override
6189 29 Mar 21 nicklas 71   protected void doPost(HttpServletRequest req, HttpServletResponse resp)
6189 29 Mar 21 nicklas 72     throws ServletException, IOException 
6189 29 Mar 21 nicklas 73   {
6189 29 Mar 21 nicklas 74     String cmd = req.getParameter("cmd");
6189 29 Mar 21 nicklas 75     JsonUtil.setJsonResponseHeaders(resp);
6189 29 Mar 21 nicklas 76     
6189 29 Mar 21 nicklas 77     JSONObject json = new JSONObject();
6189 29 Mar 21 nicklas 78     json.put("status", "ok");
6189 29 Mar 21 nicklas 79     JSONArray jsonMessages = new JSONArray();
6160 04 Mar 21 nicklas 80   
6189 29 Mar 21 nicklas 81     final SessionControl sc = VarSearch.getSessionControl(req);
6189 29 Mar 21 nicklas 82     DbControl dc = null;
6189 29 Mar 21 nicklas 83     try
6189 29 Mar 21 nicklas 84     {
6189 29 Mar 21 nicklas 85       if ("SetVisibleColumns".equals(cmd))
6189 29 Mar 21 nicklas 86       {
6189 29 Mar 21 nicklas 87         String indexId = Values.getString(req.getParameter("indexId"), "filtered");
6189 29 Mar 21 nicklas 88         String visibleColumns = Values.getStringOrNull(req.getParameter("visibleColumns"));
6189 29 Mar 21 nicklas 89         sc.setUserClientSetting("net.sf.basedb.varsearch.visible-columns."+indexId, visibleColumns);
6189 29 Mar 21 nicklas 90       }
6189 29 Mar 21 nicklas 91
6189 29 Mar 21 nicklas 92       json.put("messages", jsonMessages);
6189 29 Mar 21 nicklas 93     }
6189 29 Mar 21 nicklas 94     catch (Throwable t)
6189 29 Mar 21 nicklas 95     {
6189 29 Mar 21 nicklas 96       t.printStackTrace();
6189 29 Mar 21 nicklas 97       json.clear();
6189 29 Mar 21 nicklas 98       json.put("status", "error");
6189 29 Mar 21 nicklas 99       json.put("message", t.getMessage());
6189 29 Mar 21 nicklas 100       json.put("stacktrace", ThrowableUtil.stackTraceToString(t));
6189 29 Mar 21 nicklas 101     }
6189 29 Mar 21 nicklas 102     finally
6189 29 Mar 21 nicklas 103     {
6189 29 Mar 21 nicklas 104       if (dc != null) dc.close();
6189 29 Mar 21 nicklas 105       json.writeJSONString(resp.getWriter());
6189 29 Mar 21 nicklas 106     }
6189 29 Mar 21 nicklas 107   }
6160 04 Mar 21 nicklas 108 }