CLEiM
Cross Lingual Education in Medicine
 All Classes Namespaces Files Functions Variables
NLPServ.java
Go to the documentation of this file.
00001 
00005 package com.uem.gsi.cleim.ali;
00006 
00007 import java.io.IOException;
00008 
00009 import javax.servlet.ServletConfig;
00010 import javax.servlet.ServletException;
00011 import javax.servlet.http.HttpServlet;
00012 import javax.servlet.http.HttpServletRequest;
00013 import javax.servlet.http.HttpServletResponse;
00014 
00015 import com.uem.gsi.cleim.nlp.IntegrateAnnot;
00016 
00020 public class NLPServ extends HttpServlet {
00021         private static final long serialVersionUID = 1L;
00022   private String path;     
00026   public NLPServ() {
00027       super();
00028       // TODO Auto-generated constructor stub
00029   }
00030   public void init(ServletConfig servletConfig) throws ServletException{
00031     super.init(servletConfig);
00032     path = servletConfig.getServletContext().getRealPath("/WEB-INF");
00033   }
00034 
00038         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
00039                 request.setCharacterEncoding("UTF-8");
00040                 response.setContentType("text/html; charset=UTF-8");
00041                 String text=(request.getParameter("text")!=null)?request.getParameter("text"):"";
00042                 String lev=(request.getParameter("lev")!=null)?request.getParameter("lev"):"0";
00043                 String onts=(request.getParameter("onts")!=null)?request.getParameter("onts"):"40397,46116"; //Medlineplus,Snomed
00044                 String src=(request.getParameter("src")!=null)?request.getParameter("src"):"-1";
00045                 String[] localSrc = new String[3];
00046                 localSrc[0]=(request.getParameter("cksrcfb")!=null)?request.getParameter("cksrcfb"):"Freebase";
00047                 localSrc[1]=(request.getParameter("cksrcmp")!=null)?request.getParameter("cksrcmp"):"MedlinePlus";
00048                 localSrc[2]=(request.getParameter("cksrcsc")!=null)?request.getParameter("cksrcsc"):"Snomed";
00049                 String[] localLan = new String[2];;
00050                 localLan[0]=(request.getParameter("cklanen")!=null)?request.getParameter("cklanen"):"en";
00051                 localLan[1]=(request.getParameter("cklansp")!=null)?request.getParameter("cklansp"):"sp";
00052                 String nlpResults="";
00053                 if (text.equals("")){
00054                         nlpResults="Text to annotate can't be null";
00055                 }else{
00056                         //NCBO Ontologies (default is src=4 or -1)
00057                         if (src.equals("2"))
00058                                 onts="40397";
00059                         else if (src.equals("3"))
00060                                 onts="46116";
00061                         IntegrateAnnot ia=new IntegrateAnnot(text,path,onts,lev,localSrc,localLan);
00062                         try {
00063                                 //GATE Annotation
00064                                 if (src.equals("-1")||src.equals("1"))
00065                                         nlpResults=ia.htmlGateTree();
00066                     //NCBO Annotation
00067                                 if (!src.equals("1"))
00068                                         nlpResults+=ia.htmlNCBOTree();
00069                                 
00070             }
00071             catch( Exception e ) {
00072                 nlpResults=e.toString();
00073             }
00074                 }
00075                 request.setAttribute("nlpResults", nlpResults);
00076                 getServletConfig().getServletContext().
00077                         getRequestDispatcher("/nlpresult.jsp").forward(request,response);
00078         }
00079 
00083         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
00084                 doGet(request,response);
00085         }
00086 }