Code with Finding: |
class ServerInputProcessor { private void processTransferSA() throws ConnectionException { Connection conn = DBManager.getConnection(); String[] userInfo = DatabaseAdmin.getUserInfo(conn, user); // check if user is SA if (userInfo[3].equals("sa")) { List<String> groupAdmins = DatabaseAdmin.getAdminsOfGroup(conn, user);
boolean transferableUser = false; String toChange = ""; String command = "";
while (!transferableUser) { command += SocialNetworkAdmin.displaySATransferableUsers(groupAdmins); sendWithNonce(command);
toChange = recvWithNonce().toLowerCase(); if (toChange.equals("cancel")) { sendWithNonce(CANCEL); return; } if (groupAdmins.contains(toChange)) { transferableUser = true; } if (!transferableUser) { command = "print Cannot transfer SA role to " + toChange + ";"; } }
// toChange is an admin that can have SA transferred to command = SocialNetworkAdmin.transferSA(conn, user, toChange); sendWithNonce(command); } else { sendWithNonce(INVALID + HELP); } DBManager.closeConnection(conn); }
}
|