/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.biohackathon.SPARQLBuilder.www; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.biohackathon.SPARQLBuilder.OWL.*; import javax.json.*; import java.util.*; //import java.io.*; /** * * @author atsuko */ @WebServlet(name = "EPServlet", urlPatterns = {"/eplist"}) public class EPServlet extends HttpServlet { private static final String FILENAME = "cdata/"; /** * Processes requests for both HTTP GET and POST * methods. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { /* TODO output your page here. You may use following sample code. */ out.println(""); out.println(""); out.println(""); out.println("Servlet EPServlet"); out.println(""); out.println(""); out.println("

Servlet EPServlet at " + request.getContextPath() + "

"); out.println(""); out.println(""); } } // /** * Handles the HTTP GET method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); // Initialize the session session.removeAttribute("qpg"); //session.removeAttribute("graph"); QueryPathGenerator qpg = new QueryPathGenerator(); response.setContentType("application/json;charset=UTF-8"); response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "GET"); response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers")); response.setHeader("Access-Control-Max-Age", "-1"); PrintWriter out = response.getWriter(); String[] elist = qpg.getFactory().getEndpointURIList(); SortedSet sortedelist = new TreeSet(); for (int i = 0; i < elist.length; i++ ){ sortedelist.add(elist[i]); } JsonBuilderFactory jbfactory = Json.createBuilderFactory(null); JsonArrayBuilder jab = jbfactory.createArrayBuilder(); Iterator eit = sortedelist.iterator(); while( eit.hasNext() ){ jab.add(eit.next()); } JsonArray ja = jab.build(); out.print(ja); session.setAttribute("qpg", qpg); } /** * Handles the HTTP POST method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. * * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// }