Package pt.arquivo.servlets

Source Code of pt.arquivo.servlets.LogsMinerServlet

package pt.arquivo.servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;

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

import org.apache.log4j.Logger;

import pt.arquivo.logs.arquivo.SqlOperations;


/**
* Servlet implementation to classify sessions
* @author Miguel Costa
*/
public class LogsMinerServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
   
  private static Logger logger=null;
  private static SqlOperations sqlOp=null;
  private static int totalSessions=0;
    
    /**
     * @see HttpServlet#HttpServlet()
     */
    public LogsMinerServlet() {
        super();
    }
   
    /**
     *
     */
    public void init(ServletConfig config) throws ServletException {
        super.init(config);       
        logger = Logger.getLogger(LogsMinerServlet.class.getName());
       
        sqlOp=new SqlOperations();
        try {
      sqlOp.connect("//xxxxx","xxxxx","xxxxx")// hard coded - TODO: parameterize this
      totalSessions=sqlOp.selectTotalSessions();
    }
        catch (ClassNotFoundException e) {
      logger.error(e.getMessage());
      throw new ServletException(e.getMessage());
    }
        catch (SQLException e) {
      logger.error(e.getMessage());
      throw new ServletException(e.getMessage());
    }                 
    }

    /**
     *
     */
    public void destroy() {              
      try {
      sqlOp.close();
    } catch (SQLException e) {
      logger.error(e.getMessage());
    }
    }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {             
    int isession=0;   
    String session=request.getParameter("session");
    String sessionKey=request.getParameter("sessionKey");
    String stype=request.getParameter("type");
    String stopic=request.getParameter("topic");
    String scomments=request.getParameter("comments");
    String sisurl=request.getParameter("isurl");
    String sisbetweendates=request.getParameter("isbetweendates")

    if (session!=null) {
      isession=Integer.parseInt(session);
      // check limits
      if (isession<0) {
        isession=0;
      }
      if (isession>totalSessions-1) {
        isession=totalSessions-1;
      }
    } 
    try {
      if (stype!=null /*&& !stype.equals("null")*/) {
        int itype=Integer.parseInt(stype);
        sqlOp.updateSessionType(itype,sessionKey);
      }
      if (stopic!=null /*&& !stopic.equals("null")*/) {
        int itopic=Integer.parseInt(stopic);
        sqlOp.updateSessionTopic(itopic,sessionKey);
      }
      if (scomments!=null /*&& !scomments.equals("null")*/) {     
        sqlOp.updateSessionComments(scomments,sessionKey);
      }
      if (sisurl!=null /*&& !scomments.equals("null")*/) { 
        int isurl=Integer.parseInt(sisurl);
        sqlOp.updateSessionIsUrl(isurl,sessionKey);
      }
      if (sisbetweendates!=null /*&& !scomments.equals("null")*/) { 
        int isbetweendates=Integer.parseInt(sisbetweendates);
        sqlOp.updateSessionIsBetweenDates(isbetweendates,sessionKey);
      }
    } 
    catch (SQLException e) {
      throw new ServletException(e.getMessage());
    }   
       
    response.setContentType("text/html; charset=UTF-8");
    response.setCharacterEncoding("UTF-8");
   
    PrintWriter out=response.getWriter();
    out.println("<HTML>");
    out.println("<HEAD>");
    out.println("<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html\">");
    out.println("</HEAD>");
    out.println("<BODY>");   
    out.println("TOTAL SESSIONS: "+totalSessions+" <BR>");
             
    String type=null;
    String topic=null;
    String comments=null;
    String isurl=null;
    String isbetweendates=null;
    try {
      int totalSessionsTypeClassified=sqlOp.selectTotalSessionsTypeClassified();
      int totalSessionsTopicClassified=sqlOp.selectTotalSessionsTopicClassified();
      out.println("TOTAL SESSIONS WITH TYPE CLASSIFIED: "+totalSessionsTypeClassified+" <BR>");
      out.println("TOTAL SESSIONS WITH TOPIC CLASSIFIED: "+totalSessionsTopicClassified+" <BR><BR>");
     
      ResultSet results=sqlOp.selectSession(isession);
      if (!results.next()) {
        throw new ServletException("Wrong session: "+isession);
      }
      sessionKey=results.getString(1);
      out.println("SESSION: "+isession+" <BR>");
      out.println("SID: "+results.getString(2)+" <BR>");
      out.println("IP: "+results.getString(3)+" <BR>");
      comments=results.getString(4);
      type=results.getString(5);
      topic=results.getString(6);
      isurl=results.getString(7);
      isbetweendates=results.getString(8)
      results.close();
    }
    catch (SQLException e) {
      throw new ServletException(e.getMessage());
    }     
       
    out.println("<BR>");
    out.println("<table border=\"1\">");
    out.println("<tr>");
    out.println("<td> Date: </td>");
    out.println("<td> Action: </td>");
    out.println("<td> Description: </td>");
    out.println("</tr>");
    try {
      ResultSet results=sqlOp.selectSessionEntries(sessionKey);
      while (results.next()) {
        out.println("<tr>");
        out.println("<td>"+results.getString(1)+"</td>");
        out.println("<td>"+results.getString(2)+"</td>");
        out.println("<td>"+results.getString(3)+"</td>");
        out.println("</tr>");
      }
      results.close();
    }
    catch (SQLException e) {
      throw new ServletException(e.getMessage());
    }   
    out.println("</table>");     
       
    out.println("<BR>");
    out.println("<FORM action=\"LogsMiner\" method=\"get\">");
       
    out.println("TYPE: <select name=\"type\">");   
    try {
      ResultSet results=sqlOp.selectSessionTypes();     
      while (results.next()) {
        if (type!=null && type.equals(""+results.getInt(1))) {
          out.println("<option selected value=\""+results.getInt(1)+"\">"+results.getString(2)+"</option>")
        }       
        else {
          out.println("<option value=\""+results.getInt(1)+"\">"+results.getString(2)+"</option>");
        }     
      }
      results.close();
    }
    catch (SQLException e) {
      throw new ServletException(e.getMessage());
    }       
    out.println("</select>");
    out.println("<BR>");
   
    out.println("IS ONLY URL: <select name=\"isurl\">");       
    //out.println("<option "+((isurl==null || isurl.equals("")) ? "selected" : "")+" value=\""+"\">"+""+"</option>");
    out.println("<option "+((isurl!=null && isurl.equals("0")) ? "selected" : "")+" value=\"0"+"\">"+"No"+"</option>");
    out.println("<option "+((isurl!=null && isurl.equals("1")) ? "selected" : "")+" value=\"1"+"\">"+"Yes"+"</option>");     
    out.println("</select>");
    out.println("<BR>");
   
    out.println("IS BETWEEN DATES: <select name=\"isbetweendates\">");   
    //out.println("<option "+((isbetweendates==null || isbetweendates.equals("")) ? "selected" : "")+" value=\""+"\">"+""+"</option>");
    out.println("<option "+((isbetweendates!=null && isbetweendates.equals("0")) ? "selected" : "")+" value=\"0"+"\">"+"No"+"</option>");
    out.println("<option "+((isbetweendates!=null && isbetweendates.equals("1")) ? "selected" : "")+" value=\"1"+"\">"+"Yes"+"</option>");     
    out.println("</select>");
    out.println("<BR>");   
   
    out.println("TOPIC: <select name=\"topic\">");   
    try {
      ResultSet results=sqlOp.selectSessionTopics();
      int i=1;
      while (results.next()) {
        if (topic!=null && topic.equals(""+results.getInt(1))) {
          out.println("<option value=\""+results.getInt(1)+"\" selected>"+results.getString(2)+"</option>")
        }       
        else {
          out.println("<option value=\""+results.getInt(1)+"\">"+results.getString(2)+"</option>");
        }
      }
      results.close();
    }
    catch (SQLException e) {
      throw new ServletException(e.getMessage());
    }       
    out.println("</select>");
    out.println("<BR>");
             
    out.println("COMMENTS: "+"<input type=\"text\" maxlength=\"500\" size=\"200\" name=\"comments\" value=\""+((comments!=null) ? comments : "")+"\"/>");
    out.println("<BR>");
    out.println("<input type=\"hidden\" name=\"sessionKey\" value=\""+sessionKey+"\">");
    out.println("<input type=\"hidden\" name=\"session\" value=\""+isession+"\">");
    out.println("<input type=\"submit\" value=\"Save\">");
    out.println("</FORM>");
    out.println("<BR>");
   
    out.println("<a href=\"LogsMiner?session="+(isession-1)+"\">previous session</a>");
    out.println("<a href=\"LogsMiner?session="+(isession+1)+"\">next session</a>");
   
    out.println("</BODY>");
    out.println("</HTML>");   
      out.close();
   
   
  }

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

}
TOP

Related Classes of pt.arquivo.servlets.LogsMinerServlet

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.