Code with Finding: |
class SocialNetworkAdmin {
public static String friendRequests(Connection conn, String username) {
String command = "";
List<String> pendingFriends = DatabaseAdmin.getFriendRequestList(conn, username);
if (pendingFriends == null) {
command = "print Database error. Please contact System Admin.;";
} else if (pendingFriends.size() == 0) {
command = "print No pending friend requests at the moment.;";
} else {
command = "print Pending Friend Requests (" + pendingFriends.size() + "):;";
for (String f: pendingFriends) {
command = command + "print " + f + ";";
}
command += ";print ;print [To approve: approve "
+ "<username1>, <username2>];print [To remove: "
+ "remove <username1>, <username2>];askForInput;";
}
return command;
}
}
class SocialNetworkAdmin {
public static String friendApprove(Connection conn, String requester, String requestee) {
String success = "print "+requester+" has been added as your friend.;";
String error = "print Database error occurred while friending " +
requester + ". Please try again or contact the System Admin.;";
try {
conn.setAutoCommit(false);
} catch (SQLException e) {
if (DEBUG) System.err.println("friendApprove: turning off auto commit failed.");
return error;
}
int deleteStatus = DatabaseAdmin.deleteFriendRequest(conn, requester, requestee);
int addStatus = DatabaseAdmin.addFriend(conn, requester, requestee);
if (deleteStatus != 1 || addStatus != 1) {
DBManager.rollback(conn);
DBManager.trueAutoCommit(conn);
if (DEBUG) System.err.printf("friendApprove: DB operations failed. " +
"deleteStatus: %d, addStatus: %d\n", deleteStatus, addStatus);
return error;
} else {
try {
conn.commit();
DBManager.trueAutoCommit(conn);
return success;
} catch (SQLException e) {
DBManager.trueAutoCommit(conn);
if (DEBUG) e.printStackTrace();
return error;
}
}
}
}
|