view software/mpdl-services/mpiwg-mpdl-xml-web/src/de/mpg/mpiwg/berlin/mpdl/servlets/xml/GetFragment.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 source

package de.mpg.mpiwg.berlin.mpdl.servlets.xml;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
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.transform.FragmentTransformer;

public class GetFragment extends HttpServlet {
  private static final long serialVersionUID = 1L;
  private FragmentTransformer fragmentTransformer;
  private String documentDirectory;
  public GetFragment() {
    super();
  }

  public void init(ServletConfig config) throws ServletException  {
    super.init(config);
    ServletContext context = getServletContext();
    fragmentTransformer = (FragmentTransformer) context.getAttribute("fragmentTransformer");
    documentDirectory = (String) context.getAttribute("documentDirectory");
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    String docId = request.getParameter("docId");
    String ms1Name = request.getParameter("ms1Name");
    int ms1Pos = new Integer(request.getParameter("ms1Pos"));
    String ms2Name = request.getParameter("ms2Name");
    int ms2Pos = new Integer(request.getParameter("ms2Pos"));
    try {
      String xmlFileName = documentDirectory + docId;
      String result = fragmentTransformer.getFragment(xmlFileName, ms1Name, ms1Pos, ms2Name, ms2Pos);
      response.setContentType("text/xml");
      PrintWriter out = response.getWriter();
      out.print(result); 
      out.close(); 
    } catch (ApplicationException e) {
      throw new ServletException(e);
    }
  }

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
  }

}