Package org.jivesoftware.smack.packet

Examples of org.jivesoftware.smack.packet.Presence


    }

    static class PresenceListener implements PacketListener {

        public void processPacket(Packet packet) {
            Presence presence = (Presence) packet;
            String iqString = presence.toString();
            final PacketExtension extension = presence.getExtension("http://jabber.org/protocol/caps");
            if (extension != null)
                System.out.println("T" + System.currentTimeMillis() + " Pres: " + iqString + ": " + presence.toXML());
        }
View Full Code Here


        }

        try{
            connection.login(user, password);
            System.out.println("Logged in as " + connection.getUser());
            Presence presence = new Presence(Presence.Type.available);
            connection.sendPacket(presence);

        } catch (XMPPException ex){
            Logger.getLogger(JabberWorkItemHandler.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("Failed to log in as " + connection.getUser());
View Full Code Here

                LOG.info("Logging in anonymously to XMPP on connection: " + connection);
                connection.loginAnonymously();
            }

            // now lets send a presence
            connection.sendPacket(new Presence(Presence.Type.AVAILABLE));
        }
        return connection;
    }
View Full Code Here

            System.out.println("login failed");
            return false;
        }

        Roster roster = connection.getRoster();
        Presence presence = roster.getPresence(userXmppId);

        boolean isAvailable = false;

        if (!presence.isAvailable()) {
            isAvailable = checkforUserAvailability(roster, userXmppId);
        }

        if (!isAvailable) {
            if (log.isInfoEnabled()) {
View Full Code Here

     */
    public boolean checkforUserAvailability(Roster roster, String userXmppId) {
        boolean isAvailable = false;
        XmppSubscriptionListener listener = new XmppSubscriptionListener(userXmppId);
        roster.addRosterListener(listener);
        Presence presence = roster.getPresence(userXmppId);
        boolean status = isAvailable(roster, userXmppId);

        try {
            if (!status) {
                if (log.isInfoEnabled()) {
                    log.info("The User is not subscribed.");
                }
                boolean contactAddStatus = new XmppSubscriber().addContact(roster, userXmppId);
                if (contactAddStatus) {
                    if (log.isInfoEnabled()) {
                        log.info("User's Contact is added successfully..");
                    }
                } else {
                    if (log.isInfoEnabled()) {
                        log.info("Failed to add contact.");
                    }
                }

                if (!presence.isAvailable()) {
                    while (!listener.isOnline()) {
                        Thread.sleep(5000);
                    }
                }
                isAvailable = true;
View Full Code Here

     * @return
     */
    public boolean getUserResponse(XMPPConnection connection, String userName) {

        String response = null;
        Presence presence = connection.getRoster().getPresence(userName);

        if (presence.isAvailable()) {
            try {

                ChatManager chatManager = connection.getChatManager();
                Chat chat = chatManager.createChat(userName, null);
                PacketFilter filter = new AndFilter(new PacketTypeFilter(Message.class),
View Full Code Here

      connection.addPacketListener(new PacketListener() {
        public void processPacket(Packet packet) {
          System.out.println("Received packet: " + packet.toXML());
          if(!(packet instanceof Presence)) return;
          //System.out.println(" -- IS Presence packet");
          Presence presence = (Presence)packet;
          if(presence.getType() == Presence.Type.SUBSCRIBE) {
            Presence response = new Presence(Presence.Type.SUBSCRIBED);
            response.setTo(presence.getFrom());
            connection.sendPacket(response);
            Presence req = new Presence(Presence.Type.SUBSCRIBE);
            req.setTo(presence.getFrom());
            connection.sendPacket(req);
          } else if(presence.getType() == Presence.Type.AVAILABLE) {
            PresenceWrapper oldWrapper = presences.put(presence.getFrom(),new PresenceWrapper(new Date(),presence));
            if(oldWrapper != null)
              logPresence(oldWrapper);
View Full Code Here

        g.fillRect(0,0,image.getWidth(),image.getHeight());
        g.setColor(Color.BLACK);

        if(args.msg.getMsgParameter() > 0) {
          String jid = args.msg.getMsgParameter(0);
          Presence presence = bot.getPresenceOf(jid);
          g.drawImage(getImage(presence),1,(small ? 0 : 5),null);
          PresenceWrapper wrapper = null;
          if(presence == null) {
            for(String user : bot.presences.keySet()) {
              if(StringUtils.parseBareAddress(user).equals(StringUtils.parseBareAddress(jid))) {
                PresenceWrapper myWrapper = bot.presences.get(user);
                if(wrapper == null || wrapper.date.before(myWrapper.date))
                  wrapper = myWrapper;
              }
            }
          } else {
            wrapper = bot.presences.get(presence.getFrom());
          }
          if(wrapper != null && wrapper.presence != presence)
            wrapper = null;
          StringBuffer buf = new StringBuffer();
          if(!small) buf.append(jid).append(": ");
          if(presence == null)
            buf.append("Offline");
          else {
            if(presence.getType() == Presence.Type.AVAILABLE) {
              buf.append(presence.getMode().toString());
              //.append(" - ").append(presence.getStatus());
              if(!small && presence.getStatus() != null)
                g.drawString(presence.getStatus(),20,22);
            } else {
              buf.append("Offline");
              if(presence.getStatus() != null)
                buf.append(" ").append(presence.getStatus());
            }
            if(!small && wrapper != null) {
              buf.append(" (since ").append(new SimpleDateFormat("HH:mm:ss").format(wrapper.date)).append(")");
            }
          }
          g.drawString(buf.toString(),20,10);
        } else {
          g.drawString("ERROR: No JID ?!",20,10);
        }
       
       
        final ByteCounter byteCounter = new ByteCounter(); byteCounter.bytes = 0;
        try {
          ImageIO.write(image,"png",new OutputStream() {
            public void write(int b) throws IOException {
              args.res.print((char)b);
              byteCounter.bytes++;
            }
          });
          args.res.flush();
        } catch (IOException e) {
          e.printStackTrace();
        }
        msg.reply(new Message(Message.MSG_INTERN).setLineString("logsize " + byteCounter.bytes).parse());
        return 1;
      }
    };
    cmdH.setUserLevel(-1);
    kernel.registerCommandHandler(cmdH);
    cmdH = new StandAloneCommandHandler(getCommandPrefix() + "/statsImage") {
      class ByteCounter {
        public int bytes;
      }
      public StandAloneMessageHandler setUserLevel(int userlevel) {
        separator = "/";
        return super.setUserLevel(userlevel);
      }
      public Message getAddHandlerMessage() {
        return (new URLMessage()).setLineString(this.getCommand()).setMessagetype(Message.MSG_ADD_HANDLER).setFrom(this).parse();
      }
      public final Color availablecolors[] = { Color.gray,Color.blue,Color.red,Color.green,Color.yellow,Color.cyan,Color.magenta,Color.darkGray,Color.lightGray,Color.orange,Color.pink };
      public int handleMessage(Message msg) {
        HTTPServer.Data data = (HTTPServer.Data)msg.getFrom();
        //Args args = new Args(data.request,data.response,data.session,msg,data);
        final Args args = httpModule.createArgs(data,msg);
        if(args.msg.getMsgParameter() < 1) return 0;
        String jid = args.msg.getMsgParameter(0).toLowerCase();
        boolean showmodes = Boolean.parseBoolean(args.req.getValue("showmodes","true"));
        boolean showgames = Boolean.parseBoolean(args.req.getValue("showgames","true"));
        int width = Integer.parseInt(args.req.getValue("width","500"));
        int height = Integer.parseInt(args.req.getValue("height","500"));
        args.res.setHeader("content-type:","image/png");

        List<Map<String,Object>> getjidID = db.getListOfMaps("SELECT * FROM goim_stats_jid WHERE jid = ?",jid);
        if(getjidID.size() > 0) {
          final int DAYCOUNT = 14;
          final int MAXTYPES = 10;
          double[][] points = new double[ MAXTYPES ][ DAYCOUNT ];
          String[] labels = new String[MAXTYPES];
          String[] xAxisLabels = new String[DAYCOUNT];
          int jidID = (Integer)getjidID.get(0).get("id");
          List<Map<String, Object>> days = db.getListOfMaps("SELECT * FROM goim_stats_day WHERE jid = ? ORDER BY day DESC LIMIT 14",jidID);
          int i = DAYCOUNT - days.size();
          for(i = 0 ; i < (DAYCOUNT - days.size()) ; i++) {
            xAxisLabels[i] = "undefined ?";
          }
          i = DAYCOUNT-1;
          for(Map<String, Object> day : days) {
            if(showmodes) {
              List<Map<String, Object>> presences = db.getListOfMaps("SELECT * FROM goim_stats_presencestatus WHERE day = ?",day.get("id"));
              for(Map<String,Object> presence : presences) {
                String mode = (String)presence.get("mode");
                int duration = (Integer)presence.get("duration");
                int j = 0;
                for(; j < MAXTYPES ; j++) {
                  if(labels[j] == null) {
                    labels[j] = mode; break;
                  } else if(labels[j].equals(mode))
View Full Code Here

  }
  @AddinInterfaceMethodDefinition(userlevel = -1)
  public Template showStatus(HTTPModule.Args args) {
    if(args.msg.getMsgParameter() < 1) return null;
    String jid = args.msg.getMsgParameter(0).toLowerCase();
    Presence presence = bot.getPresenceOf(jid);
    args.context.put("presence",presence);
    args.context.put("jid",jid);
    args.context.put("statsWebInterface",this);
    List<Map<String, Object>> historyLog = db.getListOfMaps("SELECT * FROM goim_presence_log WHERE jid = ? ORDER BY start DESC LIMIT 50",jid);
    for(Map<String, Object> log : historyLog) {
View Full Code Here

  protected static Section createRosterEntry(FormToolkit tk, final GOIMAccount account, Roster roster, Composite parent, final RosterEntry entry, final String jid) {
    Label label = new Label(parent,SWT.NULL);
    Composite tmpParent = parent.getParent();
    final Composite p = tmpParent;
    if(p.getData("entryMenu") == null) p.setData("entryMenu",new EntryMenu(p));
    Presence presence = null;
    if(roster != null && entry != null) {
      presence = roster.getPresence(entry.getUser());
      if(presence == null)
        presence = roster.getPresence(StringUtils.parseBareAddress(entry.getUser()));
    }
View Full Code Here

TOP

Related Classes of org.jivesoftware.smack.packet.Presence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.