package requestHandlers.mongoDB;

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

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.json.JSONObject;

import requestHandlers.RequestHandler;
import Util.MongoDBUtil;
import Util.djonDBUtil;

import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;

public class getReceiptImg_mongo implements RequestHandler{
	private final String defaultImg = "./receiptsImgs/no_photo.jpg";

	@Override
	public void processRequest(Object user, HttpServletRequest req,
			HttpServletResponse res, Object[] services, Object log)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		PrintWriter out = res.getWriter();
		JSONObject ret = new JSONObject();
		ret.put("ret", false);
		ret.put("img", defaultImg);
		MongoClient c;
		try
		{
			HttpSession session = req.getSession(false);
			c = MongoDBUtil.openConn();
			DBObject userDoc = MongoDBUtil.getCurrentUser(session, c);
			int rid = Integer.parseInt(req.getParameter("rid"));
			if(userDoc != null)
			{
				//System.err.println(userDoc.get(MongoDBUtil.USER_EMAIL_FIELDNAME));
				BasicDBList receipts = (BasicDBList) userDoc.get(MongoDBUtil.USER_RECEIPTS_FIELDNAME);
				if(receipts != null && receipts.size() > 0)
				{
					for(int i=0; i<receipts.size(); ++i)
					{
						BasicDBObject receipt = (BasicDBObject)receipts.get(i);
						if(rid == receipt.getInt(djonDBUtil.USER_RECEIPT_ID_FIELDNAME));
						{
							ret.put("img", receipt.getString(MongoDBUtil.RECEIPT_IMG_FIELDNAME));
							ret.put("ret", true);
						}
					}
				}
			}
		}
		catch (Throwable theException) 	    
		{
		     System.out.println(theException); 
		}
		finally
		{
			out.print(ret);
			out.close();
		}	
	}
}
