/** * Changes the subject within the room. As a default, only users with a role of "moderator" * are allowed to change the subject in a room. Although some rooms may be configured to * allow a mere participant or even a visitor to change the subject. * * @param subject the new room's subject to set. * @throws XMPPErrorException if someone without appropriate privileges attempts to change the * room subject will throw an error with code 403 (i.e. Forbidden) * @throws NoResponseException if there was no response from the server. * @throws NotConnectedException * @throws InterruptedException */ public void changeSubject(final String subject) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { Message message = createMessage(); message.setSubject(subject); // Wait for an error or confirmation message back from the server. StanzaFilter responseFilter = new AndFilter(fromRoomGroupchatFilter, new StanzaFilter() { @Override public boolean accept(Stanza packet) { Message msg = (Message) packet; return subject.equals(msg.getSubject()); } }); StanzaCollector response = connection.createStanzaCollectorAndSend(responseFilter, message); // Wait up to a certain number of seconds for a reply. response.nextResultOrThrow(); }
@Test public void setMessageSubjectTest() throws IOException, SAXException { final String messageSubject = "This is a test of the emergency broadcast system."; StringBuilder controlBuilder = new StringBuilder(); controlBuilder.append("<message>") .append("<subject>") .append(messageSubject) .append("</subject>") .append("</message>"); String control = controlBuilder.toString(); Message message = getNewMessage(); message.setSubject(messageSubject); assertEquals(messageSubject, message.getSubject()); assertXMLEqual(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString()); }
msg.setSubject("Subject of the chat"); msg.setBody("Body of the chat"); addProperty(msg, "favoriteColor", "red");
target.setSubject(subject);
@Test public void toHeadersStandardOnly() throws XmppStringprepException { DefaultXmppHeaderMapper mapper = new DefaultXmppHeaderMapper(); Message source = new Message(JidCreate.from("test.to"), Message.Type.headline); source.setFrom(JidCreate.from("test.from")); source.setSubject("test.subject"); source.setThread("test.thread"); JivePropertiesManager.addProperty(source, "userDefined1", "foo"); JivePropertiesManager.addProperty(source, "userDefined2", "bar"); Map<String, Object> headers = mapper.toHeadersFromRequest(source); assertEquals("test.to", headers.get(XmppHeaders.TO).toString()); assertEquals("test.from", headers.get(XmppHeaders.FROM).toString()); assertEquals("test.subject", headers.get(XmppHeaders.SUBJECT)); assertEquals("test.thread", headers.get(XmppHeaders.THREAD)); assertEquals(Message.Type.headline, headers.get(XmppHeaders.TYPE)); assertNull(headers.get("userDefined1")); assertNull(headers.get("userDefined2")); }
@Test public void toHeadersUserDefinedOnly() throws XmppStringprepException { DefaultXmppHeaderMapper mapper = new DefaultXmppHeaderMapper(); mapper.setReplyHeaderNames("userDefined*"); Message source = new Message(JidCreate.from("test.to"), Message.Type.headline); source.setFrom(JidCreate.from("test.from")); source.setSubject("test.subject"); source.setThread("test.thread"); JivePropertiesManager.addProperty(source, "userDefined1", "foo"); JivePropertiesManager.addProperty(source, "userDefined2", "bar"); Map<String, Object> headers = mapper.toHeadersFromReply(source); assertNull(headers.get(XmppHeaders.TO)); assertNull(headers.get(XmppHeaders.FROM)); assertNull(headers.get(XmppHeaders.SUBJECT)); assertNull(headers.get(XmppHeaders.THREAD)); assertNull(headers.get(XmppHeaders.TYPE)); assertEquals("foo", headers.get("userDefined1")); assertEquals("bar", headers.get("userDefined2")); }
target.setSubject(subject);
message.setSubject(subject); message.setBody(body); message.setThread(thread);
message.setSubject(messageDto.getSubject()); message.setBody(messageDto.getMessageToSend()); message.setType(Message.Type.headline);
@Test public void toHeadersStandardOnly() { DefaultXmppHeaderMapper mapper = new DefaultXmppHeaderMapper(); Message source = new Message("test.to", Message.Type.headline); source.setFrom("test.from"); source.setSubject("test.subject"); source.setThread("test.thread"); JivePropertiesManager.addProperty(source, "userDefined1", "foo"); JivePropertiesManager.addProperty(source, "userDefined2", "bar"); Map<String, Object> headers = mapper.toHeadersFromRequest(source); assertEquals("test.to", headers.get(XmppHeaders.TO)); assertEquals("test.from", headers.get(XmppHeaders.FROM)); assertEquals("test.subject", headers.get(XmppHeaders.SUBJECT)); assertEquals("test.thread", headers.get(XmppHeaders.THREAD)); assertEquals(Message.Type.headline, headers.get(XmppHeaders.TYPE)); assertNull(headers.get("userDefined1")); assertNull(headers.get("userDefined2")); }
@Test public void toHeadersUserDefinedOnly() { DefaultXmppHeaderMapper mapper = new DefaultXmppHeaderMapper(); mapper.setReplyHeaderNames(new String[] { "userDefined*" }); Message source = new Message("test.to", Message.Type.headline); source.setFrom("test.from"); source.setSubject("test.subject"); source.setThread("test.thread"); JivePropertiesManager.addProperty(source, "userDefined1", "foo"); JivePropertiesManager.addProperty(source, "userDefined2", "bar"); Map<String, Object> headers = mapper.toHeadersFromReply(source); assertNull(headers.get(XmppHeaders.TO)); assertNull(headers.get(XmppHeaders.FROM)); assertNull(headers.get(XmppHeaders.SUBJECT)); assertNull(headers.get(XmppHeaders.THREAD)); assertNull(headers.get(XmppHeaders.TYPE)); assertEquals("foo", headers.get("userDefined1")); assertEquals("bar", headers.get("userDefined2")); }
result.setSubject((String) muleMessage.getOutboundProperty(propertyName));
message.setSubject(subject);
message.setSubject(subject);
message.setSubject(subject);
message.setSubject(subject);