From 11e2b1accd933eb9fcb4477a60dd0864d9f72a67 Mon Sep 17 00:00:00 2001 From: steckbrief Date: Mon, 31 Jul 2017 08:44:32 +0200 Subject: Implements FS#245: Implement FiletransferHttp (upload and delete), some minor bug fixes including to fail a JingleTransfer in case criterias are not met --- .../FileTransferHttpUploadSlotRequestPacket.java | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/FileTransferHttpUploadSlotRequestPacket.java (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/FileTransferHttpUploadSlotRequestPacket.java') diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/FileTransferHttpUploadSlotRequestPacket.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/FileTransferHttpUploadSlotRequestPacket.java new file mode 100644 index 00000000..2d7ed1c7 --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/FileTransferHttpUploadSlotRequestPacket.java @@ -0,0 +1,53 @@ +package de.thedevstack.conversationsplus.xmpp.filetransfer.http.upload; + +import de.thedevstack.conversationsplus.xml.Element; +import de.thedevstack.conversationsplus.xmpp.filetransfer.http.FileTransferHttp; +import de.thedevstack.conversationsplus.xmpp.stanzas.IqPacket; + +/** + * + */ +public class FileTransferHttpUploadSlotRequestPacket extends IqPacket { + public static final String ELEMENT_NAME = "request"; + public static final String FILENAME_ELEMENT_NAME = "filename"; + public static final String FILESIZE_ELEMENT_NAME = "size"; + public static final String MIME_ELEMENT_NAME = "content-type"; + private static final String RECIPIENT_ATTRIBUTE_NAME = "recipient"; + private Element requestElement; + private String filename; + private long filesize; + private String mime; + + public FileTransferHttpUploadSlotRequestPacket(String recipient, String filename, long filesize, String mime) { + super(TYPE.GET); + this.requestElement = super.addChild(FileTransferHttpUploadSlotRequestPacket.ELEMENT_NAME, FileTransferHttp.NAMESPACE); + this.requestElement.setAttribute(RECIPIENT_ATTRIBUTE_NAME, recipient); + this.setFilename(filename); + this.setFilesize(filesize); + this.setMime(mime); + } + + public void setFilename(String filename) { + if (null == filename || filename.isEmpty()) { + throw new IllegalArgumentException("filename must not be null or empty."); + } + this.filename = filename; + this.requestElement.addChild(FILENAME_ELEMENT_NAME).setContent(filename); + } + + public void setFilesize(long filesize) { + if (0 >= filesize) { + throw new IllegalArgumentException("filesize must not be null or empty."); + } + this.filesize = filesize; + this.requestElement.addChild(FILESIZE_ELEMENT_NAME).setContent(String.valueOf(filesize)); + } + + public void setMime(String mime) { + if (null == mime || mime.isEmpty()) { + mime = FileTransferHttp.DEFAULT_MIME_TYPE; + } + this.mime = mime; + this.requestElement.addChild(MIME_ELEMENT_NAME).setContent(mime); + } +} -- cgit v1.2.3