From 327e63f52dde3802c0e69d132ad19e34ffbdba99 Mon Sep 17 00:00:00 2001 From: vanitasvitae Date: Fri, 9 Jun 2017 23:16:15 +0200 Subject: [PATCH] Fix checkstyle --- .../JingleFileTransferManager.java | 34 ++++++------ .../callback/JingleContentAddCallback.java | 24 ++------- ...k.java => JingleFileTransferCallback.java} | 6 +-- .../jingle_filetransfer/element/Checksum.java | 6 +-- ...ment.java => JingleFileTransferChild.java} | 8 +-- ...itiatorOutgoingFileTransferInitiated.java} | 26 +++++++-- ...esponderIncomingFileTransferAccepted.java} | 31 ++++++++--- ...IncomingFileTransferTransportReplaced.java | 23 ++++++++ ...ncomingFileTransferContentAddListener.java | 7 ++- .../IncomingJingleFileTransferListener.java | 4 +- .../provider/ChecksumProvider.java | 53 ++++++++++++++++++- ...ileTransferContentDescriptionProvider.java | 18 +++---- .../JingleIBBTransportManager.java | 26 +++++++-- .../element/JingleIBBTransport.java | 18 ++++++- .../jingle_ibb/element/package-info.java | 9 ++-- .../package-info.java | 2 +- .../provider/JingleIBBTransportProvider.java | 4 +- .../provider/package-info.java | 2 +- ...ingleSocks5BytestreamTransportManager.java | 4 +- ....java => JingleFileTransferChildTest.java} | 2 +- ...gleFileTransferContentDescriptionTest.java | 10 ++-- .../jingle_ibb/JingleIBBTransportTest.java | 4 +- ...va => AbstractJingleTransportManager.java} | 22 ++++++-- .../smackx/jingle/JingleTransportManager.java | 14 ++--- .../smackx/jingle/PendingJingleSession.java | 15 ------ 25 files changed, 249 insertions(+), 123 deletions(-) rename smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleInputStream.java => smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/JingleContentAddCallback.java (52%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/{IncomingJingleFileTransferCallback.java => JingleFileTransferCallback.java} (72%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/{JingleFileTransferChildElement.java => JingleFileTransferChild.java} (91%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/{OutgoingFileTransferInitiator.java => InitiatorOutgoingFileTransferInitiated.java} (70%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/{IncomingFileTransferResponded.java => ResponderIncomingFileTransferAccepted.java} (70%) create mode 100644 smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/ResponderIncomingFileTransferTransportReplaced.java rename smack-experimental/src/main/java/org/jivesoftware/smackx/{jingle_ibb2 => jingle_ibb}/JingleIBBTransportManager.java (82%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/{jingle_ibb2 => jingle_ibb}/element/JingleIBBTransport.java (73%) rename smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleTransportInputStreamCallback.java => smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/element/package-info.java (76%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/{jingle_ibb2 => jingle_ibb}/package-info.java (94%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/{jingle_ibb2 => jingle_ibb}/provider/JingleIBBTransportProvider.java (91%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/{jingle_ibb2 => jingle_ibb}/provider/package-info.java (93%) rename smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/{JingleFileTransferChildElementTest.java => JingleFileTransferChildTest.java} (97%) rename smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/{JingleBytestreamManager.java => AbstractJingleTransportManager.java} (70%) delete mode 100644 smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/PendingJingleSession.java diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferManager.java index 1502cc9dd..f0c6c6f3c 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferManager.java @@ -29,7 +29,7 @@ import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; -import org.jivesoftware.smackx.jingle.JingleBytestreamManager; +import org.jivesoftware.smackx.jingle.AbstractJingleTransportManager; import org.jivesoftware.smackx.jingle.JingleContentProviderManager; import org.jivesoftware.smackx.jingle.JingleHandler; import org.jivesoftware.smackx.jingle.JingleManager; @@ -38,14 +38,14 @@ import org.jivesoftware.smackx.jingle.element.Jingle; import org.jivesoftware.smackx.jingle.element.JingleAction; import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildElement; import org.jivesoftware.smackx.jingle.exception.UnsupportedJingleTransportException; -import org.jivesoftware.smackx.jingle_filetransfer.callback.IncomingJingleFileTransferCallback; -import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChildElement; +import org.jivesoftware.smackx.jingle_filetransfer.callback.JingleFileTransferCallback; +import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild; import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferContentDescription; -import org.jivesoftware.smackx.jingle_filetransfer.handler.IncomingFileTransferResponded; -import org.jivesoftware.smackx.jingle_filetransfer.handler.OutgoingFileTransferInitiator; +import org.jivesoftware.smackx.jingle_filetransfer.handler.ResponderIncomingFileTransferAccepted; +import org.jivesoftware.smackx.jingle_filetransfer.handler.InitiatorOutgoingFileTransferInitiated; import org.jivesoftware.smackx.jingle_filetransfer.listener.IncomingJingleFileTransferListener; import org.jivesoftware.smackx.jingle_filetransfer.provider.JingleFileTransferContentDescriptionProvider; -import org.jivesoftware.smackx.jingle_ibb2.JingleIBBTransportManager; +import org.jivesoftware.smackx.jingle_ibb.JingleIBBTransportManager; import org.jxmpp.jid.FullJid; /** @@ -105,7 +105,7 @@ public final class JingleFileTransferManager extends Manager implements JingleHa incomingJingleFileTransferListeners.remove(listener); } - void notifyIncomingFileTransferListeners(Jingle jingle, IncomingJingleFileTransferCallback callback) { + void notifyIncomingFileTransferListeners(Jingle jingle, JingleFileTransferCallback callback) { for (IncomingJingleFileTransferListener l : incomingJingleFileTransferListeners) { l.onIncomingJingleFileTransfer(jingle, callback); } @@ -120,10 +120,10 @@ public final class JingleFileTransferManager extends Manager implements JingleHa * @param file */ public void sendFile(File file, final FullJid recipient) throws IOException, SmackException, InterruptedException, XMPPException { - JingleBytestreamManager tm = JingleTransportManager.getInstanceFor(connection()) + AbstractJingleTransportManager tm = JingleTransportManager.getInstanceFor(connection()) .getAvailableJingleBytestreamManagers().iterator().next(); - JingleFileTransferChildElement.Builder b = JingleFileTransferChildElement.getBuilder(); + JingleFileTransferChild.Builder b = JingleFileTransferChild.getBuilder(); b.setFile(file); b.setDescription("File"); b.setMediaType("application/octet-stream"); @@ -136,7 +136,7 @@ public final class JingleFileTransferManager extends Manager implements JingleHa new JingleManager.FullJidAndSessionId(recipient, initiate.getSid()); jingleManager.registerJingleSessionHandler(recipient, initiate.getSid(), - new OutgoingFileTransferInitiator(this, fullJidAndSessionId, file)); + new InitiatorOutgoingFileTransferInitiated(this, fullJidAndSessionId, file)); connection().sendStanza(initiate); } @@ -155,8 +155,8 @@ public final class JingleFileTransferManager extends Manager implements JingleHa JingleTransportManager tm = JingleTransportManager.getInstanceFor(connection()); String transportNamespace = jingle.getContents().get(0).getJingleTransports().get(0).getNamespace(); - JingleBytestreamManager transportManager = null; - for (JingleBytestreamManager b : tm.getAvailableJingleBytestreamManagers()) { + AbstractJingleTransportManager transportManager = null; + for (AbstractJingleTransportManager b : tm.getAvailableJingleBytestreamManagers()) { if (b.getNamespace().equals(transportNamespace)) { transportManager = b; } @@ -167,20 +167,20 @@ public final class JingleFileTransferManager extends Manager implements JingleHa return null; } - final JingleBytestreamManager finalTransportManager = transportManager; + final AbstractJingleTransportManager finalTransportManager = transportManager; - notifyIncomingFileTransferListeners(jingle, new IncomingJingleFileTransferCallback() { + notifyIncomingFileTransferListeners(jingle, new JingleFileTransferCallback() { @Override - public void acceptFileTransfer(File target) throws SmackException.NotConnectedException, InterruptedException, XMPPException.XMPPErrorException, UnsupportedJingleTransportException, SmackException.NoResponseException { + public void accept(File target) throws SmackException.NotConnectedException, InterruptedException, XMPPException.XMPPErrorException, UnsupportedJingleTransportException, SmackException.NoResponseException { connection().sendStanza(finalTransportManager.createSessionAccept(jingle)); - IncomingFileTransferResponded responded = new IncomingFileTransferResponded(JingleFileTransferManager.this, jingle, target); + ResponderIncomingFileTransferAccepted responded = new ResponderIncomingFileTransferAccepted(JingleFileTransferManager.this, jingle, target); jingleManager.registerJingleSessionHandler(jingle.getFrom().asFullJidIfPossible(), jingle.getSid(), responded); finalTransportManager.setIncomingRespondedSessionListener(jingle, responded); } @Override - public void cancelFileTransfer() throws SmackException.NotConnectedException, InterruptedException { + public void decline() throws SmackException.NotConnectedException, InterruptedException { //TODO } }); diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleInputStream.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/JingleContentAddCallback.java similarity index 52% rename from smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleInputStream.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/JingleContentAddCallback.java index f20bda008..8d925014c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleInputStream.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/JingleContentAddCallback.java @@ -14,27 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jivesoftware.smackx.jingle; - -import java.io.InputStream; +package org.jivesoftware.smackx.jingle_filetransfer.callback; /** - * Wrapper object that binds together an inputStream with a blockSize. + * Callback for the client to decide whether to accept or decline a content-add action. */ -public class JingleInputStream { - private final InputStream inputStream; - private final int blockSize; +public interface JingleContentAddCallback { + void accept(); - public JingleInputStream(InputStream inputStream, int blockSize) { - this.inputStream = inputStream; - this.blockSize = blockSize; - } - - public InputStream getInputStream() { - return inputStream; - } - - public int getBlockSize() { - return blockSize; - } + void decline(); } diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/IncomingJingleFileTransferCallback.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/JingleFileTransferCallback.java similarity index 72% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/IncomingJingleFileTransferCallback.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/JingleFileTransferCallback.java index 313403f99..e6f3158b5 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/IncomingJingleFileTransferCallback.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/callback/JingleFileTransferCallback.java @@ -25,9 +25,9 @@ import org.jivesoftware.smackx.jingle.exception.UnsupportedJingleTransportExcept /** * Callback that allows the user to accept or cancel file transfers. */ -public interface IncomingJingleFileTransferCallback { +public interface JingleFileTransferCallback { - void acceptFileTransfer(File target) throws SmackException.NotConnectedException, InterruptedException, XMPPException.XMPPErrorException, UnsupportedJingleTransportException, SmackException.NoResponseException; + void accept(File target) throws SmackException.NotConnectedException, InterruptedException, XMPPException.XMPPErrorException, UnsupportedJingleTransportException, SmackException.NoResponseException; - void cancelFileTransfer() throws SmackException.NotConnectedException, InterruptedException; + void decline() throws SmackException.NotConnectedException, InterruptedException; } diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/Checksum.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/Checksum.java index 979bdae16..0c1f28181 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/Checksum.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/Checksum.java @@ -32,13 +32,13 @@ public class Checksum implements ExtensionElement { private final JingleContent.Creator creator; private final String name; - private JingleFileTransferChildElement file; + private final JingleFileTransferChild file; - public Checksum(JingleContent.Creator creator, String name, JingleFileTransferChildElement file) { + public Checksum(JingleContent.Creator creator, String name, JingleFileTransferChild file) { this.creator = creator; this.name = name; - Objects.requireNonNull(file.getHash(), "file MUST contain at least one hash element."); this.file = Objects.requireNonNull(file, "file MUST NOT be null."); + Objects.requireNonNull(file.getHash(), "file MUST contain at least one hash element."); } @Override diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/JingleFileTransferChildElement.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/JingleFileTransferChild.java similarity index 91% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/JingleFileTransferChildElement.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/JingleFileTransferChild.java index a7094691a..ab377c8a0 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/JingleFileTransferChildElement.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/element/JingleFileTransferChild.java @@ -26,7 +26,7 @@ import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildEleme /** * Content of type File. */ -public class JingleFileTransferChildElement extends JingleContentDescriptionChildElement { +public class JingleFileTransferChild extends JingleContentDescriptionChildElement { public static final String ELEMENT = "file"; public static final String ELEM_DATE = "date"; public static final String ELEM_DESC = "desc"; @@ -42,7 +42,7 @@ public class JingleFileTransferChildElement extends JingleContentDescriptionChil private final int size; private final Range range; - public JingleFileTransferChildElement(Date date, String desc, HashElement hash, String mediaType, String name, int size, Range range) { + public JingleFileTransferChild(Date date, String desc, HashElement hash, String mediaType, String name, int size, Range range) { this.date = date; this.desc = desc; this.hash = hash; @@ -154,8 +154,8 @@ public class JingleFileTransferChildElement extends JingleContentDescriptionChil return this; } - public JingleFileTransferChildElement build() { - return new JingleFileTransferChildElement(date, desc, hash, mediaType, name, size, range); + public JingleFileTransferChild build() { + return new JingleFileTransferChild(date, desc, hash, mediaType, name, size, range); } public Builder setFile(File file) { diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/OutgoingFileTransferInitiator.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/InitiatorOutgoingFileTransferInitiated.java similarity index 70% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/OutgoingFileTransferInitiator.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/InitiatorOutgoingFileTransferInitiated.java index fc6e16a62..ed606f0c1 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/OutgoingFileTransferInitiator.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/InitiatorOutgoingFileTransferInitiated.java @@ -1,3 +1,19 @@ +/** + * + * Copyright © 2017 Paul Schaub + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.jivesoftware.smackx.jingle_filetransfer.handler; import java.io.File; @@ -8,7 +24,7 @@ import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smackx.bytestreams.BytestreamSession; import org.jivesoftware.smackx.hashes.HashManager; import org.jivesoftware.smackx.hashes.element.HashElement; -import org.jivesoftware.smackx.jingle.JingleBytestreamManager; +import org.jivesoftware.smackx.jingle.AbstractJingleTransportManager; import org.jivesoftware.smackx.jingle.JingleManager; import org.jivesoftware.smackx.jingle.JingleSessionHandler; import org.jivesoftware.smackx.jingle.JingleTransportManager; @@ -18,15 +34,15 @@ import org.jivesoftware.smackx.jingle_filetransfer.FileAndHashReader; import org.jivesoftware.smackx.jingle_filetransfer.JingleFileTransferManager; /** - * Created by vanitas on 09.06.17. + * This handler represents the state of the initiators jingle session after session-initiate was sent. */ -public class OutgoingFileTransferInitiator implements JingleSessionHandler { +public class InitiatorOutgoingFileTransferInitiated implements JingleSessionHandler { private final WeakReference manager; private final JingleManager.FullJidAndSessionId fullJidAndSessionId; private final File file; - public OutgoingFileTransferInitiator(JingleFileTransferManager manager, JingleManager.FullJidAndSessionId fullJidAndSessionId, File file) { + public InitiatorOutgoingFileTransferInitiated(JingleFileTransferManager manager, JingleManager.FullJidAndSessionId fullJidAndSessionId, File file) { this.fullJidAndSessionId = fullJidAndSessionId; this.file = file; this.manager = new WeakReference<>(manager); @@ -34,7 +50,7 @@ public class OutgoingFileTransferInitiator implements JingleSessionHandler { @Override public IQ handleJingleSessionRequest(Jingle jingle, String sessionId) { - JingleBytestreamManager bm; + AbstractJingleTransportManager bm; try { bm = JingleTransportManager.getInstanceFor(manager.get().getConnection()) .getJingleContentTransportManager(jingle); diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/IncomingFileTransferResponded.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/ResponderIncomingFileTransferAccepted.java similarity index 70% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/IncomingFileTransferResponded.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/ResponderIncomingFileTransferAccepted.java index 29425818c..cff568330 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/IncomingFileTransferResponded.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/ResponderIncomingFileTransferAccepted.java @@ -1,3 +1,19 @@ +/** + * + * Copyright © 2017 Paul Schaub + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.jivesoftware.smackx.jingle_filetransfer.handler; import java.io.File; @@ -14,18 +30,19 @@ import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smackx.bytestreams.BytestreamListener; import org.jivesoftware.smackx.bytestreams.BytestreamRequest; import org.jivesoftware.smackx.bytestreams.BytestreamSession; +import org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager; import org.jivesoftware.smackx.jingle.JingleSessionHandler; import org.jivesoftware.smackx.jingle.element.Jingle; import org.jivesoftware.smackx.jingle_filetransfer.JingleFileTransferManager; -import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChildElement; +import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild; import org.jxmpp.jid.FullJid; /** - * Created by vanitas on 09.06.17. + * This handler represents the state of the responders jingle session after the responder sent session-accept. */ -public class IncomingFileTransferResponded implements JingleSessionHandler, BytestreamListener { +public class ResponderIncomingFileTransferAccepted implements JingleSessionHandler, BytestreamListener { - private static final Logger LOGGER = Logger.getLogger(IncomingFileTransferResponded.class.getName()); + private static final Logger LOGGER = Logger.getLogger(ResponderIncomingFileTransferAccepted.class.getName()); private final WeakReference manager; private final File target; @@ -33,10 +50,10 @@ public class IncomingFileTransferResponded implements JingleSessionHandler, Byte private final FullJid initiator; private final String sessionId; - public IncomingFileTransferResponded(JingleFileTransferManager manager, Jingle initiate, File target) { + public ResponderIncomingFileTransferAccepted(JingleFileTransferManager manager, Jingle initiate, File target) { this.manager = new WeakReference<>(manager); this.target = target; - this.size = ((JingleFileTransferChildElement) initiate.getContents().get(0).getDescription() + this.size = ((JingleFileTransferChild) initiate.getContents().get(0).getDescription() .getJingleContentDescriptionChildren().get(0)).getSize(); this.initiator = initiate.getInitiator(); this.sessionId = initiate.getSid(); @@ -93,8 +110,8 @@ public class IncomingFileTransferResponded implements JingleSessionHandler, Byte } catch (IOException e) { LOGGER.log(Level.SEVERE, "Caught Exception while closing streams: " + e, e); } + InBandBytestreamManager.getByteStreamManager(manager.get().getConnection()).removeIncomingBytestreamListener(this); } - return; } @Override diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/ResponderIncomingFileTransferTransportReplaced.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/ResponderIncomingFileTransferTransportReplaced.java new file mode 100644 index 000000000..815412b8e --- /dev/null +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/handler/ResponderIncomingFileTransferTransportReplaced.java @@ -0,0 +1,23 @@ +/** + * + * Copyright © 2017 Paul Schaub + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jivesoftware.smackx.jingle_filetransfer.handler; + +/** + * This handler represents the state of the responders jingle session after the responder sent session-replace. + */ +public class ResponderIncomingFileTransferTransportReplaced { +} diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/listener/IncomingFileTransferContentAddListener.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/listener/IncomingFileTransferContentAddListener.java index 09a5ca7ff..746d5362e 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/listener/IncomingFileTransferContentAddListener.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/listener/IncomingFileTransferContentAddListener.java @@ -16,9 +16,14 @@ */ package org.jivesoftware.smackx.jingle_filetransfer.listener; +import org.jivesoftware.smackx.jingle.element.Jingle; +import org.jivesoftware.smackx.jingle_filetransfer.callback.JingleContentAddCallback; + /** * Listener for content-add actions. */ -public interface IncomingFileTransferContentAddListener extends IncomingJingleFileTransferListener { +public interface IncomingFileTransferContentAddListener { + + void onJingleContentAdd(Jingle jingle, JingleContentAddCallback callback); } diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/listener/IncomingJingleFileTransferListener.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/listener/IncomingJingleFileTransferListener.java index e80ff6b4a..f18b0ccd3 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/listener/IncomingJingleFileTransferListener.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/listener/IncomingJingleFileTransferListener.java @@ -17,12 +17,12 @@ package org.jivesoftware.smackx.jingle_filetransfer.listener; import org.jivesoftware.smackx.jingle.element.Jingle; -import org.jivesoftware.smackx.jingle_filetransfer.callback.IncomingJingleFileTransferCallback; +import org.jivesoftware.smackx.jingle_filetransfer.callback.JingleFileTransferCallback; /** * Listener for incoming file transfers. */ public interface IncomingJingleFileTransferListener { - void onIncomingJingleFileTransfer(Jingle jingle, IncomingJingleFileTransferCallback callback); + void onIncomingJingleFileTransfer(Jingle jingle, JingleFileTransferCallback callback); } diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/ChecksumProvider.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/ChecksumProvider.java index dfafda608..e91270ccc 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/ChecksumProvider.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/ChecksumProvider.java @@ -16,9 +16,16 @@ */ package org.jivesoftware.smackx.jingle_filetransfer.provider; +import static org.xmlpull.v1.XmlPullParser.END_TAG; +import static org.xmlpull.v1.XmlPullParser.START_TAG; + import org.jivesoftware.smack.provider.ExtensionElementProvider; +import org.jivesoftware.smackx.hashes.element.HashElement; +import org.jivesoftware.smackx.hashes.provider.HashElementProvider; import org.jivesoftware.smackx.jingle.element.JingleContent; import org.jivesoftware.smackx.jingle_filetransfer.element.Checksum; +import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild; +import org.jivesoftware.smackx.jingle_filetransfer.element.Range; import org.xmlpull.v1.XmlPullParser; /** @@ -33,8 +40,50 @@ public class ChecksumProvider extends ExtensionElementProvider { creator = JingleContent.Creator.valueOf(creatorString); } String name = parser.getAttributeValue(null, Checksum.ATTR_NAME); - //TODO JingleFileTransferPayload file = new JingleFileTransferPayloadProvider().parse(parser); - return new Checksum(creator, name, null); + + JingleFileTransferChild.Builder cb = JingleFileTransferChild.getBuilder(); + HashElement hashElement = null; + Range range = null; + + boolean go = true; + while (go) { + int tag = parser.nextTag(); + String n = parser.getText(); + + if (tag == START_TAG) { + switch (n) { + case HashElement.ELEMENT: + hashElement = new HashElementProvider().parse(parser); + break; + + case Range.ELEMENT: + String offset = parser.getAttributeValue(null, Range.ATTR_OFFSET); + String length = parser.getAttributeValue(null, Range.ATTR_LENGTH); + int o = offset == null ? 0 : Integer.parseInt(offset); + int l = length == null ? -1 : Integer.parseInt(length); + range = new Range(o, l); + } + } else if (tag == END_TAG) { + switch (n) { + case Range.ELEMENT: + if (hashElement != null && range != null) { + range = new Range(range.getOffset(), range.getLength(), hashElement); + hashElement = null; + } + break; + + case JingleFileTransferChild.ELEMENT: + if (hashElement != null) { + cb.setHash(hashElement); + } + if (range != null) { + cb.setRange(range); + } + go = false; + } + } + } + return new Checksum(creator, name, cb.build()); } } diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/JingleFileTransferContentDescriptionProvider.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/JingleFileTransferContentDescriptionProvider.java index fa7145ec3..f281bf2a3 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/JingleFileTransferContentDescriptionProvider.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/JingleFileTransferContentDescriptionProvider.java @@ -25,7 +25,7 @@ import org.jivesoftware.smackx.hashes.element.HashElement; import org.jivesoftware.smackx.hashes.provider.HashElementProvider; import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildElement; import org.jivesoftware.smackx.jingle.provider.JingleContentDescriptionProvider; -import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChildElement; +import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild; import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferContentDescription; import org.jivesoftware.smackx.jingle_filetransfer.element.Range; import org.jxmpp.util.XmppDateTime; @@ -41,7 +41,7 @@ public class JingleFileTransferContentDescriptionProvider public JingleFileTransferContentDescription parse(XmlPullParser parser, int initialDepth) throws Exception { ArrayList payloads = new ArrayList<>(); boolean inRange = false; - JingleFileTransferChildElement.Builder builder = JingleFileTransferChildElement.getBuilder(); + JingleFileTransferChild.Builder builder = JingleFileTransferChild.getBuilder(); HashElement inRangeHash = null; int offset = 0; @@ -54,23 +54,23 @@ public class JingleFileTransferContentDescriptionProvider if (tag == START_TAG) { switch (elem) { - case JingleFileTransferChildElement.ELEM_DATE: + case JingleFileTransferChild.ELEM_DATE: builder.setDate(XmppDateTime.parseXEP0082Date(parser.nextText())); break; - case JingleFileTransferChildElement.ELEM_DESC: + case JingleFileTransferChild.ELEM_DESC: builder.setDescription(parser.nextText()); break; - case JingleFileTransferChildElement.ELEM_MEDIA_TYPE: + case JingleFileTransferChild.ELEM_MEDIA_TYPE: builder.setMediaType(parser.nextText()); break; - case JingleFileTransferChildElement.ELEM_NAME: + case JingleFileTransferChild.ELEM_NAME: builder.setName(parser.nextText()); break; - case JingleFileTransferChildElement.ELEM_SIZE: + case JingleFileTransferChild.ELEM_SIZE: builder.setSize(Integer.parseInt(parser.nextText())); break; @@ -105,9 +105,9 @@ public class JingleFileTransferContentDescriptionProvider inRangeHash = null; break; - case JingleFileTransferChildElement.ELEMENT: + case JingleFileTransferChild.ELEMENT: payloads.add(builder.build()); - builder = JingleFileTransferChildElement.getBuilder(); + builder = JingleFileTransferChild.getBuilder(); break; case JingleFileTransferContentDescription.ELEMENT: diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/JingleIBBTransportManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/JingleIBBTransportManager.java similarity index 82% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/JingleIBBTransportManager.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/JingleIBBTransportManager.java index a16803d6a..023f87f2e 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/JingleIBBTransportManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/JingleIBBTransportManager.java @@ -1,4 +1,20 @@ -package org.jivesoftware.smackx.jingle_ibb2; +/** + * + * Copyright 2017 Paul Schaub + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jivesoftware.smackx.jingle_ibb; import java.io.IOException; import java.util.WeakHashMap; @@ -10,21 +26,21 @@ import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smackx.bytestreams.BytestreamListener; import org.jivesoftware.smackx.bytestreams.BytestreamSession; import org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager; -import org.jivesoftware.smackx.jingle.JingleBytestreamManager; +import org.jivesoftware.smackx.jingle.AbstractJingleTransportManager; import org.jivesoftware.smackx.jingle.JingleTransportManager; import org.jivesoftware.smackx.jingle.element.Jingle; import org.jivesoftware.smackx.jingle.element.JingleAction; import org.jivesoftware.smackx.jingle.element.JingleContent; import org.jivesoftware.smackx.jingle.element.JingleContentDescription; import org.jivesoftware.smackx.jingle.provider.JingleContentTransportProvider; -import org.jivesoftware.smackx.jingle_ibb2.element.JingleIBBTransport; -import org.jivesoftware.smackx.jingle_ibb2.provider.JingleIBBTransportProvider; +import org.jivesoftware.smackx.jingle_ibb.element.JingleIBBTransport; +import org.jivesoftware.smackx.jingle_ibb.provider.JingleIBBTransportProvider; import org.jxmpp.jid.FullJid; /** * BytestreamManager for Jingle InBandBytestream Transports. */ -public final class JingleIBBTransportManager extends JingleBytestreamManager { +public final class JingleIBBTransportManager extends AbstractJingleTransportManager { private static final WeakHashMap INSTANCES = new WeakHashMap<>(); diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/element/JingleIBBTransport.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/element/JingleIBBTransport.java similarity index 73% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/element/JingleIBBTransport.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/element/JingleIBBTransport.java index 45b1da097..f25bf6049 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/element/JingleIBBTransport.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/element/JingleIBBTransport.java @@ -1,4 +1,20 @@ -package org.jivesoftware.smackx.jingle_ibb2.element; +/** + * + * Copyright 2017 Paul Schaub + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jivesoftware.smackx.jingle_ibb.element; import org.jivesoftware.smack.util.XmlStringBuilder; import org.jivesoftware.smackx.jingle.JingleTransportManager; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleTransportInputStreamCallback.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/element/package-info.java similarity index 76% rename from smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleTransportInputStreamCallback.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/element/package-info.java index 5c5210bd4..d8011dd0c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleTransportInputStreamCallback.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/element/package-info.java @@ -14,12 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jivesoftware.smackx.jingle; /** - * Created by vanitas on 06.06.17. + * Smack's API for XEP-0261: Jingle In-Band Bytestreams. + * Element classes. */ -public interface JingleTransportInputStreamCallback { - - void onInputStream(JingleInputStream inputStream); -} +package org.jivesoftware.smackx.jingle_ibb.element; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/package-info.java similarity index 94% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/package-info.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/package-info.java index c12738e2c..ad99c4d18 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/package-info.java @@ -18,4 +18,4 @@ /** * Smack's API for XEP-0261: Jingle In-Band Bytestreams. */ -package org.jivesoftware.smackx.jingle_ibb2; +package org.jivesoftware.smackx.jingle_ibb; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/provider/JingleIBBTransportProvider.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/provider/JingleIBBTransportProvider.java similarity index 91% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/provider/JingleIBBTransportProvider.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/provider/JingleIBBTransportProvider.java index a08c1db1b..d7b068d93 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/provider/JingleIBBTransportProvider.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/provider/JingleIBBTransportProvider.java @@ -14,10 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jivesoftware.smackx.jingle_ibb2.provider; +package org.jivesoftware.smackx.jingle_ibb.provider; import org.jivesoftware.smackx.jingle.provider.JingleContentTransportProvider; -import org.jivesoftware.smackx.jingle_ibb2.element.JingleIBBTransport; +import org.jivesoftware.smackx.jingle_ibb.element.JingleIBBTransport; import org.xmlpull.v1.XmlPullParser; /** diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/provider/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/provider/package-info.java similarity index 93% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/provider/package-info.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/provider/package-info.java index 930016ea4..737556547 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb2/provider/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_ibb/provider/package-info.java @@ -19,4 +19,4 @@ * Smack's API for XEP-0261: Jingle In-Band Bytestreams. * Provider classes. */ -package org.jivesoftware.smackx.jingle_ibb2.provider; +package org.jivesoftware.smackx.jingle_ibb.provider; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_s5b/JingleSocks5BytestreamTransportManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_s5b/JingleSocks5BytestreamTransportManager.java index d232edde8..8ef941d14 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_s5b/JingleSocks5BytestreamTransportManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_s5b/JingleSocks5BytestreamTransportManager.java @@ -31,7 +31,7 @@ import org.jivesoftware.smackx.bytestreams.BytestreamSession; import org.jivesoftware.smackx.bytestreams.socks5.Socks5BytestreamManager; import org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream; import org.jivesoftware.smackx.hashes.HashManager; -import org.jivesoftware.smackx.jingle.JingleBytestreamManager; +import org.jivesoftware.smackx.jingle.AbstractJingleTransportManager; import org.jivesoftware.smackx.jingle.JingleTransportManager; import org.jivesoftware.smackx.jingle.element.Jingle; import org.jivesoftware.smackx.jingle.element.JingleContentDescription; @@ -46,7 +46,7 @@ import org.jxmpp.jid.Jid; /** * Manager for JingleSocks5BytestreamTransports. */ -public final class JingleSocks5BytestreamTransportManager extends JingleBytestreamManager { +public final class JingleSocks5BytestreamTransportManager extends AbstractJingleTransportManager { private static final WeakHashMap INSTANCES = new WeakHashMap<>(); diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferChildElementTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferChildTest.java similarity index 97% rename from smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferChildElementTest.java rename to smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferChildTest.java index 364fcd68d..44ff02b33 100644 --- a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferChildElementTest.java +++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferChildTest.java @@ -29,7 +29,7 @@ import org.junit.Test; /** * Test the JingleContentFile class. */ -public class JingleFileTransferChildElementTest extends SmackTestSuite { +public class JingleFileTransferChildTest extends SmackTestSuite { @Test public void rangeTest() throws Exception { diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferContentDescriptionTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferContentDescriptionTest.java index 778aec9be..4d1a225d3 100644 --- a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferContentDescriptionTest.java +++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferContentDescriptionTest.java @@ -28,7 +28,7 @@ import org.jivesoftware.smackx.hashes.HashManager; import org.jivesoftware.smackx.hashes.element.HashElement; import org.jivesoftware.smackx.jingle.element.JingleContentDescription; import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildElement; -import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChildElement; +import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild; import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferContentDescription; import org.jivesoftware.smackx.jingle_filetransfer.element.Range; import org.jivesoftware.smackx.jingle_filetransfer.provider.JingleFileTransferContentDescriptionProvider; @@ -66,9 +66,9 @@ public class JingleFileTransferContentDescriptionTest extends SmackTestSuite { HashElement hashElement = new HashElement(algorithm, hashB64); Range range = new Range(); Date date = XmppDateTime.parseDate(dateString); - JingleFileTransferChildElement jingleFileTransferChildElement = new JingleFileTransferChildElement(date, descriptionString, hashElement, mediaTypeString, nameString, sizeInt, range); + JingleFileTransferChild jingleFileTransferChild = new JingleFileTransferChild(date, descriptionString, hashElement, mediaTypeString, nameString, sizeInt, range); ArrayList payloads = new ArrayList<>(); - payloads.add(jingleFileTransferChildElement); + payloads.add(jingleFileTransferChild); JingleFileTransferContentDescription descriptionFileTransfer = new JingleFileTransferContentDescription(payloads); @@ -78,7 +78,7 @@ public class JingleFileTransferContentDescriptionTest extends SmackTestSuite { .parse(TestUtils.getParser(xml)); assertEquals(xml, parsed.toXML().toString()); - JingleFileTransferChildElement payload = (JingleFileTransferChildElement) parsed.getJingleContentDescriptionChildren().get(0); + JingleFileTransferChild payload = (JingleFileTransferChild) parsed.getJingleContentDescriptionChildren().get(0); assertEquals(date, payload.getDate()); assertEquals(descriptionString, payload.getDescription()); assertEquals(mediaTypeString, payload.getMediaType()); @@ -107,7 +107,7 @@ public class JingleFileTransferContentDescriptionTest extends SmackTestSuite { "" + "" + ""; - JingleFileTransferChildElement payload = new JingleFileTransferChildElement(null, null, null, null, null, -1, range); + JingleFileTransferChild payload = new JingleFileTransferChild(null, null, null, null, null, -1, range); ArrayList list = new ArrayList<>(); list.add(payload); JingleFileTransferContentDescription fileTransfer = new JingleFileTransferContentDescription(list); diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_ibb/JingleIBBTransportTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_ibb/JingleIBBTransportTest.java index 913914165..f854ae882 100644 --- a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_ibb/JingleIBBTransportTest.java +++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_ibb/JingleIBBTransportTest.java @@ -24,8 +24,8 @@ import static junit.framework.TestCase.assertTrue; import org.jivesoftware.smack.test.util.SmackTestSuite; import org.jivesoftware.smack.test.util.TestUtils; import org.jivesoftware.smackx.jingle.JingleTransportManager; -import org.jivesoftware.smackx.jingle_ibb2.element.JingleIBBTransport; -import org.jivesoftware.smackx.jingle_ibb2.provider.JingleIBBTransportProvider; +import org.jivesoftware.smackx.jingle_ibb.element.JingleIBBTransport; +import org.jivesoftware.smackx.jingle_ibb.provider.JingleIBBTransportProvider; import org.junit.Test; /** diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleBytestreamManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/AbstractJingleTransportManager.java similarity index 70% rename from smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleBytestreamManager.java rename to smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/AbstractJingleTransportManager.java index a27f018d9..882417b1a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleBytestreamManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/AbstractJingleTransportManager.java @@ -1,3 +1,19 @@ +/** + * + * Copyright © 2017 Paul Schaub + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.jivesoftware.smackx.jingle; import java.io.IOException; @@ -16,12 +32,12 @@ import org.jivesoftware.smackx.jingle.provider.JingleContentTransportProvider; import org.jxmpp.jid.FullJid; /** - * Created by vanitas on 09.06.17. + * This class defines the shape that JingleTransportManager must be of. */ -public abstract class JingleBytestreamManager +public abstract class AbstractJingleTransportManager extends Manager { - public JingleBytestreamManager(XMPPConnection connection) { + public AbstractJingleTransportManager(XMPPConnection connection) { super(connection); JingleTransportManager.getInstanceFor(connection).registerJingleContentTransportManager(this); JingleContentProviderManager.addJingleContentTransportProvider(getNamespace(), createJingleContentTransportProvider()); diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleTransportManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleTransportManager.java index e2b9668fe..99b3f2293 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleTransportManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleTransportManager.java @@ -34,7 +34,7 @@ public final class JingleTransportManager extends Manager { public static final WeakHashMap INSTANCES = new WeakHashMap<>(); - private final HashMap> contentTransportManagers = new HashMap<>(); + private final HashMap> contentTransportManagers = new HashMap<>(); private JingleTransportManager(XMPPConnection connection) { super(connection); @@ -49,27 +49,27 @@ public final class JingleTransportManager extends Manager { return manager; } - public JingleBytestreamManager getJingleContentTransportManager(String namespace) throws UnsupportedJingleTransportException { - JingleBytestreamManager manager = contentTransportManagers.get(namespace); + public AbstractJingleTransportManager getJingleContentTransportManager(String namespace) throws UnsupportedJingleTransportException { + AbstractJingleTransportManager manager = contentTransportManagers.get(namespace); if (manager == null) { throw new UnsupportedJingleTransportException("Cannot find registered JingleContentTransportManager for " + namespace); } return manager; } - public JingleBytestreamManager getJingleContentTransportManager(Jingle jingle) throws UnsupportedJingleTransportException { + public AbstractJingleTransportManager getJingleContentTransportManager(Jingle jingle) throws UnsupportedJingleTransportException { return getJingleContentTransportManager(jingle.getContents().get(0).getJingleTransports().get(0).getNamespace()); } - public void registerJingleContentTransportManager(JingleBytestreamManager manager) { + public void registerJingleContentTransportManager(AbstractJingleTransportManager manager) { contentTransportManagers.put(manager.getNamespace(), manager); } - public void unregisterJingleContentTransportManager(JingleBytestreamManager manager) { + public void unregisterJingleContentTransportManager(AbstractJingleTransportManager manager) { contentTransportManagers.remove(manager.getNamespace()); } - public Collection> getAvailableJingleBytestreamManagers() { + public Collection> getAvailableJingleBytestreamManagers() { return Collections.unmodifiableCollection(contentTransportManagers.values()); } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/PendingJingleSession.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/PendingJingleSession.java deleted file mode 100644 index 05ba78e3f..000000000 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/PendingJingleSession.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.jivesoftware.smackx.jingle; - -import java.io.File; - -import org.jivesoftware.smackx.jingle.element.Jingle; - -/** - * Created by vanitas on 09.06.17. - */ -public class PendingJingleSession { - - public PendingJingleSession(Jingle initiation, File file) { - - } -}