Package controllers

Source Code of controllers.QueryDispatcher

package controllers;

import general.DateOperator;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.hibernate.Session;

import protocol.Query;
import protocol.QueryFactory;
import protocol.Response;
import protocol.ResponseStatus;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import database.Database;


/**
* Servlet implementation class QueryDispatcher
*/
public class QueryDispatcher extends HttpServlet {
  private static final long serialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
    public QueryDispatcher() {
        super();
    }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // http://code.google.com/p/google-gson/
    Session databaseSession = Database.getInstance().getSessionFactory().openSession();
    Gson gson = new GsonBuilder()
       .setDateFormat(DateOperator.getDateFormatString())
       .excludeFieldsWithoutExposeAnnotation()
       .create();
    Response queryResponse = null;
    response.setCharacterEncoding("utf-8");
    PrintWriter out = response.getWriter();
    String queryName = request.getParameter("queryName");
    String queryString = request.getParameter("queryString");
    //System.out.println(">> DEBUG: Got query from user: " + queryName + " => " + queryString);
   
   
    if (queryName != null && queryString != null && queryName.length() > 0 && queryString.length() > 0) {
      Query query = QueryFactory.factory(queryName, queryString);
     
      if (query != null) {
        queryResponse = query.execute(request, databaseSession);
      } else {
        queryResponse = new Response(ResponseStatus.FAIL, "Unknown query requested");
      }

    } else {
      queryResponse = new Response(ResponseStatus.FAIL, "Bad query request");
    }
   
    out.write(gson.toJson(queryResponse));
    out.close();
    databaseSession.close();
  }

}
TOP

Related Classes of controllers.QueryDispatcher

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.