org.jivesoftware.smack.packet.Message.toXML()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(15.3k)|赞(0)|评价(0)|浏览(230)

本文整理了Java中org.jivesoftware.smack.packet.Message.toXML()方法的一些代码示例,展示了Message.toXML()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.toXML()方法的具体详情如下:
包路径:org.jivesoftware.smack.packet.Message
类名称:Message
方法名:toXML

Message.toXML介绍

暂无

代码示例

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void messageXmlLangTest() throws IOException, SAXException {
  3. final String lang = "sp";
  4. StringBuilder controlBuilder = new StringBuilder();
  5. controlBuilder.append("<message")
  6. .append(" xml:lang=\"")
  7. .append(lang)
  8. .append("\">")
  9. .append("</message>");
  10. String control = controlBuilder.toString();
  11. Message message = getNewMessage();
  12. message.setLanguage(lang);
  13. assertXMLEqual(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  14. }

代码示例来源:origin: igniterealtime/Smack

  1. /**
  2. * Creates a new {@link Chat} based on the message. May returns null if no chat could be
  3. * created, e.g. because the message comes without from.
  4. *
  5. * @param message
  6. * @return a Chat or null if none can be created
  7. */
  8. private Chat createChat(Message message) {
  9. Jid from = message.getFrom();
  10. // According to RFC6120 8.1.2.1 4. messages without a 'from' attribute are valid, but they
  11. // are of no use in this case for ChatManager
  12. if (from == null) {
  13. return null;
  14. }
  15. EntityJid userJID = from.asEntityJidIfPossible();
  16. if (userJID == null) {
  17. LOGGER.warning("Message from JID without localpart: '" + message.toXML(null) + "'");
  18. return null;
  19. }
  20. String threadID = message.getThread();
  21. if (threadID == null) {
  22. threadID = nextID();
  23. }
  24. return createChat(userJID, threadID, false);
  25. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void oneMessageBodyTest() throws IOException, SAXException {
  3. final String messageBody = "This is a test of the emergency broadcast system.";
  4. StringBuilder controlBuilder = new StringBuilder();
  5. controlBuilder.append("<message>")
  6. .append("<body>")
  7. .append(messageBody)
  8. .append("</body>")
  9. .append("</message>");
  10. String control = controlBuilder.toString();
  11. Message message = getNewMessage();
  12. message.setBody(messageBody);
  13. assertEquals(messageBody, message.getBody());
  14. assertXMLEqual(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  15. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void setMessageSubjectTest() throws IOException, SAXException {
  3. final String messageSubject = "This is a test of the emergency broadcast system.";
  4. StringBuilder controlBuilder = new StringBuilder();
  5. controlBuilder.append("<message>")
  6. .append("<subject>")
  7. .append(messageSubject)
  8. .append("</subject>")
  9. .append("</message>");
  10. String control = controlBuilder.toString();
  11. Message message = getNewMessage();
  12. message.setSubject(messageSubject);
  13. assertEquals(messageSubject, message.getSubject());
  14. assertXMLEqual(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  15. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void setMessageThreadTest() throws IOException, SAXException {
  3. final String messageThread = "1234";
  4. StringBuilder controlBuilder = new StringBuilder();
  5. controlBuilder.append("<message>")
  6. .append("<thread>")
  7. .append(messageThread)
  8. .append("</thread>")
  9. .append("</message>");
  10. String control = controlBuilder.toString();
  11. Message message = getNewMessage();
  12. message.setThread(messageThread);
  13. assertEquals(messageThread, message.getThread());
  14. assertXMLEqual(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  15. }

代码示例来源:origin: igniterealtime/Smack

  1. message.addBody(lang2, messageBody2);
  2. message.addBody(lang3, messageBody3);
  3. XmlUnitUtils.assertSimilar(control, message.toXML(StreamOpen.CLIENT_NAMESPACE));

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void setMessageTypeTest() throws IOException, SAXException {
  3. Message.Type type = Message.Type.chat;
  4. Message.Type type2 = Message.Type.headline;
  5. StringBuilder controlBuilder = new StringBuilder();
  6. controlBuilder.append("<message")
  7. .append(" type=\"")
  8. .append(type)
  9. .append("\">")
  10. .append("</message>");
  11. String control = controlBuilder.toString();
  12. Message messageTypeInConstructor = new Message(null, Message.Type.chat);
  13. messageTypeInConstructor.setStanzaId(null);
  14. assertEquals(type, messageTypeInConstructor.getType());
  15. assertXMLEqual(control, messageTypeInConstructor.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  16. controlBuilder = new StringBuilder();
  17. controlBuilder.append("<message")
  18. .append(" type=\"")
  19. .append(type2)
  20. .append("\">")
  21. .append("</message>");
  22. control = controlBuilder.toString();
  23. Message messageTypeSet = getNewMessage();
  24. messageTypeSet.setType(type2);
  25. assertEquals(type2, messageTypeSet.getType());
  26. assertXMLEqual(control, messageTypeSet.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  27. }

代码示例来源:origin: igniterealtime/Smack

  1. @Override
  2. public void processStanza(Stanza packet) {
  3. final Message message = (Message) packet;
  4. // Get the MUCUser extension
  5. final MUCUser mucUser = MUCUser.from(message);
  6. // Check if the MUCUser extension includes an invitation
  7. if (mucUser.getInvite() != null) {
  8. EntityBareJid mucJid = message.getFrom().asEntityBareJidIfPossible();
  9. if (mucJid == null) {
  10. LOGGER.warning("Invite to non bare JID: '" + message.toXML(null) + "'");
  11. return;
  12. }
  13. // Fire event for invitation listeners
  14. final MultiUserChat muc = getMultiUserChat(mucJid);
  15. final XMPPConnection connection = connection();
  16. final MUCUser.Invite invite = mucUser.getInvite();
  17. final EntityJid from = invite.getFrom();
  18. final String reason = invite.getReason();
  19. final String password = mucUser.getPassword();
  20. for (final InvitationListener listener : invitationsListeners) {
  21. listener.invitationReceived(connection, muc, from, reason, password, message, invite);
  22. }
  23. }
  24. }
  25. };

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkStanzas() throws Exception {
  3. Message initialMessage = PacketParserUtils.parseStanza(initialMessageXml);
  4. MessageCorrectExtension messageCorrectExtension = new MessageCorrectExtension(idInitialMessage);
  5. Assert.assertEquals(messageCorrectExtension.toXML(null).toString(), messageCorrectionXml.toString());
  6. initialMessage.addExtension(messageCorrectExtension);
  7. Assert.assertEquals(initialMessage.toXML(null), expectedXml.toString());
  8. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkReceivedExtension() throws Exception {
  3. Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
  4. message.setStanzaId("message-2");
  5. message.addExtension(new ChatMarkersElements.ReceivedExtension("message-1"));
  6. Assert.assertEquals(receivedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  7. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkDisplayedExtension() throws Exception {
  3. Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
  4. message.setStanzaId("message-2");
  5. message.addExtension(new ChatMarkersElements.AcknowledgedExtension("message-1"));
  6. Assert.assertEquals(acknowledgedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  7. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkMarkableExtension() throws Exception {
  3. Message message = new Message(JidCreate.from("ingrichard@royalty.england.lit/throne"));
  4. message.setStanzaId("message-1");
  5. message.setBody("My lord, dispatch; read o'er these articles.");
  6. message.addExtension(ChatMarkersElements.MarkableExtension.INSTANCE);
  7. Assert.assertEquals(markableMessageStanza, message.toXML(null).toString());
  8. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkDisplayedExtension() throws Exception {
  3. Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
  4. message.setStanzaId("message-2");
  5. message.addExtension(new ChatMarkersElements.DisplayedExtension("message-1"));
  6. Assert.assertEquals(displayedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
  7. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkConfigsChangeExtension() throws Exception {
  3. Message configurationsMessage = PacketParserUtils.parseStanza(messageWithConfigsChangeExample);
  4. ConfigurationsChangeExtension configurationsChangeExtension = ConfigurationsChangeExtension
  5. .from(configurationsMessage);
  6. Assert.assertEquals("zaqwsx", configurationsChangeExtension.getPrevVersion());
  7. Assert.assertEquals("zxcvbnm", configurationsChangeExtension.getVersion());
  8. Assert.assertEquals("A Darker Cave", configurationsChangeExtension.getRoomName());
  9. Assert.assertNull(configurationsChangeExtension.getSubject());
  10. Assert.assertEquals("blue", configurationsChangeExtension.getCustomConfigs().get("color"));
  11. Assert.assertEquals(messageWithConfigsChangeExample, configurationsMessage.toXML(null).toString());
  12. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkSubjectChangeExtension() throws Exception {
  3. Message configurationsMessage = PacketParserUtils.parseStanza(messageWithSubjectChangeExample);
  4. ConfigurationsChangeExtension configurationsChangeExtension = ConfigurationsChangeExtension
  5. .from(configurationsMessage);
  6. Assert.assertEquals("asdfghj000", configurationsChangeExtension.getPrevVersion());
  7. Assert.assertEquals("asdfghj", configurationsChangeExtension.getVersion());
  8. Assert.assertEquals("To be or not to be?", configurationsChangeExtension.getSubject());
  9. Assert.assertNull(configurationsChangeExtension.getRoomName());
  10. Assert.assertNull(configurationsChangeExtension.getCustomConfigs());
  11. Assert.assertEquals(messageWithSubjectChangeExample, configurationsMessage.toXML(null).toString());
  12. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkRoomNameChangeExtension() throws Exception {
  3. Message configurationsMessage = PacketParserUtils.parseStanza(messageWithRoomNameChangeExample);
  4. ConfigurationsChangeExtension configurationsChangeExtension = ConfigurationsChangeExtension
  5. .from(configurationsMessage);
  6. Assert.assertEquals("zaqwsx", configurationsChangeExtension.getPrevVersion());
  7. Assert.assertEquals("zxcvbnm", configurationsChangeExtension.getVersion());
  8. Assert.assertEquals("A Darker Cave", configurationsChangeExtension.getRoomName());
  9. Assert.assertNull(configurationsChangeExtension.getSubject());
  10. Assert.assertNull(configurationsChangeExtension.getCustomConfigs());
  11. Assert.assertEquals(messageWithRoomNameChangeExample, configurationsMessage.toXML(null).toString());
  12. }

代码示例来源:origin: igniterealtime/Smack

  1. @Ignore
  2. @Test
  3. public void duplicateMessageBodiesTest()
  4. throws FactoryConfigurationError, XmlPullParserException, IOException, Exception {
  5. String defaultLanguage = Stanza.getDefaultLanguage();
  6. // message has default language, first body no language, second body default language
  7. String control = XMLBuilder.create("message")
  8. .namespace(StreamOpen.CLIENT_NAMESPACE)
  9. .a("from", "romeo@montague.lit/orchard")
  10. .a("to", "juliet@capulet.lit/balcony")
  11. .a("id", "zid615d9")
  12. .a("type", "chat")
  13. .a("xml:lang", defaultLanguage)
  14. .e("body")
  15. .t(defaultLanguage)
  16. .up()
  17. .e("body")
  18. .a("xml:lang", defaultLanguage)
  19. .t(defaultLanguage + "2")
  20. .asString(outputProperties);
  21. Message message = PacketParserUtils
  22. .parseMessage(PacketParserUtils.getParserFor(control));
  23. assertEquals(defaultLanguage, message.getBody());
  24. assertEquals(defaultLanguage, message.getBody(defaultLanguage));
  25. assertEquals(1, message.getBodies().size());
  26. assertEquals(0, message.getBodyLanguages().size());
  27. assertXMLNotEqual(control, message.toXML(null).toString());
  28. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void messageNoLanguageFirstBodyNoLanguageSecondBodyOtherTest()
  3. throws FactoryConfigurationError, XmlPullParserException, IOException, Exception {
  4. String defaultLanguage = Stanza.getDefaultLanguage();
  5. String otherLanguage = determineNonDefaultLanguage();
  6. // message has no language, first body no language, second body other language
  7. String control = XMLBuilder.create("message")
  8. .namespace(StreamOpen.CLIENT_NAMESPACE)
  9. .a("from", "romeo@montague.lit/orchard")
  10. .a("to", "juliet@capulet.lit/balcony")
  11. .a("id", "zid615d9")
  12. .a("type", "chat")
  13. .e("body")
  14. // TODO change default language into something else
  15. .t(defaultLanguage)
  16. .up()
  17. .e("body")
  18. .a("xml:lang", otherLanguage)
  19. .t(otherLanguage)
  20. .asString(outputProperties);
  21. Message message = PacketParserUtils
  22. .parseMessage(PacketParserUtils.getParserFor(control));
  23. assertEquals(defaultLanguage, message.getBody());
  24. assertEquals(defaultLanguage, message.getBody(null));
  25. assertEquals(otherLanguage, message.getBody(otherLanguage));
  26. assertEquals(2, message.getBodies().size());
  27. assertEquals(1, message.getBodyLanguages().size());
  28. assertXMLEqual(control, message.toXML(null).toString());
  29. }

代码示例来源:origin: igniterealtime/Smack

  1. @Test
  2. public void checkMamQueryResults() throws Exception {
  3. Message message = new Message();
  4. message.setStanzaId("iasd207");
  5. message.setFrom(JidCreate.from("coven@chat.shakespeare.lit"));
  6. message.setTo(JidCreate.from("hag66@shakespeare.lit/pda"));
  7. GregorianCalendar calendar = new GregorianCalendar(2002, 10 - 1, 13, 23, 58, 37);
  8. calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
  9. Date date = calendar.getTime();
  10. DelayInformation delay = new DelayInformation(date);
  11. Message forwardedMessage = new Message();
  12. forwardedMessage.setFrom(JidCreate.from("coven@chat.shakespeare.lit/firstwitch"));
  13. forwardedMessage.setStanzaId("162BEBB1-F6DB-4D9A-9BD8-CFDCC801A0B2");
  14. forwardedMessage.setType(Type.chat);
  15. forwardedMessage.setBody("Thrice the brinded cat hath mew.");
  16. Forwarded forwarded = new Forwarded(delay, forwardedMessage);
  17. message.addExtension(new MamResultExtension("g27", "34482-21985-73620", forwarded));
  18. // FIXME: The order of assertEquals is reversed, fix it by switching it.
  19. Assert.assertEquals(message.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), mamQueryResultExample);
  20. MamResultExtension mamResultExtension = MamResultExtension.from(message);
  21. Assert.assertEquals(mamResultExtension.getId(), "34482-21985-73620");
  22. Assert.assertEquals(mamResultExtension.getForwarded().getDelayInformation().getStamp(), date);
  23. Message resultMessage = (Message) mamResultExtension.getForwarded().getForwardedStanza();
  24. Assert.assertEquals(resultMessage.getFrom(), JidCreate.from("coven@chat.shakespeare.lit/firstwitch"));
  25. Assert.assertEquals(resultMessage.getStanzaId(), "162BEBB1-F6DB-4D9A-9BD8-CFDCC801A0B2");
  26. Assert.assertEquals(resultMessage.getType(), Type.chat);
  27. Assert.assertEquals(resultMessage.getBody(), "Thrice the brinded cat hath mew.");
  28. }

代码示例来源:origin: igniterealtime/Smack

  1. /**
  2. * RFC6121 5.2.3 explicitly disallows mixed content in <body/> elements. Make sure that we throw
  3. * an exception if we encounter such an element.
  4. *
  5. * @throws Exception
  6. */
  7. @Test(expected = XmlPullParserException.class)
  8. public void invalidMessageBodyContainingTagTest() throws Exception {
  9. String control = XMLBuilder.create("message")
  10. .namespace(StreamOpen.CLIENT_NAMESPACE)
  11. .a("from", "romeo@montague.lit/orchard")
  12. .a("to", "juliet@capulet.lit/balcony")
  13. .a("id", "zid615d9")
  14. .a("type", "chat")
  15. .a("xml:lang", "en")
  16. .e("body")
  17. .a("xmlns", "http://www.w3.org/1999/xhtml")
  18. .e("span")
  19. .a("style", "font-weight: bold;")
  20. .t("Bad Message Body")
  21. .asString(outputProperties);
  22. Message message = PacketParserUtils.parseMessage(TestUtils.getMessageParser(control));
  23. fail("Should throw exception. Instead got message: " + message.toXML(null).toString());
  24. }

相关文章