Advertisement
Guest User

Untitled

a guest
Nov 26th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.59 KB | None | 0 0
  1. import java.io.*;
  2. import javax.servlet.*;
  3. import javax.servlet.http.*;
  4. //TODO import Dao, member, DBConnection etc...
  5.  
  6.  
  7. /**
  8.  * In current implementation login is handled from client side, for productivity sake and its temporary.
  9.  * Rpc Servlet communicates with post requests with UDAS database client in JSON format:
  10.  *
  11.  *  {key : {param1, param2}}
  12.  *
  13.  * Where params can be valid json objects too or lists
  14.  */
  15. public class RpcServlet extends HttpServlet{
  16.  
  17.     DataAdapter sqlAdapter = new MySqlAdapter();
  18.     String databaseUser = "root";
  19.     String databasePassword = "";
  20.    
  21.     @Override
  22.     public void doGet(HttpServletRequest request, HttpServletResponse response)
  23.     throws IOException, ServletException{
  24.         doPost(request, response);
  25.     }
  26.  
  27.     @Override
  28.     public void doPost(HttpServletRequest request, HttpServletResponse response)
  29.     throws IOException, ServletException{
  30.  
  31.         response.setContentType("text/html");
  32.            
  33.         //This whole connection manager thing is stupid - TODO in version two alongside with token login system
  34.         ConnectionManager.connect(username, password);
  35.  
  36.         JSONOBject responseAsJSON = toJSONObject(request.getReader());
  37.        
  38.         //TODO get first key from json object
  39.         String command = "a"; // responseAsJSON.getKey();
  40.        
  41.         switch(command){
  42.            
  43.             case "addMember": // For example - name has to be same as in DAO
  44.                 Member newMember = jsonToMemberObject(jsonResponse.getValue());
  45.                 boolean succeed = sqlAdapter.addMember(newMember);
  46.                 //buildResponse(command, succeed); //TODO
  47.  
  48.                 break;
  49.             case "TODO":
  50.                 //rest of commands
  51.                 break;
  52.        
  53.                 // ...
  54.        
  55.             default:
  56.                 //malformed command response failed or something!
  57.         }
  58.  
  59.     }
  60.  
  61.     /**
  62.      * TODO try-with-hecking-resources !
  63.      *  Also belongs to some utility class
  64.      * @param reader
  65.      * @return
  66.      */
  67.     public JSONObject toJSONObject(BufferedReader reader){
  68.         StringBuffer jb = new StringBuffer();
  69.         String line = null;
  70.         try {
  71.        
  72.           while ((line = reader.readLine()) != null)
  73.             jb.append(line);
  74.         } catch (Exception e) { /*report an error*/ }
  75.      
  76.         try {
  77.           JSONObject jsonObject =  HTTP.toJSONObject(jb.toString());
  78.         } catch (JSONException e) {
  79.           // crash and burn
  80.           throw new IOException("Error parsing JSON request string");
  81.         }
  82.     }
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement