mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-22 06:12:05 +01:00
Add Message.toString() providing a short description
This commit is contained in:
parent
98ec77caee
commit
86e11e69e8
8 changed files with 126 additions and 4 deletions
|
@ -112,6 +112,18 @@ public abstract class IQ extends Stanza {
|
||||||
return childElementNamespace;
|
return childElementNamespace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final String toString() {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append("IQ Stanza (");
|
||||||
|
sb.append(getChildElementName()).append(' ').append(getChildElementNamespace());
|
||||||
|
sb.append(") [");
|
||||||
|
logCommonAttributes(sb);
|
||||||
|
sb.append("type=").append(type).append(',');
|
||||||
|
sb.append(']');
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final XmlStringBuilder toXML() {
|
public final XmlStringBuilder toXML() {
|
||||||
XmlStringBuilder buf = new XmlStringBuilder();
|
XmlStringBuilder buf = new XmlStringBuilder();
|
||||||
|
|
|
@ -418,6 +418,18 @@ public final class Message extends Stanza implements TypedCloneable<Message> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append("Message Stanza [");
|
||||||
|
logCommonAttributes(sb);
|
||||||
|
if (type != null) {
|
||||||
|
sb.append("type=").append(type).append(',');
|
||||||
|
}
|
||||||
|
sb.append(']');
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public XmlStringBuilder toXML() {
|
public XmlStringBuilder toXML() {
|
||||||
XmlStringBuilder buf = new XmlStringBuilder();
|
XmlStringBuilder buf = new XmlStringBuilder();
|
||||||
|
|
|
@ -21,6 +21,7 @@ import java.util.Locale;
|
||||||
|
|
||||||
import org.jivesoftware.smack.packet.id.StanzaIdUtil;
|
import org.jivesoftware.smack.packet.id.StanzaIdUtil;
|
||||||
import org.jivesoftware.smack.util.Objects;
|
import org.jivesoftware.smack.util.Objects;
|
||||||
|
import org.jivesoftware.smack.util.StringUtils;
|
||||||
import org.jivesoftware.smack.util.TypedCloneable;
|
import org.jivesoftware.smack.util.TypedCloneable;
|
||||||
import org.jivesoftware.smack.util.XmlStringBuilder;
|
import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
|
|
||||||
|
@ -222,6 +223,25 @@ public final class Presence extends Stanza implements TypedCloneable<Presence> {
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append("Presence Stanza [");
|
||||||
|
logCommonAttributes(sb);
|
||||||
|
sb.append("type=").append(type).append(',');
|
||||||
|
if (mode != null) {
|
||||||
|
sb.append("mode=").append(mode).append(',');
|
||||||
|
}
|
||||||
|
if (!StringUtils.isNullOrEmpty(status)) {
|
||||||
|
sb.append("status=").append(status).append(',');
|
||||||
|
}
|
||||||
|
if (priority != Integer.MIN_VALUE) {
|
||||||
|
sb.append("prio=").append(priority).append(',');
|
||||||
|
}
|
||||||
|
sb.append(']');
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public XmlStringBuilder toXML() {
|
public XmlStringBuilder toXML() {
|
||||||
XmlStringBuilder buf = new XmlStringBuilder();
|
XmlStringBuilder buf = new XmlStringBuilder();
|
||||||
|
|
|
@ -458,11 +458,11 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
return removeExtension(extension.getElementName(), extension.getNamespace());
|
return removeExtension(extension.getElementName(), extension.getNamespace());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a short String describing the Stanza. This method is suited for log purposes.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
// NOTE When Smack is using Java 8, then this method should be moved in Element as "Default Method".
|
public abstract String toString();
|
||||||
public String toString() {
|
|
||||||
return toXML().toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the extension sub-packets (including properties data) as an XML
|
* Returns the extension sub-packets (including properties data) as an XML
|
||||||
|
@ -501,6 +501,18 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
xml.xmllangAttribute(getLanguage());
|
xml.xmllangAttribute(getLanguage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void logCommonAttributes(StringBuilder sb) {
|
||||||
|
if (getTo() != null) {
|
||||||
|
sb.append("to=").append(to).append(',');
|
||||||
|
}
|
||||||
|
if (getFrom() != null) {
|
||||||
|
sb.append("from=").append(from).append(',');
|
||||||
|
}
|
||||||
|
if (hasStanzaIdSet()) {
|
||||||
|
sb.append("id=").append(id).append(',');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Append an XMPPError is this stanza(/packet) has one set.
|
* Append an XMPPError is this stanza(/packet) has one set.
|
||||||
*
|
*
|
||||||
|
|
|
@ -206,5 +206,10 @@ public class PacketCollectorTest
|
||||||
{
|
{
|
||||||
return "<packetId>" + getStanzaId() + "</packetId>";
|
return "<packetId>" + getStanzaId() + "</packetId>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return toXML();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Copyright © 2016 Florian Schmaus
|
||||||
|
*
|
||||||
|
* 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.smack.packet;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
import org.jivesoftware.smack.packet.Presence.Mode;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.jxmpp.jid.JidTestUtil;
|
||||||
|
import org.jxmpp.stringprep.XmppStringprepException;
|
||||||
|
|
||||||
|
public class ToStringTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void messageTest() {
|
||||||
|
Message message = new Message(JidTestUtil.BARE_JID_1, Message.Type.headline);
|
||||||
|
message.setStanzaId("message-id");
|
||||||
|
String string = message.toString();
|
||||||
|
assertEquals("Message Stanza [to=one@exampleone.org,id=message-id,type=headline,]", string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void presenceTest() {
|
||||||
|
Presence presence = new Presence(Presence.Type.subscribe, null, 0, Mode.away);
|
||||||
|
presence.setStanzaId("presence-id");
|
||||||
|
String string = presence.toString();
|
||||||
|
assertEquals("Presence Stanza [id=presence-id,type=subscribe,mode=away,prio=0,]", string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void iqTest() throws XmppStringprepException {
|
||||||
|
Bind bindIq = Bind.newResult(JidTestUtil.DUMMY_AT_EXAMPLE_ORG_SLASH_DUMMYRESOURCE);
|
||||||
|
bindIq.setStanzaId("bind-id");
|
||||||
|
String string = bindIq.toString();
|
||||||
|
assertEquals("IQ Stanza (bind urn:ietf:params:xml:ns:xmpp-bind) [id=bind-id,type=get,]", string);
|
||||||
|
}
|
||||||
|
}
|
|
@ -996,6 +996,11 @@ public class EnhancedDebugger implements SmackDebugger {
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return toXML();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -311,6 +311,11 @@ public class MultipleRecipientManager {
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return toXML().toString();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue