/* $Id: GlanceImport.java,v 1.2 2003/07/29 22:00:00 ryanlee Exp $
 */

import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

import com.hp.hpl.mesa.rdf.jena.common.*;
import com.hp.hpl.mesa.rdf.jena.mem.ModelMem;
import com.hp.hpl.mesa.rdf.jena.model.*;
import com.hp.hpl.mesa.rdf.jena.vocabulary.RDF;
import com.hp.hpl.mesa.rdf.jena.vocabulary.RSS;

import vocabulary.DC;
import vocabulary.GLANCE;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;

import util.multipart.*;

public class GlanceImport extends HttpServlet {
    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");

    public void init(ServletConfig config)
	throws ServletException {
	super.init(config);
    }

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response) 
	throws IOException, ServletException  {
	response.sendError(response.SC_METHOD_NOT_ALLOWED);
	return;
    }
    
    public void doPost(HttpServletRequest request,
		       HttpServletResponse response)
	throws IOException, ServletException {
	Model glance = new ModelMem();

	try {
	    MultipartParser mp = new MultipartParser(request, 10*1024*1024);
	    Part part;
	    while ((part = mp.readNextPart()) != null) {
		if (part.isFile()) {
		    FilePart filePart = (FilePart) part;
		    InputStreamReader in = new InputStreamReader(filePart.getInputStream());
		    glance.read(in, "http://www.w3.org/");
		}
	    }
	}
	catch (Exception e) {
	    System.out.println(e);
	}
	
	HttpSession session = request.getSession();
	session.setAttribute("personal", glance);

	String authuri = rb.getString("glance.authuri");
	response.sendRedirect(authuri);
	return;
    }
}
