package edu.ncsu.dlf.servlet;

import java.io.IOException;
import java.util.List;

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

import edu.ncsu.dlf.database.DBAbstraction;
import edu.ncsu.dlf.database.DatabaseFactory;
import edu.ncsu.dlf.model.Review;
import edu.ncsu.dlf.utils.JSONUtils;

import org.eclipse.egit.github.core.User;
import org.eclipse.egit.github.core.client.GitHubClient;
import org.eclipse.egit.github.core.service.UserService;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class StatusServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.sendError(501);

//		DBAbstraction database = DatabaseFactory.getDatabase();
//
//		GitHubClient client = new GitHubClient();
//		client.setOAuth2Token(req.getParameter("access_token"));
//		
//		UserService userService = new UserService(client);
//		User user = userService.getUser();
//			
//		resp.setContentType("application/json");
//
//		try {
//			JSONObject json = new JSONObject();
//			
//			List<Review> reviewsWhereUserIsRequester = database.getReviewsWhereUserIsRequester(user);
//			List<Review> reviewsWhereUserIsReviewer = database.getReviewsWhereUserIsReviewer(user);
//
//			json.put("reviewsWhereUserIsReviewer", JSONUtils.toJSON(reviewsWhereUserIsReviewer));
//			json.put("reviewsWhereUserIsRequester", JSONUtils.toJSON(reviewsWhereUserIsRequester));
//			
//			resp.getWriter().write(json.toString(2));
//		} catch(Exception e) {
//			e.printStackTrace();
//			System.out.println("Trying to recover and send empty arrays");
//			try {
//                JSONObject json = new JSONObject();
//
//                json.put("reviewsWhereUserIsReviewer", new JSONArray());
//                json.put("reviewsWhereUserIsRequester", new JSONArray());
//
//                resp.getWriter().write(json.toString(2));
//            } catch (JSONException je) {
//                je.printStackTrace();
//                resp.sendError(500);
//			}
//		}
	}
}

@@ -879,34 +879,8 @@
 n %7B%0A
-%09%09resp.sendError(501);%0A%0A//
 %09%09DB
@@ -933,21 +933,17 @@
 base();%0A
-//%0A//
+%0A
 %09%09GitHub
@@ -978,18 +978,16 @@
 ient();%0A
-//
 %09%09client
@@ -1041,15 +1041,11 @@
 ));%0A
-//
 %09%09%0A
-//
 %09%09Us
@@ -1093,18 +1093,16 @@
 lient);%0A
-//
 %09%09User u
@@ -1130,24 +1130,20 @@
 User();%0A
-//
 %09%09%09%0A
-//
 %09%09resp.s
@@ -1181,21 +1181,16 @@
 %22);%0A
-//%0A//
 %09%09try %7B%0A
 //%09%09
@@ -1185,18 +1185,16 @@
 %09%09try %7B%0A
-//
 %09%09%09JSONO
@@ -1224,24 +1224,20 @@
 ject();%0A
-//
 %09%09%09%0A
-//
 %09%09%09List%3C
@@ -1321,18 +1321,16 @@
 (user);%0A
-//
 %09%09%09List%3C
@@ -1412,21 +1412,17 @@
 (user);%0A
-//%0A//
+%0A
 %09%09%09json.
@@ -1502,18 +1502,16 @@
 ewer));%0A
-//
 %09%09%09json.
@@ -1597,16 +1597,12 @@
 ));%0A
-//
 %09%09%09%0A
-//
 %09%09%09r
@@ -1642,18 +1642,16 @@
 ng(2));%0A
-//
 %09%09%7D catc
@@ -1667,18 +1667,16 @@
 on e) %7B%0A
-//
 %09%09%09e.pri
@@ -1691,18 +1691,16 @@
 race();%0A
-//
 %09%09%09Syste
@@ -1757,18 +1757,16 @@
 rays%22);%0A
-//
 %09%09%09try %7B
@@ -1766,18 +1766,16 @@
 %09%09try %7B%0A
-//
         
@@ -1818,21 +1818,17 @@
 ject();%0A
-//%0A//
+%0A
         
@@ -1888,26 +1888,24 @@
 ONArray());%0A
-//
             
@@ -1970,13 +1970,9 @@
 ));%0A
-//%0A//
+%0A
     
@@ -2025,18 +2025,16 @@
 ng(2));%0A
-//
         
@@ -2066,18 +2066,16 @@
 n je) %7B%0A
-//
         
@@ -2104,18 +2104,16 @@
 race();%0A
-//
         
@@ -2145,17 +2145,13 @@
 0);%0A
-//
 %09%09%09%7D%0A
-//
 %09%09%7D%0A

Revert "Optimizing index page ;)"