Java Code Examples for org.jivesoftware.smackx.jiveproperties.packet.JivePropertiesExtension#getProperty()
The following examples show how to use
org.jivesoftware.smackx.jiveproperties.packet.JivePropertiesExtension#getProperty() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JivePropertiesExtensionTest.java From Smack with Apache License 2.0 | 6 votes |
@Test public void checkProvider() throws Exception { // @formatter:off String properties = "<message xmlns='jabber:client' from='[email protected]/orchard' to='[email protected]/balcony'>" + "<body>Neither, fair saint, if either thee dislike.</body>" + "<properties xmlns='http://www.jivesoftware.com/xmlns/xmpp/properties'>" + "<property>" + "<name>FooBar</name>" + "<value type='integer'>42</value>" + "</property>" + "</properties>" + "</message>"; // @formatter:on Message message = PacketParserUtils.parseStanza(properties); JivePropertiesExtension jpe = JivePropertiesExtension.from(message); assertNotNull(jpe); Integer integer = (Integer) jpe.getProperty("FooBar"); assertNotNull(integer); int fourtytwo = integer; assertEquals(42, fourtytwo); }
Example 2
Source File: RoarPopupHelper.java From Spark with Apache License 2.0 | 6 votes |
/** * Returns the Nickname of the person sending the message * * @param room * the ChatRoom the message was sent in * @param message * the actual message * @return nickname */ public static String getNickname(ChatRoom room, Message message) { String nickname = SparkManager.getUserManager().getUserNicknameFromJID(message.getFrom()); if (room.getChatType() == Message.Type.groupchat) { nickname = XmppStringUtils.parseResource(nickname); } final JivePropertiesExtension extension = ((JivePropertiesExtension) message.getExtension( JivePropertiesExtension.NAMESPACE )); final boolean broadcast = extension != null && extension.getProperty( "broadcast" ) != null; if ((broadcast || message.getType() == Message.Type.normal || message.getType() == Message.Type.headline) && message.getBody() != null) { nickname = Res.getString("broadcast") + " - " + nickname; } return nickname; }
Example 3
Source File: JivePropertiesManager.java From Smack with Apache License 2.0 | 5 votes |
/** * Convenience method to get a property from a packet. Will return null if the stanza contains * not property with the given name. * * @param packet TODO javadoc me please * @param name TODO javadoc me please * @return the property or <code>null</code> if none found. */ public static Object getProperty(StanzaView packet, String name) { Object res = null; JivePropertiesExtension jpe = packet.getExtension(JivePropertiesExtension.class); if (jpe != null) { res = jpe.getProperty(name); } return res; }
Example 4
Source File: Workspace.java From Spark with Apache License 2.0 | 4 votes |
/** * Starts the Loading of all Spark Plugins. */ public void loadPlugins() { // Send Available status SparkManager.getSessionManager().changePresence(statusBox.getPresence()); // Add presence and message listeners // we listen for these to force open a 1-1 peer chat window from other operators if // one isn't already open StanzaFilter workspaceMessageFilter = new StanzaTypeFilter(Message.class); // Add the packetListener to this instance SparkManager.getSessionManager().getConnection().addAsyncStanzaListener(this, workspaceMessageFilter); // Make presence available to anonymous requests, if from anonymous user in the system. StanzaListener workspacePresenceListener = stanza -> { Presence presence = (Presence)stanza; JivePropertiesExtension extension = (JivePropertiesExtension) presence.getExtension( JivePropertiesExtension.NAMESPACE ); if (extension != null && extension.getProperty("anonymous") != null) { boolean isAvailable = statusBox.getPresence().getMode() == Presence.Mode.available; Presence reply = new Presence(Presence.Type.available); if (!isAvailable) { reply.setType(Presence.Type.unavailable); } reply.setTo(presence.getFrom()); try { SparkManager.getSessionManager().getConnection().sendStanza(reply); } catch ( SmackException.NotConnectedException e ) { Log.warning( "Unable to send presence reply to " + reply.getTo(), e ); } } }; SparkManager.getSessionManager().getConnection().addAsyncStanzaListener(workspacePresenceListener, new StanzaTypeFilter(Presence.class)); // Until we have better plugin management, will init after presence updates. gatewayPlugin = new GatewayPlugin(); gatewayPlugin.initialize(); // Load all non-presence related items. conferences.loadConferenceBookmarks(); SearchManager.getInstance(); transcriptPlugin = new ChatTranscriptPlugin(); // Load Broadcast Plugin broadcastPlugin = new BroadcastPlugin(); broadcastPlugin.initialize(); // Load BookmarkPlugin bookmarkPlugin = new BookmarkPlugin(); bookmarkPlugin.initialize(); // Schedule loading of the plugins after two seconds. TaskEngine.getInstance().schedule(new TimerTask() { @Override public void run() { final PluginManager pluginManager = PluginManager.getInstance(); SparkManager.getMainWindow().addMainWindowListener(pluginManager); pluginManager.initializePlugins(); // Subscriptions are always manual Roster roster = Roster.getInstanceFor( SparkManager.getConnection() ); roster.setSubscriptionMode(Roster.SubscriptionMode.manual); } }, 2000); // Check URI Mappings SparkManager.getChatManager().handleURIMapping(Spark.ARGUMENTS); }
Example 5
Source File: Workspace.java From Spark with Apache License 2.0 | 4 votes |
private void handleIncomingPacket(Stanza stanza) throws SmackException.NotConnectedException, InterruptedException { // We only handle message packets here. if (stanza instanceof Message) { final Message message = (Message)stanza; boolean isGroupChat = message.getType() == Message.Type.groupchat; // Check if Conference invite. If so, do not handle here. if (message.getExtension("x", "jabber:x:conference") != null) { return; } final String body = message.getBody(); final JivePropertiesExtension extension = ((JivePropertiesExtension) message.getExtension( JivePropertiesExtension.NAMESPACE )); final boolean broadcast = extension != null && extension.getProperty( "broadcast" ) != null; // Handle offline message. DelayInformation offlineInformation = message.getExtension("delay", "urn:xmpp:delay"); if (offlineInformation != null && (Message.Type.chat == message.getType() || Message.Type.normal == message.getType())) { handleOfflineMessage(message); } if (body == null || isGroupChat || broadcast || message.getType() == Message.Type.normal || message.getType() == Message.Type.headline || message.getType() == Message.Type.error) { return; } // Create new chat room for Agent Invite. final Jid from = stanza.getFrom(); final String host = SparkManager.getSessionManager().getServerAddress(); // Don't allow workgroup notifications to come through here. final BareJid bareJID = from.asBareJid(); if (host.equalsIgnoreCase(from.toString()) || from == null) { return; } ChatRoom room = null; try { room = SparkManager.getChatManager().getChatContainer().getChatRoom(bareJID); } catch (ChatRoomNotFoundException e) { // Ignore } // Check for non-existent rooms. if (room == null) { EntityBareJid entityBareJid = bareJID.asEntityBareJidIfPossible(); if (entityBareJid != null) { createOneToOneRoom(entityBareJid, message); } } } }