当前位置: 首页>>代码示例>>Java>>正文


Java Presence.setError方法代码示例

本文整理汇总了Java中org.xmpp.packet.Presence.setError方法的典型用法代码示例。如果您正苦于以下问题:Java Presence.setError方法的具体用法?Java Presence.setError怎么用?Java Presence.setError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.xmpp.packet.Presence的用法示例。


在下文中一共展示了Presence.setError方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: route

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
/**
 * 路由这个Presence包
 * 
 * @param packet
 */
public void route(Presence packet) {
	if (packet == null) {
		throw new NullPointerException();
	}
	ClientSession session = sessionManager.getSession(packet.getFrom());

	if (session == null || session.getStatus() != Session.STATUS_CONNECTED) {
		handle(packet);
	} else {
		packet.setTo(session.getAddress());
		packet.setFrom((JID) null);
		packet.setError(PacketError.Condition.not_authorized);
		session.process(packet);
	}
}
 
开发者ID:lijian17,项目名称:androidpn-server,代码行数:21,代码来源:PresenceRouter.java

示例2: process

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
/**
 * Handle presence updates that affect roster subscriptions.
 *
 * @param presence The presence presence to handle
 * @throws PacketException if the packet is null or the packet could not be routed.
 */
public void process(Presence presence) throws PacketException {
    try {
        process((Packet)presence);
    }
    catch (UnauthorizedException e) {
        try {
            LocalSession session = (LocalSession) sessionManager.getSession(presence.getFrom());
            presence = presence.createCopy();
            if (session != null) {
                presence.setFrom(new JID(null, session.getServerName(), null, true));
                presence.setTo(session.getAddress());
            }
            else {
                JID sender = presence.getFrom();
                presence.setFrom(presence.getTo());
                presence.setTo(sender);
            }
            presence.setError(PacketError.Condition.not_authorized);
            deliverer.deliver(presence);
        }
        catch (Exception err) {
            Log.error(LocaleUtils.getLocalizedString("admin.error"), err);
        }
    }
}
 
开发者ID:coodeer,项目名称:g3server,代码行数:32,代码来源:PresenceUpdateHandler.java

示例3: route

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
/**
 * Routes the Presence packet.
 * 
 * @param packet the packet to route
 */
public void route(Presence packet) {
    if (packet == null) {
        throw new NullPointerException();
    }
    ClientSession session = sessionManager.getSession(packet.getFrom());

    if (session == null || session.getStatus() != Session.STATUS_CONNECTED) {
        handle(packet);
    } else {
        packet.setTo(session.getAddress());
        packet.setFrom((JID) null);
        packet.setError(PacketError.Condition.not_authorized);
        session.process(packet);
    }
}
 
开发者ID:elphinkuo,项目名称:Androidpn,代码行数:21,代码来源:PresenceRouter.java

示例4: processPresence

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
@Override
protected void processPresence(Presence packet) throws UnauthorizedException {
    if (session.getStatus() != Session.STATUS_AUTHENTICATED) {
        // Session is not authenticated so return error
        Presence reply = new Presence();
        reply.setID(packet.getID());
        reply.setTo(packet.getFrom());
        reply.setFrom(packet.getTo());
        reply.setError(PacketError.Condition.not_authorized);
        session.process(reply);
        return;
    }
    super.processPresence(packet);
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:15,代码来源:ComponentStanzaHandler.java

示例5: processPresence

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
@Override
protected void processPresence(Presence packet) throws UnauthorizedException {
       if (session.getStatus() != Session.STATUS_AUTHENTICATED) {
           // Session is not authenticated so return error
           Presence reply = new Presence();
           reply.setID(packet.getID());
           reply.setTo(packet.getFrom());
           reply.setFrom(packet.getTo());
           reply.setError(PacketError.Condition.not_authorized);
           session.process(reply);
           return;
       }
       super.processPresence(packet);
   }
 
开发者ID:idwanglu2010,项目名称:openfire,代码行数:15,代码来源:ComponentStanzaHandler.java

示例6: route

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
public void route(Presence packet) {
    if (packet == null) {
        throw new NullPointerException();
    }
    ClientSession session = sessionManager.getSession(packet.getFrom());

    if (session == null || session.getStatus() != Session.STATUS_CONNECTED) {
        handle(packet);
    } else {
        packet.setTo(session.getAddress());
        packet.setFrom((JID) null);
        packet.setError(PacketError.Condition.not_authorized);
        session.process(packet);
    }
}
 
开发者ID:elphinkuo,项目名称:Androidpn,代码行数:16,代码来源:PresenceRouter.java

示例7: process

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
/**
 * 处理出席数据包
 * 
 * @param packet
 */
public void process(Packet packet) {
	ClientSession session = sessionManager.getSession(packet.getFrom());

	try {
		Presence presence = (Presence) packet;
		Presence.Type type = presence.getType();

		if (type == null) { // null == available
			if (session != null
					&& session.getStatus() == Session.STATUS_CLOSED) {
				log.warn("Rejected available presence: " + presence + " - "
						+ session);
				return;
			}

			if (session != null) {
				session.setPresence(presence);
				if (!session.isInitialized()) {
					// initSession(session);
					session.setInitialized(true);
				}
				List<Notification> list = notificationService
						.findNotificationsByUsername(session.getUsername());
				if (list != null && list.size() > 0) {
					for (Notification notification : list) {
						String apiKey = notification.getApiKey();
						String title = notification.getTitle();
						String message = notification.getMessage();
						String uri = notification.getUri();
						String imageUrl = notification.getImageUrl();
						notificationManager.sendNotifcationToUser(apiKey,
								session.getUsername(), title, message, uri,
								imageUrl, false);
						notificationService
								.deleteNotification(notification);
					}
				}
			}

		} else if (Presence.Type.unavailable == type) {// 不可用的

			if (session != null) {
				session.setPresence(presence);
			}

		} else {
			presence = presence.createCopy();
			if (session != null) {
				presence.setFrom(new JID(null, session.getServerName(),
						null, true));
				presence.setTo(session.getAddress());
			} else {
				JID sender = presence.getFrom();
				presence.setFrom(presence.getTo());
				presence.setTo(sender);
			}
			presence.setError(PacketError.Condition.bad_request);
			PacketDeliverer.deliver(presence);
		}

	} catch (Exception e) {
		log.error("内部服务器错误. Triggered by packet: " + packet, e);
	}
}
 
开发者ID:lijian17,项目名称:androidpn-server,代码行数:70,代码来源:PresenceUpdateHandler.java

示例8: process

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
private void process(Presence presence, ClientSession session) throws UnauthorizedException, PacketException {
    try {
        Presence.Type type = presence.getType();
        // Available
        if (type == null) {
            if (session != null && session.getStatus() == Session.STATUS_CLOSED) {
                Log.warn("Rejected available presence: " + presence + " - " + session);
                return;
            }
            broadcastUpdate(presence.createCopy());
            if (session != null) {
                session.setPresence(presence);
                if (!session.isInitialized()) {
                    initSession(session);
                    session.setInitialized(true);
                }
            }
            // Notify the presence manager that the user is now available. The manager may
            // remove the last presence status sent by the user when he went offline.
            presenceManager.userAvailable(presence);
        }
        else if (Presence.Type.unavailable == type) {
            broadcastUpdate(presence.createCopy());
            broadcastUnavailableForDirectedPresences(presence);
            if (session != null) {
                session.setPresence(presence);
            }
            // Notify the presence manager that the user is now unavailable. The manager may
            // save the last presence status sent by the user and keep track when the user
            // went offline.
            presenceManager.userUnavailable(presence);
        }
        else {
            presence = presence.createCopy();
            if (session != null) {
                presence.setFrom(new JID(null, session.getServerName(), null, true));
                presence.setTo(session.getAddress());
            }
            else {
                JID sender = presence.getFrom();
                presence.setFrom(presence.getTo());
                presence.setTo(sender);
            }
            presence.setError(PacketError.Condition.bad_request);
            deliverer.deliver(presence);
        }

    }
    catch (Exception e) {
        Log.error(LocaleUtils.getLocalizedString("admin.error") + ". Triggered by packet: " + presence, e);
    }
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:53,代码来源:PresenceUpdateHandler.java

示例9: process

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
/**
 * Processes the presence packet.
 * 
 * @param packet the packet
 */
public void process(Packet packet) {
    ClientSession session = sessionManager.getSession(packet.getFrom());

    try {
        Presence presence = (Presence) packet;
        Presence.Type type = presence.getType();

        if (type == null) { // null == available
            if (session != null
                    && session.getStatus() == Session.STATUS_CLOSED) {
                log.warn("Rejected available presence: " + presence + " - "
                        + session);
                return;
            }

            if (session != null) {
                session.setPresence(presence);
                if (!session.isInitialized()) {
                    // initSession(session);
                    session.setInitialized(true);
                }
            }

        } else if (Presence.Type.unavailable == type) {

            if (session != null) {
                session.setPresence(presence);
            }

        } else {
            presence = presence.createCopy();
            if (session != null) {
                presence.setFrom(new JID(null, session.getServerName(),
                        null, true));
                presence.setTo(session.getAddress());
            } else {
                JID sender = presence.getFrom();
                presence.setFrom(presence.getTo());
                presence.setTo(sender);
            }
            presence.setError(PacketError.Condition.bad_request);
            PacketDeliverer.deliver(presence);
        }

    } catch (Exception e) {
        log.error("Internal server error. Triggered by packet: " + packet,
                e);
    }
}
 
开发者ID:elphinkuo,项目名称:Androidpn,代码行数:55,代码来源:PresenceUpdateHandler.java

示例10: route

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
/**
 * Routes presence packets.
 *
 * @param packet the packet to route.
 * @throws NullPointerException if the packet is null.
 */
public void route(Presence packet) {
    if (packet == null) {
        throw new NullPointerException();
    }
    ClientSession session = sessionManager.getSession(packet.getFrom());
    try {
        // Invoke the interceptors before we process the read packet
        InterceptorManager.getInstance().invokeInterceptors(packet, session, true, false);
        if (session == null || session.getStatus() != Session.STATUS_CONNECTED) {
            handle(packet);
        }
        else {
            packet.setTo(session.getAddress());
            packet.setFrom((JID)null);
            packet.setError(PacketError.Condition.not_authorized);
            session.process(packet);
        }
        // Invoke the interceptors after we have processed the read packet
        InterceptorManager.getInstance().invokeInterceptors(packet, session, true, true);
    }
    catch (PacketRejectedException e) {
        if (session != null) {
            // An interceptor rejected this packet so answer a not_allowed error
            Presence reply = new Presence();
            reply.setID(packet.getID());
            reply.setTo(session.getAddress());
            reply.setFrom(packet.getTo());
            reply.setError(PacketError.Condition.not_allowed);
            session.process(reply);
            // Check if a message notifying the rejection should be sent
            if (e.getRejectionMessage() != null && e.getRejectionMessage().trim().length() > 0) {
                // A message for the rejection will be sent to the sender of the rejected packet
                Message notification = new Message();
                notification.setTo(session.getAddress());
                notification.setFrom(packet.getTo());
                notification.setBody(e.getRejectionMessage());
                session.process(notification);
            }
        }
    }
}
 
开发者ID:coodeer,项目名称:g3server,代码行数:48,代码来源:PresenceRouter.java

示例11: process

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
private void process(Presence presence, ClientSession session)
        throws UnauthorizedException, PacketException {
    try {
        Presence.Type type = presence.getType();
        // Available
        if (type == null) {
            if (session != null
                    && session.getStatus() == Session.STATUS_CLOSED) {
                log.warn("Rejected available presence: " + presence + " - "
                        + session);
                return;
            }

            if (session != null) {
                session.setPresence(presence);
                if (!session.isInitialized()) {
                    // initSession(session);
                    session.setInitialized(true);
                }
            }

        } else if (Presence.Type.unavailable == type) {

            if (session != null) {
                session.setPresence(presence);
            }

        } else {
            presence = presence.createCopy();
            if (session != null) {
                presence.setFrom(new JID(null, session.getServerName(),
                        null, true));
                presence.setTo(session.getAddress());
            } else {
                JID sender = presence.getFrom();
                presence.setFrom(presence.getTo());
                presence.setTo(sender);
            }
            presence.setError(PacketError.Condition.bad_request);
            PacketDeliverer.deliver(presence);
        }

    } catch (Exception e) {
        log.error(
                "Internal server error. Triggered by packet: " + presence,
                e);
    }
}
 
开发者ID:elphinkuo,项目名称:Androidpn,代码行数:49,代码来源:PresenceUpdateHandler.java

示例12: process

import org.xmpp.packet.Presence; //导入方法依赖的package包/类
private void process(Presence presence, ClientSession session)
        throws UnauthorizedException, PacketException {
    try {
        Presence.Type type = presence.getType();
        
        if (type == null) { // null == available
            if (session != null
                    && session.getStatus() == Session.STATUS_CLOSED) {
                log.warn("Rejected available presence: " + presence + " - "
                        + session);
                return;
            }

            if (session != null) {
                session.setPresence(presence);
                if (!session.isInitialized()) {
                    // initSession(session);
                    session.setInitialized(true);
                }
            }

        } else if (Presence.Type.unavailable == type) {

            if (session != null) {
                session.setPresence(presence);
            }

        } else {
            presence = presence.createCopy();
            if (session != null) {
                presence.setFrom(new JID(null, session.getServerName(),
                        null, true));
                presence.setTo(session.getAddress());
            } else {
                JID sender = presence.getFrom();
                presence.setFrom(presence.getTo());
                presence.setTo(sender);
            }
            presence.setError(PacketError.Condition.bad_request);
            PacketDeliverer.deliver(presence);
        }

    } catch (Exception e) {
        log.error(
                "Internal server error. Triggered by packet: " + presence,
                e);
    }
}
 
开发者ID:elphinkuo,项目名称:Androidpn,代码行数:49,代码来源:PresenceUpdateHandler.java


注:本文中的org.xmpp.packet.Presence.setError方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。