package jp.co.ulsystems.xmldb.servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

import com.neocore.httpclient.SessionManagedNeoConnection;

public class FileRegisterServlet extends HttpServlet{
  static private final String ANSWER_JSP = "/jsp/register/complete.jsp";

  public void doPost(HttpServletRequest req,HttpServletResponse res) {
    try {
          // ファイルアップロード保存先のディレクトリ
          String path = getServletContext().getRealPath + "/";
          // 提案書を指定したディレクトリにアップロード
          File file = upload(path,req);
          // 提案書をZIP解凍し、content.xmlの抽出
          File contents = getContents(path, file);

          // content.xmlをXMLDBにストアする
          // XMLDBとのセッションを確立
          SessionManagedNeoConnection session =
          new SessionManagedNeoConnection("localhost",7701);
          session.login("Administrator","admin");
          // content.xmlをストア
          String docId = session.storeFileXML (contents.getAbsolutePath(), null, null);
          // XMLDBからログアウト
          session.logout ();
          // JSPへの転送
          RequestDispatcher dispatch = req.getRequestDispatcher(ANSWER_JSP);
          dispatch.forward(req, res);
    } catch(Exception e) {
          e.printStackTrace();
    }
  }
}