@Override public Writer newConnectionWriter(Writer newWriter) { writer.removeWriterListener(slf4JRawXmlListener); writer = new ObservableWriter(newWriter); writer.addWriterListener(slf4JRawXmlListener); return writer; }
@Override public void flush() throws IOException { notifyListeners(); wrappedWriter.flush(); }
@Override public void write(String str) throws IOException { wrappedWriter.write(str); maybeNotifyListeners(str); }
/** * Create new SLF4J Smack Debugger instance. * @param connection Smack connection to debug */ SLF4JSmackDebugger(XMPPConnection connection) { super(connection); this.writer = new ObservableWriter(writer); this.writer.addWriterListener(slf4JRawXmlListener); this.reader = new ObservableReader(Validate.notNull(reader)); this.reader.addReaderListener(slf4JRawXmlListener); final SLF4JLoggingConnectionListener loggingConnectionListener = new SLF4JLoggingConnectionListener(connection, logger); this.connection.addConnectionListener(loggingConnectionListener); if (connection instanceof AbstractXMPPConnection) { AbstractXMPPConnection abstractXmppConnection = (AbstractXMPPConnection) connection; ReconnectionManager.getInstanceFor(abstractXmppConnection).addReconnectionListener(loggingConnectionListener); } else { LOGGER.info("The connection instance " + connection + " is not an instance of AbstractXMPPConnection, thus we can not install the ReconnectionListener"); } }
/** * Notification that the root window is closing. Stop listening for received and * transmitted packets. * * @param evt the event that indicates that the root window is closing */ public void rootWindowClosing(WindowEvent evt) { // TODO: Remove debugger from connection. ((ObservableReader) reader).removeReaderListener(readerListener); ((ObservableWriter) writer).removeWriterListener(writerListener); }
this.writer = new ObservableWriter(writer); writerListener = new WriterListener() { @Override this.writer.addWriterListener(writerListener);
/** * Stops debugging the connection. Removes any listener on the connection. */ void cancel() { connection.removeConnectionListener(connListener); ((ObservableReader) reader).removeReaderListener(readerListener); ((ObservableWriter) writer).removeWriterListener(writerListener); messagesTable = null; }
@Override public Writer newConnectionWriter(Writer newWriter) { ((ObservableWriter) writer).removeWriterListener(writerListener); ObservableWriter debugWriter = new ObservableWriter(newWriter); debugWriter.addWriterListener(writerListener); writer = debugWriter; return writer; }
ObservableWriter debugWriter = new ObservableWriter(writer); writerListener = new WriterListener() { @Override debugWriter.addWriterListener(writerListener);
private void maybeNotifyListeners(String s) { stringBuilder.append(s); if (stringBuilder.length() > MAX_STRING_BUILDER_SIZE) { notifyListeners(); } }
/** * Notification that the root window is closing. Stop listening for received and * transmitted packets. * * @param evt the event that indicates that the root window is closing */ public void rootWindowClosing(WindowEvent evt) { connection.removePacketListener(listener); ((ObservableReader)reader).removeReaderListener(readerListener); ((ObservableWriter)writer).removeWriterListener(writerListener); }
@Override public void write(char[] cbuf, int off, int len) throws IOException { wrappedWriter.write(cbuf, off, len); String str = new String(cbuf, off, len); maybeNotifyListeners(str); }
@Override public Writer newConnectionWriter(Writer newWriter) { ((ObservableWriter) writer).removeWriterListener(writerListener); ObservableWriter debugWriter = new ObservableWriter(newWriter); debugWriter.addWriterListener(writerListener); writer = debugWriter; return writer; }
ObservableWriter debugWriter = new ObservableWriter(writer); writerListener = new WriterListener() { @Override debugWriter.addWriterListener(writerListener);
@Override public void flush() throws IOException { notifyListeners(); wrappedWriter.flush(); }
/** * Notification that the root window is closing. Stop listening for received and * transmitted packets. * * @param evt the event that indicates that the root window is closing */ public void rootWindowClosing(WindowEvent evt) { connection.removePacketListener(listener); ((ObservableReader)reader).removeReaderListener(readerListener); ((ObservableWriter)writer).removeWriterListener(writerListener); }
@Override public void write(String str, int off, int len) throws IOException { wrappedWriter.write(str, off, len); str = str.substring(off, off + len); maybeNotifyListeners(str); }
@Override public Writer newConnectionWriter(Writer newWriter) { writer.removeWriterListener(writerListener); ObservableWriter debugWriter = new ObservableWriter(newWriter); debugWriter.addWriterListener(writerListener); writer = debugWriter; return writer; }
ObservableWriter debugWriter = new ObservableWriter(writer); writerListener = new WriterListener() { public void write(String str) { debugWriter.addWriterListener(writerListener);
public void write(String str) throws IOException { wrappedWriter.write(str); notifyListeners(str); }