Mercurial > hg > mpdl-group
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); + } + } + +}