package controllers; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.JsonNodeCreator; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import play.*; import play.db.DB; import play.libs.WS; import play.libs.WS.Response; import play.mvc.*; import play.mvc.Http.RequestBody; import views.html.*; public class ScraperHandler extends Controller { public static int SCRAPER_ID = 28; public static Result scrapedPage() { JsonNode request = request().body().asJson(); // get all data String url = request.get("url").textValue(); String url_decoded=null; try { url_decoded = URLDecoder.decode(url, "UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); return internalServerError(); } int event_id= EventManager.createFromScrapedPage(request); if(event_id==-1) { return internalServerError(); } else { try(Connection conn = DB.getConnection()) { PreparedStatement stmt = conn.prepareStatement("INSERT INTO CampusFeed.Scraper (scrape_url,event_id) VALUES (?,?)"); stmt.setString(1, url_decoded); stmt.setInt(2, event_id); stmt.executeUpdate(); } catch(SQLException e) { e.printStackTrace(); return internalServerError(); } return ok("success"); } } }