/** * Gets a file receiver object for the given user with the given file transfer id. * * @param userCode The unique code of the user who requests to send a file. * @param fileTransferId The id of the request to send a file. * @return The file transfer object, if found, or <code>null</code> if not found. */ public FileReceiver getFileReceiver(final int userCode, final int fileTransferId) { final User user = getUser(userCode); return transferList.getFileReceiver(user, fileTransferId); }
/** * 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 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 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 FileReceiver setupFileReceiver(final User user) { final FileReceiver fileReceiver = mock(FileReceiver.class); when(transferList.getFileReceiver(user, 1)).thenReturn(fileReceiver); when(transferList.getFileTransfer(user, 1)).thenReturn(fileReceiver); when(fileReceiver.getFileName()).thenReturn("doc.pdf"); return fileReceiver; }
@Test public void rejectShouldReturnIfFileTransferHasAlreadyBeingAccepted() { final User someOne = setupSomeOne(); final FileReceiver fileReceiver = setupFileReceiver(someOne); when(fileReceiver.isAccepted()).thenReturn(true); parser.parse("/reject SomeOne 1"); verify(transferList).getFileReceiver(someOne, 1); verify(messageController).showSystemMessage("/reject - already receiving 'doc.pdf' from SomeOne"); verify(fileReceiver, never()).reject(); }
private FileReceiver findFileReceiver(final User user, final String fileName) { final User localUser = controller.getUser(user.getCode()); // Because user might be from another context final FileReceiver fileReceiver = transferList.getFileReceiver(localUser, fileName); Validate.notNull(fileReceiver, String.format("Unable to find the file with the name '%s' from the user '%s'", fileName, user)); return fileReceiver; }
@Test public void receiveShouldReturnIfFileTransferIdDoesntExist() { final User someOne = setupSomeOne(); parser.parse("/receive SomeOne 1"); verify(transferList).getFileReceiver(someOne, 1); verify(messageController).showSystemMessage("/receive - no file with id 1 offered by SomeOne"); }
@Test public void rejectShouldReturnIfFileTransferIdDoesntExist() { final User someOne = setupSomeOne(); parser.parse("/reject SomeOne 1"); verify(transferList).getFileReceiver(someOne, 1); verify(messageController).showSystemMessage("/reject - no file with id 1 offered by SomeOne"); }
@Test public void receiveShouldReturnIfFileTransferHasAlreadyBeingAccepted() { final User someOne = setupSomeOne(); final FileReceiver fileReceiver = setupFileReceiver(someOne); when(fileReceiver.isAccepted()).thenReturn(true); parser.parse("/receive SomeOne 1"); verify(transferList).getFileReceiver(someOne, 1); verify(messageController).showSystemMessage("/receive - already receiving 'doc.pdf' from SomeOne"); verify(fileReceiver, never()).accept(); }
@Test public void receiveShouldAcceptFileTransferIfArgumentsMatchAndRenameExistingFile() { final User someOne = setupSomeOne(); final FileReceiver fileReceiver = setupFileReceiver(someOne); final File file = setupFile(fileReceiver); when(file.exists()).thenReturn(true); final ArgumentCaptor<File> newFileCaptor = ArgumentCaptor.forClass(File.class); parser.parse("/receive SomeOne 1"); verify(transferList).getFileReceiver(someOne, 1); verify(messageController).showSystemMessage("/receive - file 'doc.pdf' already exists - renaming to 'doc_1.pdf'"); verify(fileReceiver).accept(); verify(fileReceiver).setFile(newFileCaptor.capture()); assertEquals("doc_1.pdf", newFileCaptor.getValue().getName()); }
@Test public void rejectShouldRejectFileTransferIfArgumentsMatchEvenIfExtraSpaces() { final User someOne = setupSomeOne(); final FileReceiver fileReceiver = setupFileReceiver(someOne); parser.parse("/reject SomeOne 1 "); verify(transferList).getFileReceiver(someOne, 1); verifyZeroInteractions(messageController); verify(fileReceiver).reject(); }
@Test public void rejectShouldRejectFileTransferIfArgumentsMatch() { final User someOne = setupSomeOne(); final FileReceiver fileReceiver = setupFileReceiver(someOne); parser.parse("/reject SomeOne 1"); verify(transferList).getFileReceiver(someOne, 1); verifyZeroInteractions(messageController); verify(fileReceiver).reject(); }
@Test public void receiveShouldAcceptFileTransferIfArgumentsMatchEvenIfExtraSpaces() { final User someOne = setupSomeOne(); final FileReceiver fileReceiver = setupFileReceiver(someOne); setupFile(fileReceiver); parser.parse("/receive SomeOne 1 "); verify(transferList).getFileReceiver(someOne, 1); verifyZeroInteractions(messageController); verify(fileReceiver).accept(); }
@Test public void receiveShouldAcceptFileTransferIfArgumentsMatch() { final User someOne = setupSomeOne(); final FileReceiver fileReceiver = setupFileReceiver(someOne); setupFile(fileReceiver); parser.parse("/receive SomeOne 1"); verify(transferList).getFileReceiver(someOne, 1); verifyZeroInteractions(messageController); verify(fileReceiver).accept(); }
/** * 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); } }
final FileReceiver fileReceiver = tList.getFileReceiver(user, id);
final FileReceiver fileReceiver = tList.getFileReceiver(user, id);