mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2025-12-07 13:41:08 +01:00
Introduce StanzaBuilder
As first step to immutable Stanza types.
This commit is contained in:
parent
926c5892ad
commit
5db6191110
134 changed files with 2576 additions and 764 deletions
|
|
@ -39,7 +39,7 @@ public class IBBPacketUtils {
|
|||
* @return an error IQ
|
||||
*/
|
||||
public static IQ createErrorIQ(Jid from, Jid to, StanzaError.Condition condition) {
|
||||
StanzaError.Builder xmppError = StanzaError.getBuilder(condition);
|
||||
StanzaError xmppError = StanzaError.getBuilder(condition).build();
|
||||
IQ errorIQ = new ErrorIQ(xmppError);
|
||||
errorIQ.setType(IQ.Type.error);
|
||||
errorIQ.setFrom(from);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ import org.jivesoftware.smack.XMPPConnection;
|
|||
import org.jivesoftware.smack.XMPPException;
|
||||
import org.jivesoftware.smack.packet.IQ;
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.util.stringencoder.Base64;
|
||||
|
||||
import org.jivesoftware.smackx.InitExtensions;
|
||||
|
|
@ -266,8 +267,9 @@ public class InBandBytestreamSessionMessageTest extends InitExtensions {
|
|||
// build invalid packet with out of order sequence
|
||||
String base64Data = Base64.encode("Data");
|
||||
DataPacketExtension dpe = new DataPacketExtension(sessionID, 123, base64Data);
|
||||
Message dataMessage = new Message();
|
||||
dataMessage.addExtension(dpe);
|
||||
Message dataMessage = StanzaBuilder.buildMessage()
|
||||
.addExtension(dpe)
|
||||
.build();
|
||||
|
||||
// add data packets
|
||||
listener.processStanza(dataMessage);
|
||||
|
|
@ -307,8 +309,9 @@ public class InBandBytestreamSessionMessageTest extends InitExtensions {
|
|||
for (int i = 0; i < controlData.length / blockSize; i++) {
|
||||
String base64Data = Base64.encodeToString(controlData, i * blockSize, blockSize);
|
||||
DataPacketExtension dpe = new DataPacketExtension(sessionID, i, base64Data);
|
||||
Message dataMessage = new Message();
|
||||
dataMessage.addExtension(dpe);
|
||||
Message dataMessage = StanzaBuilder.buildMessage()
|
||||
.addExtension(dpe)
|
||||
.build();
|
||||
listener.processStanza(dataMessage);
|
||||
}
|
||||
|
||||
|
|
@ -352,8 +355,9 @@ public class InBandBytestreamSessionMessageTest extends InitExtensions {
|
|||
for (int i = 0; i < controlData.length / blockSize; i++) {
|
||||
String base64Data = Base64.encodeToString(controlData, i * blockSize, blockSize);
|
||||
DataPacketExtension dpe = new DataPacketExtension(sessionID, i, base64Data);
|
||||
Message dataMessage = new Message();
|
||||
dataMessage.addExtension(dpe);
|
||||
Message dataMessage = StanzaBuilder.buildMessage()
|
||||
.addExtension(dpe)
|
||||
.build();
|
||||
listener.processStanza(dataMessage);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -413,8 +413,8 @@ public class Socks5ByteStreamManagerTest {
|
|||
Verification.requestTypeGET);
|
||||
|
||||
// build error packet to reject SOCKS5 Bytestream
|
||||
StanzaError.Builder builder = StanzaError.getBuilder(StanzaError.Condition.not_acceptable);
|
||||
IQ rejectPacket = new ErrorIQ(builder);
|
||||
StanzaError stanzaError = StanzaError.getBuilder(StanzaError.Condition.not_acceptable).build();
|
||||
IQ rejectPacket = new ErrorIQ(stanzaError);
|
||||
rejectPacket.setFrom(targetJID);
|
||||
rejectPacket.setTo(initiatorJID);
|
||||
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ public class Socks5ClientForInitiatorTest {
|
|||
XMPPConnection connection = ConnectionUtils.createMockedConnection(protocol, initiatorJID);
|
||||
|
||||
// build error response as reply to the stream activation
|
||||
IQ error = new ErrorIQ(StanzaError.getBuilder(StanzaError.Condition.internal_server_error));
|
||||
IQ error = new ErrorIQ(StanzaError.getBuilder(StanzaError.Condition.internal_server_error).build());
|
||||
error.setFrom(proxyJID);
|
||||
error.setTo(initiatorJID);
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import static org.jivesoftware.smack.test.util.XmlUnitUtils.assertXmlSimilar;
|
|||
import java.util.Date;
|
||||
|
||||
import org.jivesoftware.smack.packet.Presence;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||
import org.jivesoftware.smack.test.util.TestUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
|
@ -50,7 +51,9 @@ public class IdleTest extends SmackTestSuite {
|
|||
|
||||
@Test
|
||||
public void helperTest() {
|
||||
Presence presence = new Presence(Presence.Type.available);
|
||||
Presence presence = StanzaBuilder.buildPresence()
|
||||
.ofType(Presence.Type.available)
|
||||
.build();
|
||||
IdleElement.addToPresence(presence);
|
||||
IdleElement element = IdleElement.fromPresence(presence);
|
||||
assertNotNull(element);
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import static junit.framework.TestCase.assertNotNull;
|
|||
import static junit.framework.TestCase.assertTrue;
|
||||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||
|
||||
import org.jivesoftware.smackx.mood.element.MoodElement;
|
||||
|
|
@ -32,7 +33,7 @@ public class MoodManagerTest extends SmackTestSuite {
|
|||
|
||||
@Test
|
||||
public void addMessageTest() {
|
||||
Message message = new Message();
|
||||
Message message = StanzaBuilder.buildMessage().build();
|
||||
MoodManager.addMoodToMessage(message, Mood.sad);
|
||||
|
||||
assertTrue(message.hasExtension(MoodElement.ELEMENT, MoodElement.NAMESPACE));
|
||||
|
|
@ -43,7 +44,7 @@ public class MoodManagerTest extends SmackTestSuite {
|
|||
assertFalse(element.hasConcretisation());
|
||||
assertFalse(element.hasText());
|
||||
|
||||
message = new Message();
|
||||
message = StanzaBuilder.buildMessage().build();
|
||||
MoodManager.addMoodToMessage(message, Mood.happy, new MoodConcretisationTest.EcstaticMoodConcretisation());
|
||||
element = MoodElement.fromMessage(message);
|
||||
assertTrue(element.hasConcretisation());
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public class ConfigureFormTest extends InitExtensions {
|
|||
PubSub errorIq = new PubSub();
|
||||
errorIq.setType(Type.error);
|
||||
errorIq.setFrom(PubSubManagerTest.DUMMY_PUBSUB_SERVICE);
|
||||
StanzaError.Builder error = StanzaError.getBuilder(Condition.forbidden);
|
||||
StanzaError error = StanzaError.getBuilder(Condition.forbidden).build();
|
||||
errorIq.setError(error);
|
||||
con.addIQReply(errorIq);
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,9 @@ import java.util.Properties;
|
|||
|
||||
import org.jivesoftware.smack.DummyConnection;
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.MessageBuilder;
|
||||
import org.jivesoftware.smack.packet.Stanza;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.test.util.WaitForPacketListener;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
|
@ -38,7 +40,6 @@ import org.jivesoftware.smackx.receipts.DeliveryReceiptManager.AutoReceiptMode;
|
|||
import com.jamesmurty.utils.XMLBuilder;
|
||||
import org.junit.Test;
|
||||
import org.jxmpp.jid.Jid;
|
||||
import org.jxmpp.jid.impl.JidCreate;
|
||||
|
||||
public class DeliveryReceiptTest extends InitExtensions {
|
||||
|
||||
|
|
@ -66,10 +67,13 @@ public class DeliveryReceiptTest extends InitExtensions {
|
|||
|
||||
assertTrue(DeliveryReceiptManager.hasDeliveryReceiptRequest(p));
|
||||
|
||||
Message m = new Message(JidCreate.from("romeo@montague.com"), Message.Type.normal);
|
||||
assertFalse(DeliveryReceiptManager.hasDeliveryReceiptRequest(m));
|
||||
DeliveryReceiptRequest.addTo(m);
|
||||
assertTrue(DeliveryReceiptManager.hasDeliveryReceiptRequest(m));
|
||||
MessageBuilder messageBuilder = StanzaBuilder.buildMessage("request-id")
|
||||
.to("romeo@montague.com")
|
||||
.ofType(Message.Type.normal)
|
||||
;
|
||||
assertFalse(DeliveryReceiptManager.hasDeliveryReceiptRequest(messageBuilder.build()));
|
||||
DeliveryReceiptRequest.addTo(messageBuilder);
|
||||
assertTrue(DeliveryReceiptManager.hasDeliveryReceiptRequest(messageBuilder.build()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -81,10 +85,12 @@ public class DeliveryReceiptTest extends InitExtensions {
|
|||
TestReceiptReceivedListener rrl = new TestReceiptReceivedListener();
|
||||
drm.addReceiptReceivedListener(rrl);
|
||||
|
||||
Message m = new Message(JidCreate.from("romeo@montague.com"), Message.Type.normal);
|
||||
m.setFrom(JidCreate.from("julia@capulet.com"));
|
||||
m.setStanzaId("reply-id");
|
||||
m.addExtension(new DeliveryReceipt("original-test-id"));
|
||||
Message m = StanzaBuilder.buildMessage("reply-id")
|
||||
.from("julia@capulet.com")
|
||||
.to("romeo@montague.com")
|
||||
.ofType(Message.Type.normal)
|
||||
.addExtension(new DeliveryReceipt("original-test-id"))
|
||||
.build();
|
||||
c.processStanza(m);
|
||||
|
||||
rrl.waitUntilInvocationOrTimeout();
|
||||
|
|
@ -110,13 +116,15 @@ public class DeliveryReceiptTest extends InitExtensions {
|
|||
assertEquals(AutoReceiptMode.always, drm.getAutoReceiptMode());
|
||||
|
||||
// test auto-receipts
|
||||
Message m = new Message(JidCreate.from("julia@capulet.com"), Message.Type.normal);
|
||||
m.setFrom(JidCreate.from("romeo@montague.com"));
|
||||
m.setStanzaId("test-receipt-request");
|
||||
DeliveryReceiptRequest.addTo(m);
|
||||
MessageBuilder messageBuilder = StanzaBuilder.buildMessage("test-receipt-request")
|
||||
.to("julia@capulet.com")
|
||||
.from("romeo@montague.com")
|
||||
.ofType(Message.Type.normal)
|
||||
;
|
||||
DeliveryReceiptRequest.addTo(messageBuilder);
|
||||
|
||||
// the DRM will send a reply-packet
|
||||
c.processStanza(m);
|
||||
c.processStanza(messageBuilder.build());
|
||||
|
||||
Stanza reply = c.getSentPacket();
|
||||
DeliveryReceipt r = DeliveryReceipt.from((Message) reply);
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import java.net.URI;
|
|||
import java.net.URISyntaxException;
|
||||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||
import org.jivesoftware.smackx.usertune.element.UserTuneElement;
|
||||
|
||||
|
|
@ -45,8 +46,9 @@ public class UserTuneManagerTest extends SmackTestSuite{
|
|||
builder.setUri(uri);
|
||||
UserTuneElement userTuneElement = builder.build();
|
||||
|
||||
Message message = new Message();
|
||||
message.addExtension(userTuneElement);
|
||||
Message message = StanzaBuilder.buildMessage()
|
||||
.addExtension(userTuneElement)
|
||||
.build();
|
||||
|
||||
assertTrue(message.hasExtension(UserTuneElement.ELEMENT, UserTuneElement.NAMESPACE));
|
||||
assertTrue(UserTuneElement.hasUserTuneElement(message));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue