root/SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/www/PLServlet.java

リビジョン 291, 4.6 KB (コミッタ: atsuko, 8 年 前)

小修正

行番号 
1/*
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6
7package org.biohackathon.SPARQLBuilder.www;
8
9import java.io.IOException;
10import java.io.PrintWriter;
11import javax.servlet.ServletException;
12import javax.servlet.annotation.WebServlet;
13import javax.servlet.http.HttpServlet;
14import javax.servlet.http.HttpServletRequest;
15import javax.servlet.http.HttpServletResponse;
16import javax.servlet.http.HttpSession;
17import org.biohackathon.SPARQLBuilder.OWL.*;
18
19/**
20 *
21 * @author atsuko
22 */
23@WebServlet(name = "PLServlet", urlPatterns = {"/plist"})
24public class PLServlet extends HttpServlet {
25
26    private static final String FILENAME = "cdata/";   
27   
28    /**
29     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
30     * methods.
31     *
32     * @param request servlet request
33     * @param response servlet response
34     * @throws ServletException if a servlet-specific error occurs
35     * @throws IOException if an I/O error occurs
36     */
37    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
38            throws ServletException, IOException {
39        response.setContentType("text/html;charset=UTF-8");
40        try (PrintWriter out = response.getWriter()) {
41            /* TODO output your page here. You may use following sample code. */
42            out.println("<!DOCTYPE html>");
43            out.println("<html>");
44            out.println("<head>");
45            out.println("<title>Servlet PLServlet</title>");           
46            out.println("</head>");
47            out.println("<body>");
48            out.println("<h1>Servlet PLServlet at " + request.getContextPath() + "</h1>");
49            out.println("</body>");
50            out.println("</html>");
51        }
52    }
53
54    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
55    /**
56     * Handles the HTTP <code>GET</code> method.
57     *
58     * @param request servlet request
59     * @param response servlet response
60     * @throws ServletException if a servlet-specific error occurs
61     * @throws IOException if an I/O error occurs
62     */
63    @Override
64    protected void doGet(HttpServletRequest request, HttpServletResponse response)
65            throws ServletException, IOException {
66        //processRequest(request, response);
67        response.setContentType("application/json;charset=UTF-8");
68        response.setHeader("Access-Control-Allow-Origin", "*");
69        response.setHeader("Access-Control-Allow-Methods", "GET");
70        response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));
71        response.setHeader("Access-Control-Max-Age", "-1");
72        PrintWriter out = response.getWriter();
73        String ep = request.getParameter("ep");
74        String st = request.getParameter("startclass");
75        String en = request.getParameter("endclass");
76       
77        // String
78        String uri = request.getQueryString();
79        System.out.println(uri);
80       
81        HttpSession session = request.getSession();
82        QueryPathGenerator qpg = new QueryPathGenerator(ep);
83        SClass[] classes = qpg.getClasses(null);
84        qpg.setClassLabels(classes);
85       
86        Path[] paths = null;
87        paths = qpg.getPaths(st, en);   
88        if ( paths == null ){
89            out.print(" ");
90        }else{
91            String jsonstr = "[";
92            for(int i = 0; i< paths.length; i++){
93                if (i > 0 && paths[i] != null){
94                    jsonstr += ",";
95                }
96                if ( paths[i] == null ){
97                    continue;
98                }
99                jsonstr += paths[i].toJSONString4(qpg);
100            }
101            jsonstr += "]";
102        // For debug
103        /*
104        System.out.println("JSON:");
105        System.out.println(jsonstr);
106        */
107            out.print(jsonstr);
108        }
109    }
110
111    /**
112     * Handles the HTTP <code>POST</code> method.
113     *
114     * @param request servlet request
115     * @param response servlet response
116     * @throws ServletException if a servlet-specific error occurs
117     * @throws IOException if an I/O error occurs
118     */
119    @Override
120    protected void doPost(HttpServletRequest request, HttpServletResponse response)
121            throws ServletException, IOException {
122        processRequest(request, response);
123    }
124
125    /**
126     * Returns a short description of the servlet.
127     *
128     * @return a String containing servlet description
129     */
130    @Override
131    public String getServletInfo() {
132        return "Short description";
133    }// </editor-fold>
134
135}
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。