Example #1
0
 public String getPresenceStatus(String jid) throws UserNotFoundException {
   log.debug("getPresenceStatus " + jid);
   JID targetJID = new JID(jid);
   User user = userManager.getUser(targetJID.getNode());
   Presence presence = presenceManager.getPresence(user);
   if (presence == null) {
     log.debug("User is offline");
     return "";
   }
   return presence.getStatus();
 }
Example #2
0
  public void setPresenceState(String jid, UnifiedPresence.XmppPresence xmppPresence)
      throws UserNotFoundException {
    log.debug("setPresenceState : " + jid + " XmppPresence = " + xmppPresence);
    if (jid == null) {
      throw new UserNotFoundException("Target JID not found in request");
    }
    JID targetJID = new JID(jid);
    // Check that the sender is not requesting information of a remote server entity
    if (targetJID.getDomain() == null || XMPPServer.getInstance().isRemote(targetJID)) {
      throw new UserNotFoundException("Domain does not matches local server domain");
    }
    User user = userManager.getUser(targetJID.getNode());
    Presence presence = presenceManager.getPresence(user);
    if (presence == null) {
      log.debug("User is OFFLINE  -- cannot set presence state");
      return;
    }

    presence.setShow(xmppPresence.asPresenceShowEnum());
    user.getRoster().broadcastPresence(presence);
  }