From c4ef2c95525ff5054401df4ccae72b5d28990a2b Mon Sep 17 00:00:00 2001 From: vanitasvitae Date: Fri, 23 Jun 2017 23:41:40 +0200 Subject: [PATCH] Temp --- .../IncomingJingleFileOffer.java | 6 +++--- .../OutgoingJingleFileOffer.java | 11 +++-------- .../{ReceivingThread.java => ReceiveTask.java} | 6 +++--- .../{SendingThread.java => SendTask.java} | 16 +++------------- .../smackx/jingle/JingleManager.java | 3 +-- .../jingle_ibb/JingleIBBTransportSession.java | 7 ++++++- 6 files changed, 19 insertions(+), 30 deletions(-) rename smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/{ReceivingThread.java => ReceiveTask.java} (94%) rename smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/{SendingThread.java => SendTask.java} (81%) diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/IncomingJingleFileOffer.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/IncomingJingleFileOffer.java index 6d5507bc7..4a9a19ed8 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/IncomingJingleFileOffer.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/IncomingJingleFileOffer.java @@ -42,7 +42,7 @@ import org.jxmpp.jid.FullJid; public class IncomingJingleFileOffer extends JingleFileTransferSession implements IncomingFileOfferCallback { private static final Logger LOGGER = Logger.getLogger(IncomingJingleFileOffer.class.getName()); private Jingle pendingSessionInitiate = null; - private ReceivingThread receivingThread; + private ReceiveTask receivingThread; public enum State { fresh, @@ -143,8 +143,8 @@ public class IncomingJingleFileOffer extends JingleFileTransferSession implement transportSession.initiateIncomingSession(new JingleTransportInitiationCallback() { @Override public void onSessionInitiated(BytestreamSession bytestreamSession) { - receivingThread = new ReceivingThread(bytestreamSession, file, target); - receivingThread.start(); + receivingThread = new ReceiveTask(bytestreamSession, file, target); + queued.add(threadPool.submit(receivingThread)); } @Override diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/OutgoingJingleFileOffer.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/OutgoingJingleFileOffer.java index 3b030eb6c..c0378b15b 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/OutgoingJingleFileOffer.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/OutgoingJingleFileOffer.java @@ -51,7 +51,7 @@ public class OutgoingJingleFileOffer extends JingleFileTransferSession { terminated } - private Thread sendingThread; + private Runnable sendingThread; private File source; private State state; @@ -110,8 +110,8 @@ public class OutgoingJingleFileOffer extends JingleFileTransferSession { @Override public void onSessionInitiated(final BytestreamSession session) { LOGGER.log(Level.INFO, "BytestreamSession initiated. Start transfer."); - sendingThread = new SendingThread(session, source); - sendingThread.start(); + sendingThread = new SendTask(session, source); + queued.add(threadPool.submit(sendingThread)); } @Override @@ -129,11 +129,6 @@ public class OutgoingJingleFileOffer extends JingleFileTransferSession { public IQ handleSessionTerminate(Jingle sessionTerminate) { LOGGER.log(Level.INFO, "Received session-terminate: " + sessionTerminate.getReason().asEnum()); - if (sendingThread != null && !sendingThread.isInterrupted()) { - LOGGER.log(Level.INFO, "Interrupt sending thread."); - sendingThread.interrupt(); - } - state = State.terminated; return jutil.createAck(sessionTerminate); } diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/ReceivingThread.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/ReceiveTask.java similarity index 94% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/ReceivingThread.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/ReceiveTask.java index a6ef9c533..2909f62b9 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/ReceivingThread.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/ReceiveTask.java @@ -30,14 +30,14 @@ import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChi /** * Thread for receiving data. */ -public class ReceivingThread extends Thread { - private static final Logger LOGGER = Logger.getLogger(ReceivingThread.class.getName()); +public class ReceiveTask implements Runnable { + private static final Logger LOGGER = Logger.getLogger(ReceiveTask.class.getName()); private final BytestreamSession session; private final JingleFileTransfer fileTransfer; private final File target; - public ReceivingThread(BytestreamSession session, JingleFileTransfer fileTransfer, File target) { + public ReceiveTask(BytestreamSession session, JingleFileTransfer fileTransfer, File target) { this.session = session; this.fileTransfer = fileTransfer; this.target = target; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/SendingThread.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/SendTask.java similarity index 81% rename from smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/SendingThread.java rename to smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/SendTask.java index 441c140a6..b3c511ce8 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/SendingThread.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/SendTask.java @@ -29,13 +29,13 @@ import org.jivesoftware.smackx.bytestreams.BytestreamSession; /** * Created by vanitas on 21.06.17. */ -public class SendingThread extends Thread { - private static final Logger LOGGER = Logger.getLogger(SendingThread.class.getName()); +public class SendTask implements Runnable { + private static final Logger LOGGER = Logger.getLogger(SendTask.class.getName()); private final BytestreamSession session; private final File source; - public SendingThread(BytestreamSession session, File source) { + public SendTask(BytestreamSession session, File source) { this.session = session; this.source = source; } @@ -69,14 +69,4 @@ public class SendingThread extends Thread { } } } - - @Override - public void interrupt() { - try { - session.close(); - } catch (IOException e) { - LOGGER.log(Level.SEVERE, "Could not close session.", e); - } - super.interrupt(); - } } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleManager.java index 9d26b689d..c2636ac1b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/JingleManager.java @@ -34,7 +34,6 @@ 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.transports.jingle_ibb.JingleIBBTransportManager; -import org.jivesoftware.smackx.jingle.transports.jingle_s5b.JingleS5BTransportManager; import org.jxmpp.jid.FullJid; @@ -103,7 +102,7 @@ public final class JingleManager extends Manager { //Register transports. JingleTransportMethodManager transportMethodManager = JingleTransportMethodManager.getInstanceFor(connection); transportMethodManager.registerTransportManager(JingleIBBTransportManager.getInstanceFor(connection)); - transportMethodManager.registerTransportManager(JingleS5BTransportManager.getInstanceFor(connection)); + //transportMethodManager.registerTransportManager(JingleS5BTransportManager.getInstanceFor(connection)); } public JingleHandler registerDescriptionHandler(String namespace, JingleHandler handler) { diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_ibb/JingleIBBTransportSession.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_ibb/JingleIBBTransportSession.java index e4a3f9560..84d950051 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_ibb/JingleIBBTransportSession.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_ibb/JingleIBBTransportSession.java @@ -16,6 +16,9 @@ */ package org.jivesoftware.smackx.jingle.transports.jingle_ibb; +import java.util.logging.Level; +import java.util.logging.Logger; + import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.IQ; @@ -31,6 +34,7 @@ import org.jivesoftware.smackx.jingle.transports.JingleTransportSession; import org.jivesoftware.smackx.jingle.transports.jingle_ibb.element.JingleIBBTransport; public class JingleIBBTransportSession extends JingleTransportSession { + private static final Logger LOGGER = Logger.getLogger(JingleIBBTransportSession.class.getName()); private final JingleIBBTransportManager transportManager; @@ -53,6 +57,7 @@ public class JingleIBBTransportSession extends JingleTransportSession