zoukankan      html  css  js  c++  java
  • Handles XMPP URI Mappings CVT

    /**
         * Handles XMPP URI Mappings.
         *
         * @param arguments the arguments passed into Spark.
         */
        public void handleURIMapping(String arguments) {
            if(arguments == null){
                return;
            }
            
            if (arguments.indexOf("xmpp") == -1) {
                return;
            }
    
            if (arguments.indexOf(UriManager.uritypes.message.getXML()) != -1) {
                try {
                    _uriManager.handleMessage(arguments);
                }
                catch (Exception e) {
                    Log.error("error with ?message URI",e);
                }
            }
            else if (arguments.indexOf(UriManager.uritypes.join.getXML()) != -1) {
                try {
                    _uriManager.handleConference(arguments);
                }
                catch (Exception e) {
                    Log.error("error with ?join URI",e);
                }
            }
            else if (arguments.contains(UriManager.uritypes.subscribe.getXML())) {
            try {
            _uriManager.handleSubscribe(arguments);
            } catch (Exception e) {
            Log.error("error with ?subscribe URI", e);
            }
        } 
            else if (arguments.contains(UriManager.uritypes.unsubscribe.getXML())) {
            try {
            _uriManager.handleUnsubscribe(arguments);
            } catch (Exception e) {
            Log.error("error with ?subscribe URI", e);
            }
        }
            else if(arguments.contains(UriManager.uritypes.roster.getXML()))
            {
            try {
            _uriManager.handleRoster(arguments);
            } catch (Exception e) {
            Log.error("error with ?subscribe URI", e);
            }
            }
            else if (arguments.contains(UriManager.uritypes.remove.getXML()))
            {
            try {
            _uriManager.handleRemove(arguments);
            } catch (Exception e) {
            Log.error("error with ?subscribe URI", e);
            }
            }
            else if (arguments.indexOf("?") == -1) {
                // Then use the direct jid
                int index = arguments.indexOf(":");
                if (index != -1) {
                    String jid = arguments.substring(index + 1);
    
                    UserManager userManager = SparkManager.getUserManager();
                    String nickname = userManager.getUserNicknameFromJID(jid);
                    if (nickname == null) {
                        nickname = jid;
                    }
    
                    ChatManager chatManager = SparkManager.getChatManager();
                    ChatRoom chatRoom = chatManager.createChatRoom(jid, nickname, nickname);
                    chatManager.getChatContainer().activateChatRoom(chatRoom);
                }
            }
    
        }
  • 相关阅读:
    [转载]Axis2 and CXF的比较
    [转载]Axure RP 7.0下载地址及安装说明
    Eclipse配置总结
    201505大事记
    Gmail收不到邮件咋办?
    Mybatis-There is no getter for property named 'id' in 'class java.lang.String'
    EXTjs+SpringMVC+Mybatis实现照片的上传,下载,查看关键技术整理
    Ext如何Gird中如何显示时间类型的列?
    glibc
    圆形头像CircleImageView和Cardview使用
  • 原文地址:https://www.cnblogs.com/openfire/p/3097420.html
Copyright © 2011-2022 走看看