diff options
author | steckbrief <steckbrief@chefmail.de> | 2016-06-06 09:05:50 +0200 |
---|---|---|
committer | steckbrief <steckbrief@chefmail.de> | 2016-06-06 09:07:59 +0200 |
commit | f45ad10b1baaf09fd4a40d6b63d1cd093623eedc (patch) | |
tree | 894e879ac98891879e9b97aa1df86b3b10c3d189 /src/main/java/de/thedevstack/conversationsplus/services/filetransfer/AbstractFileTransferService.java | |
parent | b1ab7347b92329512bebe57f6624cae33c27036f (diff) |
Related to FS#131, FS#129, FS#220:
- FileTransferFailureReason including types introduced. A failure can be recoverable, non-recoverable or limited recoverable
- in case file transfer with the highest weight factor fails, the next file transfer method is used
- improved logging
- javadoc comments added
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/services/filetransfer/AbstractFileTransferService.java | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/services/filetransfer/AbstractFileTransferService.java b/src/main/java/de/thedevstack/conversationsplus/services/filetransfer/AbstractFileTransferService.java index 02bd04b9..c24603b7 100644 --- a/src/main/java/de/thedevstack/conversationsplus/services/filetransfer/AbstractFileTransferService.java +++ b/src/main/java/de/thedevstack/conversationsplus/services/filetransfer/AbstractFileTransferService.java @@ -1,31 +1,23 @@ package de.thedevstack.conversationsplus.services.filetransfer; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; -import de.thedevstack.conversationsplus.entities.Message; import de.thedevstack.conversationsplus.services.FileTransferService; /** * */ -public abstract class AbstractFileTransferService implements FileTransferService, FileTransferStatusListener { - protected List<Message> failedMessages = new ArrayList<>(); +public abstract class AbstractFileTransferService implements FileTransferService { + private List<FileTransferStatusListener> statusListeners = new ArrayList<>(); @Override - public void onFailure(Message message, boolean delay) { - this.failedMessages.add(message); + public void addFileTransferStatusListener(FileTransferStatusListener... listeners) { + this.statusListeners.addAll(Arrays.asList(listeners)); } - @Override - public void onSuccess(Message message, boolean delay) { - if (this.failedMessages.contains(message)) { - this.failedMessages.remove(message); - } - } - - @Override - public boolean accept(Message message) { - return !this.failedMessages.contains(message); + protected void addStatusListenerToEntity(FileTransferEntity entity) { + entity.addFileTransferStatusListener(this.statusListeners.toArray(new FileTransferStatusListener[0])); } } |