diff software/mpdl-services/mpiwg-mpdl-xml-web/src/de/mpg/mpiwg/berlin/mpdl/servlets/xml/XQuery.java @ 19:4a3641ae14d2

Erstellung
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Wed, 09 Nov 2011 15:32:05 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/software/mpdl-services/mpiwg-mpdl-xml-web/src/de/mpg/mpiwg/berlin/mpdl/servlets/xml/XQuery.java	Wed Nov 09 15:32:05 2011 +0100
@@ -0,0 +1,52 @@
+package de.mpg.mpiwg.berlin.mpdl.servlets.xml;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.URL;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import de.mpg.mpiwg.berlin.mpdl.exception.ApplicationException;
+import de.mpg.mpiwg.berlin.mpdl.xml.xquery.XQueryEvaluator;
+
+public class XQuery extends HttpServlet {
+  private static final long serialVersionUID = 1L;
+  private XQueryEvaluator xqueryEvaluator;
+
+  public XQuery() {
+    super();
+  }
+
+  public void init(ServletConfig config) throws ServletException  {
+    super.init(config);
+    xqueryEvaluator = new XQueryEvaluator();
+  }
+
+  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+    String result = null; 
+    request.setCharacterEncoding("utf-8");
+    response.setCharacterEncoding("utf-8");
+    String inputString = request.getParameter("inputString");
+    String srcUrlStr = request.getParameter("srcUrl");
+    String xqueryStr = request.getParameter("xquery");
+    try {
+      if (inputString != null) {
+        result = xqueryEvaluator.evaluateAsString(inputString, xqueryStr);
+      } else if (srcUrlStr != null) {
+        URL srcUrl = new URL(srcUrlStr);
+        result = xqueryEvaluator.evaluateAsString(srcUrl, xqueryStr);
+      }
+      response.setContentType("text/xml");
+      PrintWriter out = response.getWriter();
+      out.print("<result>" + result + "</result>"); 
+      out.close(); 
+    } catch (ApplicationException e) {
+      throw new ServletException(e);
+    }
+  }
+
+}