Package org.jivesoftware.smack.packet

Examples of org.jivesoftware.smack.packet.Message


    account.xmpp.getConnection().sendPacket(msg);
  }


  public Message createMessage() {
    Message msg = new Message(jid,Message.Type.CHAT);
    msg.setThread(thread);
    return msg;
  }
View Full Code Here


            Thread statsThread = new Thread(statsRunnable);
            statsThread.setDaemon(true);
            statsThread.start();

            // Now start flooding packets.
            Message testMessage = new Message(readerAddress);
            testMessage.setBody("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            while (!done) {
                con.sendPacket(testMessage);
                packetCount.getAndIncrement();
            }
        }
View Full Code Here

    /**
     * Processes the message packet
     */
    public void processPacket(Packet message) {
        final Message packet = (Message) message;

        verifiedFlag = false;
        decryptedFlag = false;
        if (packet.getType() != Message.Type.CHAT
                && packet.getType() != Message.Type.HEADLINE
                && packet.getType() != Message.Type.NORMAL)
            return;

        if (!started) {
            com.valhalla.Logger.debug("Message received, adding to queue.");
            messageQueue.add(message);
            return;
        }

        if (packet.getType() == Message.Type.NORMAL) {
            if (packet.getBody() == null)
                return;
            PacketExtension ex = packet.getExtension("x",
                    "http://jabber.org/protocol/muc#user");
            if (ex != null)
                return;

            ex = packet.getExtension("x", "jabber:x:conference");
            if (ex != null)
                return;

            ParsedBuddyInfo info = new ParsedBuddyInfo(packet.getFrom());
            String userId = info.getUserId().toLowerCase();
            if (!Settings.getInstance().getBoolean("showAgentMessages")
                    && userId.indexOf("@") == -1)
                return;

            if (BuddyList.getInstance().getBlockedUsers().containsKey(userId)) {
                com.valhalla.Logger.debug("Blocking user: " + userId);
                return;
            }

            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    MessagePanel window = new MessagePanel();
                    window.receiveMessage(packet);
                }
            });

            return;
        }

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {

                String from = packet.getFrom();

                //check to see if it's a private message
                if (BuddyList.getInstance().getTabFrame() != null
                        && BuddyList.getInstance().getTabFrame().isRoomOpen(
                                from.replaceAll("\\/.*", ""))) {
                    ChatRoomPanel window = BuddyList.getInstance()
                            .getTabFrame().getChatPanel(
                                    from.replaceAll("\\/.*", ""));
                    if (window != null)
                        initiatePMSession(window, packet);
                    return;
                }

                if (from != null) {
                    ParsedBuddyInfo info = new ParsedBuddyInfo(from);
                    String userId = info.getUserId().toLowerCase();
                    String resource = info.getResource();
                    String server = info.getServer();
                    from = info.getBareAddress();

                    BuddyStatus buddy = BuddyList.getInstance().getBuddyStatus(
                            userId);

                    if (BuddyList.getInstance().getBlockedUsers().containsKey(
                            userId)) {
                        com.valhalla.Logger.debug("Blocking user: " + userId);
                        return;
                    }

                    String messageSbj = packet.getSubject();
                    String messageBody = packet.getBody();
                    GnuPG gnupg = new GnuPG();
                    decryptedFlag = false;
                    verifiedFlag = false;
                    final SecureExtension xEncryptedExtension = (SecureExtension) packet
                            .getExtension("x", "jabber:x:encrypted");
                    if (xEncryptedExtension != null
                            && Settings.getInstance().getProperty(
                                    "gnupgSecretKeyID") != null) {
                        String decryptedMessageBody = gnupg
                                .decryptExtension(xEncryptedExtension.getData());
                        if (decryptedMessageBody != null) {
                            messageBody = decryptedMessageBody;
                            decryptedFlag = true;
                        } else {
                            messageBody = "[ "
                                    + resources
                                            .getString("gnupgErrorDecrypting")
                                    + ". "
                                    + resources.getString("reason")
                                    + ":\n "
                                    + gnupg.getErrorString().replaceAll("\n",
                                            " ") + " ]";
                        }
                    }

                    final SecureExtension xSignedExtension = (SecureExtension) packet
                            .getExtension("x", "jabber:x:signed");
                    if (xSignedExtension != null) {
                        String verifiedMessageId = gnupg.verifyExtension(
                                xSignedExtension.getData(), messageBody);

                        if (verifiedMessageId != null) {
                            verifiedMessageId = verifiedMessageId.replaceAll(
                                    "\n$", "");
                        }
                        if ((verifiedMessageId != null)
                                && (buddy.getPubKey() != null)
                                && (buddy.getPubKey()
                                        .endsWith(verifiedMessageId))) {
                            verifiedFlag = true;
                        }
                    }

                    if (!BuddyList.getInstance().checkConnection())
                        return;

                    // we don't want null messages to be displayed.
                    if ((messageBody == null))
                        return;

                    if (!Settings.getInstance().getBoolean("showAgentMessages")
                            && userId.indexOf("@") == -1)
                        return;

                    RosterEntry entry = ConnectorThread.getInstance()
                            .getRoster().getEntry(from);
                    if (entry != null)
                        userId = entry.getName();

                    if (buddy.getName() != null)
                        userId = buddy.getName();

                    if (buddy.getConversation() == null) {
                        if (packet.getType() == Message.Type.HEADLINE) {
                            buddy.setConversation(new HeadlinesPanel(buddy));
                        } else {
                            buddy.setConversation(new ChatPanel(buddy));
                        }
                    }

                    Date date = null;
                    String append = "";
                    DelayInformation inf = (DelayInformation) packet
                            .getExtension("x", "jabber:x:delay");
                    if (inf != null
                            && buddy.getConversation() instanceof ChatPanel) {

                            append = " (" + resources.getString( "offline" ).toLowerCase();
View Full Code Here

        remoteClient.connect();
        remoteClient.login(remoteUser.getNode(), remotePassword);
       
        Thread.sleep(3000);
       
        Message msg = new Message(remoteUser.getFullQualifiedName());
//        Message msg = new Message(localUser.getFullQualifiedName());
        msg.setBody("Hello world");
       
        localClient.sendPacket(msg);
//        remoteClient.sendPacket(msg);
       
       
View Full Code Here

   * @param packet
   * @return MessageContext
   * @throws AxisFault
   */
  private MessageContext createMessageContext(Packet packet) throws AxisFault {
    Message message = (Message) packet;

    Boolean isServerSide = (Boolean) message
        .getProperty(XMPPConstants.IS_SERVER_SIDE);
    String serviceName = (String) message
        .getProperty(XMPPConstants.SERVICE_NAME);
    String action = (String) message.getProperty(XMPPConstants.ACTION);
    MessageContext msgContext = null;

    TransportInDescription transportIn = configurationContext
        .getAxisConfiguration().getTransportIn("xmpp");
    TransportOutDescription transportOut = configurationContext
View Full Code Here

     * @param packet
     * @param msgContext
     * @throws AxisFault
     */
  private void buildSOAPEnvelope(Packet packet, MessageContext msgContext) throws AxisFault{
    Message message = (Message)packet;
    String xml = StringEscapeUtils.unescapeXml(message.getBody());
    InputStream inputStream = new ByteArrayInputStream(xml.getBytes());
    SOAPEnvelope envelope;
    try {
      envelope = TransportUtils.createSOAPMessage(msgContext, inputStream, "text/xml");
      if(msgContext.isServerSide()){
View Full Code Here

    //if on client side,create connection to xmpp server
    if(!msgCtx.isServerSide()){
      connectUsingClientOptions(msgCtx);
    }
   
    Message message = new Message();
    Options options = msgCtx.getOptions();     
      String serviceName = XMPPUtils.getServiceName(targetAddress);     
     
    if (targetAddress != null) {
      xmppOutTransportInfo = new XMPPOutTransportInfo(targetAddress);
      xmppOutTransportInfo.setConnectionFactory(connectionFactory);
    } else if (msgCtx.getTo() != null &&
        !msgCtx.getTo().hasAnonymousAddress()) {
      //TODO
    } else if (msgCtx.isServerSide()) {
      xmppOutTransportInfo = (XMPPOutTransportInfo)
      msgCtx.getProperty(Constants.OUT_TRANSPORT_INFO);
    }
     
     
    if(msgCtx.isServerSide()){
      xmppConnection = xmppOutTransportInfo.getConnectionFactory().getXmppConnection();
      message.setProperty(XMPPConstants.IS_SERVER_SIDE, new Boolean(false));
      message.setProperty(XMPPConstants.IN_REPLY_TO, xmppOutTransportInfo.getInReplyTo());
    }else{
      xmppConnection = xmppOutTransportInfo.getConnectionFactory().getXmppConnection();
      message.setProperty(XMPPConstants.IS_SERVER_SIDE, new Boolean(true));
      message.setProperty(XMPPConstants.SERVICE_NAME, serviceName);
      message.setProperty(XMPPConstants.ACTION, options.getAction());
    }
   
      if(xmppConnection == null){
        handleException("Connection to XMPP Server is not established.");       
      }
   
    //initialize the chat manager using connection
    ChatManager chatManager = xmppConnection.getChatManager();
    Chat chat = chatManager.createChat(xmppOutTransportInfo.getDestinationAccount(), null);   
   
    try
    {
      OMElement msgElement = msgCtx.getEnvelope();
      if (msgCtx.isDoingREST()) {
        msgElement = msgCtx.getEnvelope().getBody().getFirstElement();
      }
      boolean waitForResponse =
        msgCtx.getOperationContext() != null &&
        WSDL2Constants.MEP_URI_OUT_IN.equals(
            msgCtx.getOperationContext().getAxisOperation().getMessageExchangePattern());
     
     
      String soapMessage = msgElement.toString();
      //int endOfXMLDeclaration = soapMessage.indexOf("?>");
      //String modifiedSOAPMessage = soapMessage.substring(endOfXMLDeclaration+2);
      message.setBody(soapMessage)
     
      XMPPClientSidePacketListener xmppClientSidePacketListener = null;
      if(waitForResponse && !msgCtx.isServerSide()){
        PacketFilter filter = new PacketTypeFilter(message.getClass());       
        xmppClientSidePacketListener = new XMPPClientSidePacketListener(msgCtx);
        xmppConnection.addPacketListener(xmppClientSidePacketListener,filter);
      }     

      chat.sendMessage(message);
      log.debug("Sent message :"+message.toXML());

      //If this is on client side, wait for the response from server.
      //Is this the best way to do this?
      if(waitForResponse && !msgCtx.isServerSide()){
        while(! xmppClientSidePacketListener.isResponseReceived()){
          try {
            Thread.sleep(1000);
          } catch (InterruptedException e) {
            log.debug("Sleep interrupted",e);
          }   
        }
        xmppConnection.disconnect();
      }

    } catch (XMPPException e) {
      log.error("Error occurred while sending the message : "+message.toXML(),e);
      handleException("Error occurred while sending the message : "+message.toXML(),e);
    }finally{
      if(!msgCtx.isServerSide()){
        xmppConnection.disconnect();
      }
    }
View Full Code Here

        XmppMessage receivedMessage = (XmppMessage)receivedExchange.getIn();

        Assert.assertEquals("cheese header", 123, receivedMessage.getHeader("cheese"));
        Object body = receivedMessage.getBody();
        XmppRouteTest.LOG.debug("Received body: " + body);
        Message xmppMessage = receivedMessage.getXmppMessage();
        assertNotNull(xmppMessage);

        XmppRouteTest.LOG.debug("Received XMPP message: " + xmppMessage.getBody());
        return body;
    }
View Full Code Here

        /*
         * Creates a Message with an empty body. A body is needed because the
         * Message.Type.groupchat requires one.
         */
        try {
            Message message = muc.createMessage();
            message.setBody("");
            ChatStateExtension extension = new ChatStateExtension(newState);
            message.addExtension(extension);
            muc.sendMessage(message);
        } catch (Exception e1) {
            log.debug("Couldn't send state (" + e1.getMessage() + ")");
        }

View Full Code Here

        if (message == null)
            return;

        try {
            Message msg = muc.createMessage();
            msg.setBody(message);
            muc.sendMessage(msg);
        } catch (XMPPException e) {
            log.error("Error sending message to: " + getPreferences().getRoom());
        }
    }
View Full Code Here

TOP

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

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.