public void processAction(HttpServletRequest request, HttpServletResponse response) throws IOException { System.out.println("processing test driver request ... "); processParams(request); boolean status = false; System.out.println("tc:" + tc); response.setContentType("text/plain"); ServletOutputStream out = response.getOutputStream(); out.println("TestCase: " + tc); if (tc != null) { try { Class<?> c = getClass(); Object t = this; Method[] allMethods = c.getDeclaredMethods(); for (Method m : allMethods) { String mname = m.getName(); if (!mname.equals(tc.trim())) { continue; } System.out.println("Invoking : " + mname); try { m.setAccessible(true); Object o = m.invoke(t); System.out.println("Returned => " + (Boolean) o); status = new Boolean((Boolean) o).booleanValue(); // Handle any methods thrown by method to be invoked } catch (InvocationTargetException x) { Throwable cause = x.getCause(); System.err.format("invocation of %s failed: %s%n", mname, cause.getMessage()); } catch (IllegalAccessException x) { x.printStackTrace(); } } } catch (Exception ex) { ex.printStackTrace(); } if (status) { out.println(tc + ":pass"); } else { out.println(tc + ":fail"); } } }
/** * Gets the current scoreboard and prints the users' names and scores in descending order. * * @return true if the scoreboard is printed successfully */ private boolean getScoreboard() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/getoffthecouch", "XXXXXX", "XXXXXX"); Statement getScoresStmt = conn.createStatement(); String getScoresQuery = "SELECT user_id, user_name, total_score FROM user ORDER BY total_score DESC"; ResultSet getScoresResult = getScoresStmt.executeQuery(getScoresQuery); String userId = ""; String userName = ""; int totalScore = -1; while (getScoresResult.next()) { userId = getScoresResult.getString("user_id"); userName = getScoresResult.getString("user_name"); totalScore = getScoresResult.getInt("total_score"); out.println(userId + "|" + userName + "|" + totalScore); } getScoresStmt.close(); return true; } catch (InstantiationException e) { e.printStackTrace(out); return false; } catch (IllegalAccessException e) { e.printStackTrace(out); return false; } catch (ClassNotFoundException e) { e.printStackTrace(out); return false; } catch (SQLException e) { e.printStackTrace(out); return false; } }
/** * Gets the invitations from the database and prints their details. * * @param facebookId - Facebook id of the user * @return true if the list of invitation details are printed successfully */ private boolean getInvitations(String facebookId) { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/getoffthecouch", "XXXXXX", "XXXXXX"); Statement checkStmt = conn.createStatement(); String checkQuery = "SELECT COUNT(*) FROM invitation WHERE invitee='" + facebookId + "' AND confirmed=0"; ResultSet checkQueryResult = checkStmt.executeQuery(checkQuery); checkQueryResult.next(); int count = checkQueryResult.getInt(1); if (count == 0) { return false; } Statement getInvitationsStmt = conn.createStatement(); String getInvitationsQuery = "SELECT i.inv_id, l.loc_name, e.date, e.time, u.user_name, e.total_score, l.cat_id, i.event_id, l.photo_thumb " + "FROM invitation i, location l, event e, user u WHERE i.event_id=e.event_id AND e.loc_id = l.loc_id " + "AND i.invitee='" + facebookId + "' AND u.user_id=i.inviter AND i.confirmed=0"; ResultSet getInvitationsResult = getInvitationsStmt.executeQuery(getInvitationsQuery); int invitationId = -1; String locationName = ""; String dateAndTime = ""; String userName = ""; int totalScore = -1; int categoryId = -1; int eventId = -1; String photoThumb = ""; while (getInvitationsResult.next()) { invitationId = getInvitationsResult.getInt("inv_id"); locationName = getInvitationsResult.getString("loc_name"); String date = getInvitationsResult.getString("date"); String time = getInvitationsResult.getString("time"); SimpleDateFormat sqlFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date dateObject = sqlFormatter.parse(date + " " + time); SimpleDateFormat outputFormatter = new SimpleDateFormat("d MMM yyyy, HH:mm"); dateAndTime = outputFormatter.format(dateObject); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } userName = getInvitationsResult.getString("user_name"); totalScore = getInvitationsResult.getInt("total_score"); categoryId = getInvitationsResult.getInt("cat_id"); eventId = getInvitationsResult.getInt("event_id"); photoThumb = getInvitationsResult.getString("photo_thumb"); String output = invitationId + "|" + locationName + "|" + dateAndTime + "|" + userName + "|" + totalScore + "|" + categoryId + "|" + eventId + "|" + photoThumb; out.println(output); } getInvitationsStmt.close(); return true; } catch (InstantiationException e) { e.printStackTrace(out); return false; } catch (IllegalAccessException e) { e.printStackTrace(out); return false; } catch (ClassNotFoundException e) { e.printStackTrace(out); return false; } catch (SQLException e) { e.printStackTrace(out); return false; } }