/** * Gets a file transfer object for the given user and file. * * @param user The user to find a file transfer for. * @param fileName The filename to look for. * @return Either a file receiver, a file sender, or <code>null</code> * if none of them was found. */ @Nullable public FileTransfer getFileTransfer(final User user, final String fileName) { final FileReceiver fileReceiver = getFileReceiver(user, fileName); if (fileReceiver != null) { return fileReceiver; } else { return getFileSender(user, fileName); } }
/** * Gets the file transfer object for the specified user and file transfer id. * * @param user The user to find a file transfer for. * @param id The file transfer id of the file to look for. * @return Either a file receiver, a file sender, or <code>null</code> * if none of them was found. */ @Nullable public FileTransfer getFileTransfer(final User user, final int id) { final FileReceiver fileReceiver = getFileReceiver(user, id); if (fileReceiver != null) { return fileReceiver; } else { return getFileSender(user, id); } } }
/** * Gets a file transfer object for the given user and file. * * @param user The user to find a file transfer for. * @param fileName The filename to look for. * @return Either a file receiver, a file sender, or <code>null</code> * if none of them was found. */ @Nullable public FileTransfer getFileTransfer(final User user, final String fileName) { final FileReceiver fileReceiver = getFileReceiver(user, fileName); if (fileReceiver != null) { return fileReceiver; } else { return getFileSender(user, fileName); } }
/** * Gets the file transfer object for the specified user and file transfer id. * * @param user The user to find a file transfer for. * @param id The file transfer id of the file to look for. * @return Either a file receiver, a file sender, or <code>null</code> * if none of them was found. */ @Nullable public FileTransfer getFileTransfer(final User user, final int id) { final FileReceiver fileReceiver = getFileReceiver(user, id); if (fileReceiver != null) { return fileReceiver; } else { return getFileSender(user, id); } } }
private FileSender findFileSender(final User user, final File file) { final User localUser = controller.getUser(user.getCode()); // Because user might be from another context final FileSender fileSender = transferList.getFileSender(localUser, file.getName()); Validate.notNull(fileSender, String.format("Unable to find the file with the name '%s' for the user '%s'", file.getName(), user)); return fileSender; }
/** * The other user stopped a file transfer from the application user, * or the other way around. * Updates the status in the file sender. * * @param userCode The unique code of the other user. * @param fileName The name of the file. * @param fileHash The hash code of the file. */ @Override public void fileSendAborted(final int userCode, final String fileName, final int fileHash) { final User user = controller.getUser(userCode); final FileSender fileSender = tList.getFileSender(user, fileName, fileHash); if (fileSender != null) { fileSender.cancel(); msgController.showSystemMessage(user.getNick() + " aborted reception of " + fileName); tList.removeFileSender(fileSender); } final FileReceiver fileReceiver = tList.getFileReceiver(user, fileName); if (fileReceiver != null) { fileReceiver.cancel(); msgController.showSystemMessage(user.getNick() + " aborted sending of " + fileName); } }
/** * The other user stopped a file transfer from the application user, * or the other way around. * Updates the status in the file sender. * * @param userCode The unique code of the other user. * @param fileName The name of the file. * @param fileHash The hash code of the file. */ @Override public void fileSendAborted(final int userCode, final String fileName, final int fileHash) { final User user = controller.getUser(userCode); final FileSender fileSender = tList.getFileSender(user, fileName, fileHash); if (fileSender != null) { fileSender.cancel(); msgController.showSystemMessage(user.getNick() + " aborted reception of " + fileName); tList.removeFileSender(fileSender); } final FileReceiver fileReceiver = tList.getFileReceiver(user, fileName); if (fileReceiver != null) { fileReceiver.cancel(); msgController.showSystemMessage(user.getNick() + " aborted sending of " + fileName); } }
/** * The other user has accepted a file transfer. Will try to connect to the * user to send the file. * * @param userCode The unique code of the user who accepted a file transfer. * @param fileName The name of the file. * @param fileHash The hash code of the file. * @param port The port to use for connecting to the other user. */ @Override public void fileSendAccepted(final int userCode, final String fileName, final int fileHash, final int port) { final User user = controller.getUser(userCode); final FileSender fileSend = tList.getFileSender(user, fileName, fileHash); if (fileSend != null) { msgController.showSystemMessage(user.getNick() + " accepted sending of " + fileName); // Give the server some time to set up the connection first sleeper.sleep(200); if (fileSend.transfer(port)) { msgController.showSystemMessage(fileName + " successfully sent to " + user.getNick()); } else { msgController.showSystemMessage("Failed to send " + fileName + " to " + user.getNick()); } tList.removeFileSender(fileSend); } }
/** * The other user has accepted a file transfer. Will try to connect to the * user to send the file. * * @param userCode The unique code of the user who accepted a file transfer. * @param fileName The name of the file. * @param fileHash The hash code of the file. * @param port The port to use for connecting to the other user. */ @Override public void fileSendAccepted(final int userCode, final String fileName, final int fileHash, final int port) { final User user = controller.getUser(userCode); final FileSender fileSend = tList.getFileSender(user, fileName, fileHash); if (fileSend != null) { msgController.showSystemMessage(user.getNick() + " accepted sending of " + fileName); // Give the server some time to set up the connection first sleeper.sleep(200); if (fileSend.transfer(port)) { msgController.showSystemMessage(fileName + " successfully sent to " + user.getNick()); } else { msgController.showSystemMessage("Failed to send " + fileName + " to " + user.getNick()); } tList.removeFileSender(fileSend); } }