diff options
author | steckbrief <steckbrief@chefmail.de> | 2017-07-31 08:44:32 +0200 |
---|---|---|
committer | steckbrief <steckbrief@chefmail.de> | 2017-07-31 08:44:32 +0200 |
commit | 11e2b1accd933eb9fcb4477a60dd0864d9f72a67 (patch) | |
tree | e1d27c488d5a697557095add001dca868f523ef4 /src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/SlotPacketParser.java | |
parent | 2d41916750e2c31b57cf6325441ff37a8639fe93 (diff) |
Implements FS#245: Implement FiletransferHttp (upload and delete), some minor bug fixes including to fail a JingleTransfer in case criterias are not met
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/SlotPacketParser.java')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/SlotPacketParser.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/SlotPacketParser.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/SlotPacketParser.java index 85d11b6b..e2d629e4 100644 --- a/src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/SlotPacketParser.java +++ b/src/main/java/de/thedevstack/conversationsplus/xmpp/filetransfer/http/upload/SlotPacketParser.java @@ -2,8 +2,10 @@ package de.thedevstack.conversationsplus.xmpp.filetransfer.http.upload; import de.thedevstack.conversationsplus.xml.Element; import de.thedevstack.conversationsplus.xmpp.IqPacketParser; +import de.thedevstack.conversationsplus.xmpp.exceptions.MissingRequiredElementException; import de.thedevstack.conversationsplus.xmpp.exceptions.UnexpectedIqPacketTypeException; import de.thedevstack.conversationsplus.xmpp.exceptions.XmppException; +import de.thedevstack.conversationsplus.xmpp.filetransfer.http.FileTransferHttp; import de.thedevstack.conversationsplus.xmpp.stanzas.IqPacket; import de.thedevstack.conversationsplus.xmpp.utils.ErrorIqPacketExceptionHelper; @@ -11,10 +13,18 @@ import de.thedevstack.conversationsplus.xmpp.utils.ErrorIqPacketExceptionHelper; * */ public final class SlotPacketParser extends IqPacketParser { + private static final String SLOT_ELEMENT_NAME = "slot"; + public static HttpUploadSlot parseGetAndPutUrl(IqPacket packet) throws XmppException { HttpUploadSlot httpUploadSlot = null; if (packet.getType() == IqPacket.TYPE.RESULT) { - Element slot = findRequiredChild(packet, "slot", HttpUpload.NAMESPACE); + Element slot = findChild(packet, SLOT_ELEMENT_NAME, FileTransferHttp.NAMESPACE); + if (null == slot) { + slot = findChild(packet, SLOT_ELEMENT_NAME, HttpUpload.NAMESPACE); + } + if (null == slot) { + throw new MissingRequiredElementException(SLOT_ELEMENT_NAME, "neither " + FileTransferHttp.NAMESPACE + " nor " + HttpUpload.NAMESPACE, packet); + } String getUrl = findRequiredChildContent(slot, "get"); String putUrl = findRequiredChildContent(slot, "put"); |