Project

General

Profile

1 46 jones
import java.io.PrintWriter;
2
import java.io.IOException;
3
import java.util.Enumeration;
4
import java.util.Hashtable;
5
6
import javax.servlet.ServletConfig;
7
import javax.servlet.ServletContext;
8
import javax.servlet.ServletException;
9
import javax.servlet.http.HttpServlet;
10
import javax.servlet.http.HttpServletRequest;
11
import javax.servlet.http.HttpServletResponse;
12 47 jones
import javax.servlet.http.HttpUtils;
13 46 jones
14
/**
15
 * A metadata catalog server implemented as a Java Servlet
16
 */
17
public class MetaCatServlet extends HttpServlet {
18
19
  private ServletConfig		config = null;
20
  private ServletContext	context = null;
21
  DBSimpleQuery		queryobj = null;
22
  static  String 	user = "jones";
23
  static  String 	password = "your-pw-goes-here";
24
  static  String 	defaultDB = "jdbc:oracle:thin:@localhost:1521:test";
25
26
  public void init( ServletConfig config ) throws ServletException {
27
    try {
28
      super.init( config );
29
      this.config = config;
30
      this.context = config.getServletContext();
31
32
      try {
33
        queryobj = new DBSimpleQuery(user, password, defaultDB);
34
      } catch (Exception e) {
35
      }
36
    } catch ( ServletException ex ) {
37
      throw ex;
38
    }
39
  }
40
41
  public void doGet (HttpServletRequest request, HttpServletResponse response)
42
    throws ServletException, IOException {
43
44
    PrintWriter out;
45
46 47 jones
    // Get the parameters from the form
47
    String querystring = request.getQueryString();
48
    Hashtable params = HttpUtils.parseQueryString(querystring);
49
    String[] query = (String[])params.get("query");
50
51 46 jones
    // Run the query
52 47 jones
    Hashtable nodelist = queryobj.findRootNodes(query[0]);
53 46 jones
54
    // set content type and other response header fields first
55
    response.setContentType("text/xml");
56
57
    // then write the data of the response
58
    out = response.getWriter();
59
60
    // Print the reulting root nodes
61
    long nodeid;
62
    out.println("<?xml version=\"1.0\"?>\n");
63
    out.println("<resultset>\n");
64 47 jones
    out.println("  <query>" + query[0] + "</query>");
65 46 jones
    Enumeration rootlist = nodelist.keys();
66
    while (rootlist.hasMoreElements()) {
67
      nodeid = ((Long)rootlist.nextElement()).longValue();
68
      out.println("  <nodeid>" + nodeid + "</nodeid>");
69
    }
70
    out.println("</resultset>");
71
72
    out.close();
73
  }
74
75 47 jones
  public void doPost( HttpServletRequest request, HttpServletResponse response)
76 46 jones
    throws ServletException, IOException {
77 47 jones
78
    PrintWriter out;
79
    // set content type and other response header fields first
80
    response.setContentType("text/html");
81
82
    // then write the data of the response
83
    out = response.getWriter();
84
    out.println("POST detected");
85
    out.close();
86 46 jones
  }
87
88
}